11
DÉVELOPPEMENT D’UN PROGRAMME 2/2 Spécialité Sciences de l’Ingénieur Cours 7 Modéliser et résoudre MR4 1 Introduction Dans un produit constitué d’une chaîne d’information et d’une chaîne de puissance, c’est le bloc Traiter qui, à partir de signaux fournis par des capteurs, délivrera des ordres permettant le pilotage d’actionneurs. Différentes technologies existent pour réaliser la fonction traitée. Elles peuvent être classées en deux catégories : la logique câblée ; la logique programmée. Cours 7 : Développement d’un programme 2/2_V0 Page 1/11

Spécialité DÉVELOPPEMENT D’UN PROGRAMME 2/2 I...6.2 Langage interprété Le langage de programmation est dit interprété lorsque le code source sera traduit au fur et à mesure

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Spécialité DÉVELOPPEMENT D’UN PROGRAMME 2/2 I...6.2 Langage interprété Le langage de programmation est dit interprété lorsque le code source sera traduit au fur et à mesure

DÉVELOPPEMENT D’UN PROGRAMME2/2

Spécialité

Sciences del’Ingénieur

Cours 7 Modéliser et résoudre MR4

1 Introduction

Dans un produit constitué d’une chaîne d’information et d’une chaîne de puissance, c’est le blocTraiter qui, à partir de signaux fournis par des capteurs, délivrera des ordres permettant le pilotaged’actionneurs.

Différentes technologies existent pour réaliser la fonction traitée. Elles peuvent être classées en deuxcatégories :

• la logique câblée ;• la logique programmée.

Cours 7 : Développement d’un programme 2/2_V0 Page 1/11

Page 2: Spécialité DÉVELOPPEMENT D’UN PROGRAMME 2/2 I...6.2 Langage interprété Le langage de programmation est dit interprété lorsque le code source sera traduit au fur et à mesure

1.1 Logique câblée

La logique câblée est utilisée (principalement) pour un produit « simple » et/ou ne nécessitant (depréférence) pas de modifications dans le temps. Le produit est constitué de capteurs, d’interrupteurs,etc, agissant directement sur des pré-actionneurs (contacteurs, distributeurs pneumatiques, etc)permettant le pilotage d’actionneurs (lampes, vérins, moteurs, etc).

1.2 Logique programmée

La logique programmée est utilisée autant pour un produit « simple » que « complexe ». Cettecatégorie utilise un ou des processeurs assurant la fonction traitée. Les capteurs, interrupteurs, etc, sont raccordés sur les ports d’entrée du processeur, et lespréactionneurs sur les ports de sortie.

Le pilotage des pré-actionneurs (contacteurs, distributeurs pneumatiques, etc) raccordés sur lesports de sortie du processeur ne dépend pas du câblage du produit mais du programme que vaexécuter le processeur.

Avantages de la catégorie « logique programmée » sur la « logique câblée » :• complexité des opérations et fonctions à réaliser ;• modularité du produit (programme aisément modifiable afin de changer le fonctionnement du

produit) ;• etc.

Ce cours traitera de la catégorie « logique programmée ».

Cours 7 : Développement d’un programme 2/2_V0 Page 2/11

Page 3: Spécialité DÉVELOPPEMENT D’UN PROGRAMME 2/2 I...6.2 Langage interprété Le langage de programmation est dit interprété lorsque le code source sera traduit au fur et à mesure

2 Mise au point d’un produit programmé, automatisé

Pour qu’un processeur pilote des pré-actionneurs, réalise des calculs, affiche un message sur unécran, etc, il faut qu’il soit programmé . Le langage que comprend le processeur est le« code machine » aussi appelé « langage machine » . Ce langage n’est pascompréhensible facilement par l’humain et est propre à chaque processeur.Le langage machine est une suite de 0 et de 1, soit un code binaire.L’exécution de ce langage machine est l’aboutissement d’un besoin initial (cahier des charges). Cetaboutissement va passer par trois étapes :

• étape initiale : cahier des charges ;◦ étape 1 : algorithme ou algorigramme ;◦ étape 2 : langage de programmation ;◦ étape 3 : compilation ou interprétation du programme ;

• étape finale : code machine.

L’algorithme ou l’algorigramme permet de restructurer un besoin initial en une suite d’instructions.. Cela permet de préparer la rédaction d’un programme qui sera

ensuite compilé ou interprété en fonction du langage de programmation utilisé. On obtient alors lecode machine permettant au processeur d’exécuter les tâches souhaitées.

3 Algorithme et algorigramme

3.1 Définition d’un algorithme

Un algorithme décrit une suite ordonnée d’actions et de décisions qu’il faut exécuter pour accomplirune tâche donnée.On parle aussi de langage algorithmique.L’algorithme peut être comparé à une recette de cuisine. Il faut suivre une succession d’étapesordonnées afin d’obtenir un plat, un dessert.

3.2 Définition d’un algorigramme

Un algorigramme est la représentation graphique d’un algorithme utilisant des symboles normalisés.

3.3 Variables

Un programme est amené à traiter de l’information venant d’organes divers et variés (capteurs,interrupteurs, clavier alpha-numérique, etc) pouvant varier dans le temps. .Cette information sera enregistrée dans le programme dans une « variable ».

L’action d’enregistrer une information dans une variable est appelée « affectation » Elle est

représentée en algorithme par le symbole « ← ».

Exemple : variable ← information du capteur

Cours 7 : Développement d’un programme 2/2_V0 Page 3/11

Page 4: Spécialité DÉVELOPPEMENT D’UN PROGRAMME 2/2 I...6.2 Langage interprété Le langage de programmation est dit interprété lorsque le code source sera traduit au fur et à mesure

3.4 Constantes

Un programme peut être amené à réaliser des calculs pour lesquels la grandeur utilisée ne varie pas.Cette grandeur est appellée une « constante ».

Exemple : nb_pi ← 3,14159

3.5 Structure d’un algorithme

3.5.1 Représentation

L’en-tête Algorithme : nom de l’algorithme

Les déclaration de variables, constantes, etc.

Constantes : liste de variables

Variables :liste de constantes

Autres :liste d’autres

Le corps Débutaction 1 / commentaire /opération 1action 2…action n

Fin

3.5.2 L’en-tête

La zone « en-tête » permet d’identifier l’algorithme.

3.5.3 Les déclarations

La zone « déclaration » permet de déclarer les variables, les constantes, ou d’autres éléments àdéclarer qui seront utilisés dans l’algorithme.

3.5.4 Le corps

La zone « corps » contient la suite ordonnée d’actions et de décisions que l’algorithme va devoirexécuter pour accomplir une tâche.

3.5.5 Éléments représentatifs du langage

Dans le langage algorithmique, on distingue trois familles de mots :• les mots-clés ;• les mots instructions ;• les mots délimiteurs.

Cours 7 : Développement d’un programme 2/2_V0 Page 4/11

Page 5: Spécialité DÉVELOPPEMENT D’UN PROGRAMME 2/2 I...6.2 Langage interprété Le langage de programmation est dit interprété lorsque le code source sera traduit au fur et à mesure

3.5.5.1 Mots-clés

Les mots-clés précisent le type de structure algorithmique utilisée.

Exemple : Si _____ Alors _____ Sinon : désignant une structure alternative ;Répéter _____ Jusqu’à _____ : désignant une structure itérative.

Un mot-clé est toujours suivi :• soit d’une expression conditionnelle (a < b) ;• soit d’un ou de plusieurs mots instructions.

3.5.5.2 Mots instructions

Les mots instructions caractérisent la nature des opérations à effectuer. Il font appel à des verbesd’action à l’infinitif.

Exemple : • Lire ;• Écrire ;• Faire ;• Afficher ;• Etc.

Un mot instruction est toujours suivi :• de la désignation de l’objet sur lequel il s’applique ;• éventuellement de la description de l’opération à appliquer à l’objet.

Exemple : Lire capteur_S1Faire age ← age + 1

3.5.5.3 Mots délimiteurs

Les mots délimiteurs fixent :• les bornes d’entrées et de sorties de l’algorithme ;• les bornes d’entrées et de sorties des différentes structures utilisées dans l’algorithme

si ces bornes ne sont pas implicitement définies par la structure elle même.

Exemple : Début /entrée de l’algorithme/

Si condition /entrée de la structure/Alors

Mot instructionFin Si /sortie de la structure/

Fin /sortie de l’algorithme/

Cours 7 : Développement d’un programme 2/2_V0 Page 5/11

Page 6: Spécialité DÉVELOPPEMENT D’UN PROGRAMME 2/2 I...6.2 Langage interprété Le langage de programmation est dit interprété lorsque le code source sera traduit au fur et à mesure

3.5.6 L’indentation

Afin de faciliter la lecture d’un algorithme, d’un programme, il est important de l’indenter .Cela consiste à ajouter une tabulation en début de l’instruction qui suit une nouvelle structure et de laretirer à la fin de la structure.

Exemple : Structure indentée : Structure non indentée :

DébutMot instruction 1Mot instruction 2Si condition 1

AlorsMot instruction 3

SinonMot instruction 4

Fin SiFin

DébutMot instruction 1Mot instruction 2Si condition 1AlorsMot instruction 3SinonMot instruction 4Fin SiFin

De l’exemple, on peut conclure qu’il est plus facile de lire un algorithme indenté que non indenté.

3.6 Structure d’un algorigramme

Un algorigramme est un graphique qui se lit de haut en bas et de gauche à droite.Il fait appel à des symbole normalisés.

Symbole : Désignation : Symbole : Désignation :

Début et Fin d’un algorigramme. Test.

Symbole général de traitement, instruction, opération.

Symbole utilisé lorsqu’il n’existe pas de symbole normalisé pour une tâche, une fonction.

Lire ou Écrire sur une entrée ou une sortie.

Sous programme.

Liaison entre les différents symboles d’un algorigramme.

Symbole de renvoi à une autre partie de l’algorigramme quand celui-ci est de taille importante.

Délai, attente Commentaire

Cours 7 : Développement d’un programme 2/2_V0 Page 6/11

Page 7: Spécialité DÉVELOPPEMENT D’UN PROGRAMME 2/2 I...6.2 Langage interprété Le langage de programmation est dit interprété lorsque le code source sera traduit au fur et à mesure

3.7 Structures algorithmiques fondamentales

L’enchaînement ordonné d’actions et de décisions dans un algorithme peuvent être organiséessuivant trois familles de structures algorithmiques :

• structure linéaire ;• structure alternative ;• structure itérative (ou répétitive).

3.7.1 Structure linéaire

La structure linéaire se caractérise par une suite d’actions à exécuter successivement dans l’ordreénoncé.

Exemple : Algorithme : Algorigramme :

DébutInstruction 1Instruction 2…Instruction n

Fin

3.7.2 Structure alternative

La structure alternative n’offre que deux issues possibles à la poursuite de l’algorithme. Ces deuxissues s’excluent mutuellement.

Exemple : Algorithme : Algorigramme :

DébutSi condition vraie

FaireInstruction 1

SinonInstruction 2

Fin SiFin

Cours 7 : Développement d’un programme 2/2_V0 Page 7/11

Page 8: Spécialité DÉVELOPPEMENT D’UN PROGRAMME 2/2 I...6.2 Langage interprété Le langage de programmation est dit interprété lorsque le code source sera traduit au fur et à mesure

3.7.3 Structure itérative

La structure itérative se caractérise par une répétition de l’exécution d’un traitement, d’une opération.

Il existe trois types de structures itératives pouvant être classées dans deux familles :• famille 1 : le nombre de répétitions n’est pas connu :

◦ structure Répéter _____ Jusqu’à _____ ;◦ structure Tant que _____ Faire _____ ;

• famille 2 : le nombre de répétitions est connu :◦ structure Pour _____ Faire.

3.7.3.1 Structure Répéter Jusqu’à

Dans cette structure le traitement est exécuté une première fois, puis sa répétition se poursuit jusqu’àce que la condition soit vérifiée.

Exemple : Algorithme : Algorigramme :

DébutRépéter

InstructionJusqu’à Condition vérifiée

Fin

3.7.3.2 Structure Tant que Faire

Dans cette structure on commence par tester la condition. Si elle est vérifiée, le traitement estexécuté.

Exemple : Algorithme : Algorigramme :

DébutTant que Condition vérifiée Faire

InstructionFin Tant que

Fin

Cours 7 : Développement d’un programme 2/2_V0 Page 8/11

Page 9: Spécialité DÉVELOPPEMENT D’UN PROGRAMME 2/2 I...6.2 Langage interprété Le langage de programmation est dit interprété lorsque le code source sera traduit au fur et à mesure

3.7.3.3 Structure Pour Faire

Dans cette structure, la sortie de la boucle d’itération s’effectue lorsque le nombre souhaité estatteint.

Exemple : Algorithme : Algorigramme :

DébutPour i de Vinitiale à Vfinale par pas de (±)1 Faire

InstructionFin

4 Type de base

Lors de la rédaction d’un programme, il est important de connaître le « type » de la variable ou de laconstante. Cela permet de connaître les opérations que l’on va pouvoir réaliser avec ces variables etconstantes et d’anticiper les résultats. Il existe cinq types de bases :

• l’entier ;• le réel ;• le booléen ;• le caractère ;• la chaîne de caractères.

4.1 L’entier

Le type « entier » est un nombre qui n’a pas de décimale. Il peut être positif ou négatif.

Exemple : 100, 9, 1, 0, -2, -5, etc.

4.2 Le réel

Le type « réel » est un nombre qui peut être entier et qui peut avoir des décimales. Il peut être positifou négatif.

Exemple : 100, 9.75, 1, 0 -2.05, -3.14, -5, etc.

4.3 Le booléen

Le type « booléen » est une variable ne pouvant prendre que deux états : Vrai ou Faux.

Cours 7 : Développement d’un programme 2/2_V0 Page 9/11

Page 10: Spécialité DÉVELOPPEMENT D’UN PROGRAMME 2/2 I...6.2 Langage interprété Le langage de programmation est dit interprété lorsque le code source sera traduit au fur et à mesure

4.4 Le caractère

Le type « caractère » est une variable à laquelle est affecté un unique caractère. Il peut être alpha-numérique, ce peut être un symbole de ponctuation, etc.

Exemple : a, Z, *, !, #, 4, etc.

4.5 La chaîne de caractères

Le type « chaîne de caractères » est une suite de symboles alpha-numériques, de ponctuations, etc.

Exemple : « Bonjour tout le monde », « 42*5=210 », « Stop ! », etc.

5 langage de programmation

L’étape qui suit la rédaction de l’algorithme ou de l’algorigramme est l’écriture du programme enutilisant un langage de programmation. Il en existe une multitude : Java, C, Python, PHP, Java Script, Arduino, etc.

6 Compilateur et interpréteur

Les langages de programmation peuvent être classés en deux catégories :• les langages compilés ;• les langages interprétés.

6.1 Langage compilé

Le langage de programmation est dit compilé lorsque le code source (programme informatique écritaprès l’algorithme) sera converti une seule fois par le compilateur (logiciel) afin d’obtenir le codemachine qui pourra être exécuté dans le processeur.

Exemple de langage compilé : C, C++, Arduino, Visual Basic.Net, Java, etc.

Cours 7 : Développement d’un programme 2/2_V0 Page 10/11

Page 11: Spécialité DÉVELOPPEMENT D’UN PROGRAMME 2/2 I...6.2 Langage interprété Le langage de programmation est dit interprété lorsque le code source sera traduit au fur et à mesure

6.2 Langage interprété

Le langage de programmation est dit interprété lorsque le code source sera traduit au fur et à mesureen code machine par un interpréteur (logiciel) à chaque exécution du programme.

Exemple de langage interprété : Python, PHP, HTML et CSS, Java, etc.

6.2.1 Avantages inconvénients

Langagecompilé

Langageinterprété :

Rapidité d’exécution :

Rapidité de modification :

Interopérabilité :

Cours 7 : Développement d’un programme 2/2_V0 Page 11/11