Module

Techniques de programmation structurée
Séquence 2
Comprendre l’utilité de l’optimisation d’un
programme
Détail de la séquence :
Structure d'un algorithme et normes de représentation.
Rappel de l'algèbre de Boole, valeurs de vérités et tables de
vérités des opérateurs logiques : ET, OU, PAS.
Règles de décomposition des traitements et stratégies d’éclatements.
Instructions de base d'un algorithme : lecture, écriture, affectation.
Règles du typage des données : Portée, champ des valeurs,
opérateurs, instructions alternatives et répétitives
Mr Zaryouch - TSSR1 - Séq 2 du module
Techniques de programmation structurée

1

Module
Techniques de programmation structurée
I-

Structure d'un algorithme et normes de
représentation :
Structure d’un algorithme :
Il s’agit d’indiquer les différents éléments par lesquels un
algorithme peut être constitué en respectant la structure
indiquée dans le diapo suivant :

Mr Zaryouch - TSSR1 - Séq 2 du module
Techniques de programmation structurée

2

Structure d’un algorithme

Mr Zaryouch - TSSR1 - Séq 2 du module
Techniques de programmation structurée

3

3. Les déclarations forment une liste exhaustive des objets qui sont utilisés et manipulés dans le cors de l’algorithme. …) à exécuter. L’entête permet tout simplement d’identifier un algorithme. Cette liste est placée au début de l’algorithme. Mr Zaryouch .Séq 2 du module Techniques de programmation structurée 4 . opérations. 2. Le corps contient les tâches (instructions. 4.TSSR1 .Module Techniques de programmation structurée I- Structure d'un algorithme et normes de représentation : Structure d’un algorithme : Explication : 1. Les commentaires permettent une interprétation aisée de l’algorithme.

Séq 2 du module Techniques de programmation structurée 5 . Ces différentes actions écrites en langage naturel et en dehors de tout langage de programmation s'appelle un algorithme. il faut décrire de façon précise les différentes actions à réaliser pour résoudre ce problème. Mr Zaryouch . vous allez essayer de trouver une méthode permettant de résoudre ce problème. En fait.TSSR1 .Module Techniques de programmation structurée I- Structure d'un algorithme et normes de représentation : Les normes pour représenter un algorithme : Lorsqu'un problème se pose et que vous voulez le résoudre au moyen d'un ordinateur.

On peut construire n'importe quel algorithme partir d'un petit nombre de "briques" élémentaires associées suivant des règles strictes.Séq 2 du module Techniques de programmation structurée 6 . sinon par leur valeur). Mr Zaryouch .TSSR1 .Module Techniques de programmation structurée I- Structure d'un algorithme et normes de représentation : Les normes pour représenter un algorithme : Un algorithme indique donc les actions à faire et l'ordre dans lequel ces actions doivent se faire pour obtenir les résultats souhaités à partir de données connues (au moins dans leur nature.

Nous retiendrons les trois structures suivantes: La séquence. Nous rappelons qu'un programme est une suite d'instructions exécutées les unes à la suite des autres. Mr Zaryouch .Séq 2 du module Techniques de programmation structurée 7 . le choix et la répétition.TSSR1 . C'est cela que nous appelons la séquence. C'est à dire une suite d'actions mises dans un certain ordre et qui doivent s’exécuter les unes à la suite des autres et dans un ordre précis.Module Techniques de programmation structurée I- Structure d'un algorithme et normes de représentation : Les normes pour représenter un algorithme : Ces "briques" sont les structures de base des algorithmes et des programmes construits à partir d'eux.

Module
Techniques de programmation structurée
I-

Structure d'un algorithme et normes de
représentation :
Les normes pour représenter un algorithme :
Avec les instructions conditionnelles et la sélection, nous avons
vu une manière d'apporter des modifications à la séquence en y
incluant des actions qui ne seront exécutées que suivant
certaines conditions. C'est ce qu'on appelle une structure de
choix.
Les structures de répétitions, qui sont au nombre de trois,
permettront quand à elles de répéter certaines parties de
l'algorithme plusieurs fois. Ces structures seront vues par la
suite.
Mr Zaryouch - TSSR1 - Séq 2 du module
Techniques de programmation structurée

8

Module
Techniques de programmation structurée
III-

Rappel de l'algèbre de Boole, valeurs de vérités
et tables de vérités des opérateurs logiques :
ET, OU, PAS :
Définition de l’algèbre Boole :
Boole est un mathématicien britannique, né en 1815 et
mort en 1864. L’algèbre de Boole est une analyse
mathématique permettant de comprendre le
fonctionnement des circuits logiques.

Mr Zaryouch - TSSR1 - Séq 2 du module
Techniques de programmation structurée

9

Module
Techniques de programmation structurée
III-

Rappel de l'algèbre de Boole, valeurs de vérités
et tables de vérités des opérateurs logiques :
ET, OU, PAS :
Définition d’un circuit logique :
C’est un circuit électronique permettant de réaliser une ou
plusieurs fonctions logiques appelées aussi portes
logiques.

Mr Zaryouch - TSSR1 - Séq 2 du module
Techniques de programmation structurée

10

Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole. les signaux électriques ont une amplitude variant continuellement.Séq 2 du module Techniques de programmation structurée 11 . Cette amplitude peut prendre un nombre très élevé de valeurs entre le minimum et le maximum. Dans un circuit analogique.TSSR1 . OU. Mr Zaryouch . valeurs de vérités et tables de vérités des opérateurs logiques : ET. PAS : Définition d’un circuit logique : (suite) Les circuits électroniques sont classés en deux grandes catégories : les circuits digitaux (numériques) et les circuits analogiques.

Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole. par exemple.TSSR1 . OU. suivant le niveau de la voix ou de la musique à amplifier. est un circuit analogique. valeurs de vérités et tables de vérités des opérateurs logiques : ET. L'amplitude varie sans cesse. Un circuit digital est un circuit dans lequel les signaux ne peuvent avoir que deux niveaux. Il amplifie aussi bien les signaux faibles que les signaux forts. soit le niveau 1. soit le niveau 0. Mr Zaryouch .Séq 2 du module Techniques de programmation structurée 12 . PAS : Définition d’un circuit logique : (suite) Un amplificateur basse fréquence.

valeurs de vérités et tables de vérités des opérateurs logiques : ET.Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole. par exemple. PAS : Définition d’un circuit logique : (suite) Un interrupteur. mais elle existera toujours !!! Mr Zaryouch .TSSR1 .Séq 2 du module Techniques de programmation structurée 13 . Les circuits logiques utilisent la technique digitale. OU. Les circuits logiques ont besoin d’une alimentation pour fonctionner. cette alimentation ne sera pas représentée pour ne pas compliquer les schémas. est un circuit digital.

Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole. valeurs de vérités et tables de vérités des opérateurs logiques : ET. OU. PAS : Définition d’un circuit logique : (suite) Mr Zaryouch .Séq 2 du module Techniques de programmation structurée 14 .TSSR1 .

En associant les deux. L’état 0 correspondra au potentiel électrique le plus bas. un état qui indique la présence du courant ou de la tension. on a deux symboles possibles : 0 et 1.TSSR1 . indiquera l’absence du courant ou de la tension.Séq 2 du module Techniques de programmation structurée 15 .Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole. OU. Mr Zaryouch . valeurs de vérités et tables de vérités des opérateurs logiques : ET. En électricité. on obtient deux choix possibles : Une logique dite positive si l’on associe le potentiel électrique le plus élevé à l’état 1. on a deux possibilités : présence ou absence de courant ou de tension. PAS : La logique binaire : En logique binaire.

on travaille en logique positive. PAS : La logique binaire : (suite) Une logique dite négative si l'on associe le potentiel électrique le plus élevé à l'état logique 0.Séq 2 du module Techniques de programmation structurée 16 . OU. D’une façon générale. Mr Zaryouch .Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole. dans les schémas logiques. un état qui indique la présence du courant ou de la tension.TSSR1 . Le niveau logique 0 correspond à la tension 0V (zéro volt) et le niveau logique 1 correspond à une tension positive (5V ou 12V par exemple). valeurs de vérités et tables de vérités des opérateurs logiques : ET. L’état 1 indiquera l’absence du courant ou de la tension.

valeurs de vérités et tables de vérités des opérateurs logiques : ET. PAS : Chronogramme : On représente les états logiques en fonction du temps : Mr Zaryouch .TSSR1 . OU.Séq 2 du module Techniques de programmation structurée 17 .Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole.

En général. PAS : Variable logique : Une variable logique ou binaire. et la valeur 1 quand K est fermé. Mr Zaryouch . notée X.Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole. valeurs de vérités et tables de vérités des opérateurs logiques : ET. il est ouvert.TSSR1 .Séq 2 du module Techniques de programmation structurée 18 . OU. ou il est fermé. on attribue la valeur 0 à cette variable quand K est ouvert. est une grandeur qui ne peut prendre que deux états (0 ou 1): X = 0 si X ≠ 1 X = 1 si X ≠ 0 Un interrupteur K ne peut prendre que deux états. L'état de cet interrupteur peut être décrit par une variable logique X.

ET.Séq 2 du module Techniques de programmation structurée 19 .Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole. Mr Zaryouch . NON. valeurs de vérités et tables de vérités des opérateurs logiques : ET. (et son complément). OU Inclusif. (et son complément). (et son complément).TSSR1 . OU Exclusif. PAS : Opérateurs logiques : On définit cinq opérateurs logiques de base : OUI. OU.

TSSR1 . …) qui sont reliées entre elles par des opérations. e2.Séq 2 du module Techniques de programmation structurée 20 .Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole. PAS : Fonction logique : Une fonction logique est un ensemble de variables (e1. OU. S est une fonction des variables e1 et e2. Exemple : Si S dépend de e1 et e2. On peut écrire : S=e1+e2 Mr Zaryouch . elle pourra à son tour être considérée comme une variable vis-à-vis d'une autre fonction logique (fonction de fonctions). e3. valeurs de vérités et tables de vérités des opérateurs logiques : ET. Une telle fonction logique ne peut prendre que deux valeurs (0 ou 1).

Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole. Une telle fonction quand elle possède la valeur 0 à sa sortie (S=0). on dit qu’elle est fausse. PAS : Table de vérité : La fonction S peut-être définie à partir d'un tableau appelé TABLE DE VERITE. valeurs de vérités et tables de vérités des opérateurs logiques : ET. on dit qu’elle est vraie. qui indique la valeur de S. selon les valeurs de e1 et de e2. Quand elle possède la valeur 1 à sa sortie (S=1). Mr Zaryouch . OU.Séq 2 du module Techniques de programmation structurée 21 .TSSR1 . on remarque qu’une telle fonction ne peut être fausse que lorsque toutes ses variables (en entrée) sont toutes fausses. D’après cette table de vérité. Chaque table de vérité définit une fonction logique.

TSSR1 .Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole. PAS : 1. valeurs de vérités et tables de vérités des opérateurs logiques : ET. En électricité. OU. La fonction OUI : Elle effectue l’égalité entre deux variables et sert à transmettre et à amplifier l’information. elle est représentée par le schéma suivant : Mr Zaryouch .Séq 2 du module Techniques de programmation structurée 22 .

On peut donc écrire la relation ou l’équation S=a. Donc un contact travail représente la variable.Séq 2 du module Techniques de programmation structurée 23 . valeurs de vérités et tables de vérités des opérateurs logiques : ET. Si on appuie sur a (a=1). Table de vérité de la fonction OUI : Mr Zaryouch .TSSR1 . la lampe s'allume (S=1). La fonction OUI : (suite) Au repos (a=0). PAS : 1.Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole. la lampe est éteinte (S=0). OU.

PAS : 1.Séq 2 du module Techniques de programmation structurée 24 . OU.Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole. La fonction OUI : (suite) En électronique. valeurs de vérités et tables de vérités des opérateurs logiques : ET. cette fonction est représentée par le schéma suivant : Mr Zaryouch .TSSR1 .

Séq 2 du module Techniques de programmation structurée 25 .TSSR1 . valeurs de vérités et tables de vérités des opérateurs logiques : ET. OU.Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole. PAS : Les différentes fonctions logiques de base : Mr Zaryouch .

Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole.Séq 2 du module Techniques de programmation structurée 26 .TSSR1 . PAS : Les différentes fonctions logiques de base : Mr Zaryouch . valeurs de vérités et tables de vérités des opérateurs logiques : ET. OU.

PAS : 1.TSSR1 .Séq 2 du module Techniques de programmation structurée 27 . OU. La fonction OUI : (suite) Les chronogrammes pour la fonction OUI : Mr Zaryouch .Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole. valeurs de vérités et tables de vérités des opérateurs logiques : ET.

TSSR1 . La fonction NON : La fonction NON (ou négation) effectue le complément logique (ou l'inverse) d'une variable. et le complément de A barre est égale à A.Séq 2 du module Techniques de programmation structurée 28 . Mr Zaryouch . On le note en ajoutant une barre sur la variable ( x est le complément de x et se lit x barre).Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole. valeurs de vérités et tables de vérités des opérateurs logiques : ET. 0 = 1. PAS : 2. On en déduit que le complément de A est égale à A barre ( A). Cette définition conduit aux relations suivantes : 1 = 0. OU.

PAS : 2. valeurs de vérités et tables de vérités des opérateurs logiques : ET. OU. Et si A = 1. alors A = 0. Exemple : A = A.Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole. Il est possible de complémenter plusieurs fois une variable ou un groupe de variables.Séq 2 du module Techniques de programmation structurée 29 . si A =0. Mr Zaryouch . La fonction NON : (suite) Donc.TSSR1 . alors A = 1.

Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole. cette fonction peut être représentée par le schéma suivant : Mr Zaryouch . La fonction NON : (suite) En électricité.Séq 2 du module Techniques de programmation structurée 30 .TSSR1 . OU. valeurs de vérités et tables de vérités des opérateurs logiques : ET. PAS : 2.

Mr Zaryouch . On peut donc écrire S=a . valeurs de vérités et tables de vérités des opérateurs logiques : ET. PAS : 2. la lampe est allumée (S=1) . La fonction NON : (suite) Au repos (a=0).TSSR1 . Table de vérité : L’équation est représentée par : S = a. si on appuie sur a (a=1). Donc un contact repos représente le complément de la variable. la lampe s'éteint (S=0).Séq 2 du module Techniques de programmation structurée 31 . OU.Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole.

Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole.Séq 2 du module Techniques de programmation structurée 32 . OU.TSSR1 . valeurs de vérités et tables de vérités des opérateurs logiques : ET. La fonction NON : (suite) En électronique : Mr Zaryouch . PAS : 2.

Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole.TSSR1 . La fonction NON : (suite) Chronogrammes : Mr Zaryouch .Séq 2 du module Techniques de programmation structurée 33 . OU. PAS : 2. valeurs de vérités et tables de vérités des opérateurs logiques : ET.

’ entre les deux variables x et y. On la note par le signe ‘. aussi appelée intersection. OU. valeurs de vérités et tables de vérités des opérateurs logiques : ET. mais plus simplement xy ou x.TSSR1 . Mr Zaryouch .Séq 2 du module Techniques de programmation structurée 34 . ou fonction ET de ces deux variables. La fonction ET (AND) : Cette opération. appliquée à deux variables.y. PAS : 3. conduit au produit. Le résultat est égal à 1 si les deux variables valent 1.Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole.

PAS : 3.TSSR1 . OU.Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole. valeurs de vérités et tables de vérités des opérateurs logiques : ET. La fonction ET (AND) : En électricité : Mr Zaryouch .Séq 2 du module Techniques de programmation structurée 35 .

Séq 2 du module Techniques de programmation structurée 36 . La fonction ET (AND) : (suite) Au repos. On est donc en présence d'une fonction ET. la lampe est éteinte.Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole.TSSR1 . la lampe s'allume seulement si l'on appuie sur a et b. valeurs de vérités et tables de vérités des opérateurs logiques : ET. Le ET en électricité se réalise en mettant les contacts en série. Mr Zaryouch . PAS : 3. OU.

Cette fonction est vraie (S=1) lorsque toutes ses variables (a et b) en entrée sont vraies (a=1 et b=1).b). valeurs de vérités et tables de vérités des opérateurs logiques : ET. OU. Le ET logique est équivalent à une multiplication (l’équation : S = a. il faut que toutes les variables d'entrées soient à 1. PAS : 3. pour que S soit à 1. La fonction ET (AND) : (suite) Table de vérité : En généralisant.TSSR1 .Séq 2 du module Techniques de programmation structurée 37 . Mr Zaryouch .Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole.

Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole. valeurs de vérités et tables de vérités des opérateurs logiques : ET. OU. La fonction ET (AND) : (suite) En électricité : Mr Zaryouch .Séq 2 du module Techniques de programmation structurée 38 . PAS : 3.TSSR1 .

Séq 2 du module Techniques de programmation structurée 39 .A = A 0. PAS : 3.TSSR1 .A = 0 Mr Zaryouch .A = 0 1. valeurs de vérités et tables de vérités des opérateurs logiques : ET.A = A A. OU.Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole. La fonction ET (AND) : (suite) Les propriétés : A.

La fonction ET (AND) : (suite) Chronogrammes : Mr Zaryouch .Séq 2 du module Techniques de programmation structurée 40 .TSSR1 . OU. valeurs de vérités et tables de vérités des opérateurs logiques : ET.Module Techniques de programmation structurée III- Rappel de l'algèbre de Boole. PAS : 3.

Module
Techniques de programmation structurée
II-

Rappel de l'algèbre de Boole, valeurs de vérités
et tables de vérités des opérateurs logiques :
ET, OU, PAS :
La fonction OU (Inclusif) = OR :
Cette opération, aussi appelée réunion, appliquée à deux
variables, conduit à la somme, ou fonction OU de ces deux
variables.
On la note par le signe U entre les deux variables x U y, ce
qui évite de la confondre avec l'addition arithmétique, mais
en pratique, on la notera sous la forme x+y.
Le résultat est égal à 1 si l'une ou l'autre des variables ou
les deux valent 1.
Mr Zaryouch - TSSR1 - Séq 2 du module
Techniques de programmation structurée

41

Module
Techniques de programmation structurée
II-

Rappel de l'algèbre de Boole, valeurs de vérités
et tables de vérités des opérateurs logiques :
ET, OU, PAS :
La fonction OU (Inclusif) = OR :
En électricité :

Mr Zaryouch - TSSR1 - Séq 2 du module
Techniques de programmation structurée

42

Module
Techniques de programmation structurée
II-

Rappel de l'algèbre de Boole, valeurs de vérités
et tables de vérités des opérateurs logiques :
ET, OU, PAS :
La fonction OU (Inclusif) = OR :
Au repos, la lampe est éteinte; La lampe s'allume si l'on
appuie sur a ou sur b. On est donc en présence d'une
fonction OU.
Le OU en électricité se réalise en mettant les contacts en
parallèle.

Mr Zaryouch - TSSR1 - Séq 2 du module
Techniques de programmation structurée

43

Le OU logique est équivalent à une addition .TSSR1 . car a et b sont des états et pas des valeurs numériques. OU. PAS : La fonction OU (Inclusif) = OR : Table de vérité : (l’équation : S = a + b) En généralisant.Séq 2 du module Techniques de programmation structurée 44 .Module Techniques de programmation structurée II- Rappel de l'algèbre de Boole. il suffit qu'une des variables d'entrées soit à 1 pour que la sortie soit à 1. Mr Zaryouch .sauf la dernière ligne. valeurs de vérités et tables de vérités des opérateurs logiques : ET.

Module Techniques de programmation structurée II- Rappel de l'algèbre de Boole. PAS : La fonction OU (Inclusif) = OR : En électronique : Mr Zaryouch . OU.Séq 2 du module Techniques de programmation structurée 45 . valeurs de vérités et tables de vérités des opérateurs logiques : ET.TSSR1 .

Module Techniques de programmation structurée II- Rappel de l'algèbre de Boole. valeurs de vérités et tables de vérités des opérateurs logiques : ET. OU. PAS : La fonction OU (Inclusif) = OR : Les propriétés : A+A=A A+A=1 1+A=1 0+A=A Mr Zaryouch .TSSR1 .Séq 2 du module Techniques de programmation structurée 46 .

valeurs de vérités et tables de vérités des opérateurs logiques : ET. OU.Module Techniques de programmation structurée II- Rappel de l'algèbre de Boole.Séq 2 du module Techniques de programmation structurée 47 .TSSR1 . PAS : La fonction OU (Inclusif) = OR : Chronogrammes : Mr Zaryouch .

règles qui forment les principes de la « Programmation Structurée ».Module Techniques de programmation structurée III- Règles de décomposition des traitements et stratégies d’éclatements : La construction des algorithmes informatiques suit une méthode appliquant un certain nombre de règles énumérées ci-dessous (voir le diapo suivant).Séq 2 du module Techniques de programmation structurée 48 . Mr Zaryouch .TSSR1 .

TSSR1 .Module Techniques de programmation structurée III- Règles de décomposition des traitements et stratégies d’éclatements : La méthode Top-Down : Nous avons vu précédemment une règle : pour construire un algorithme. Mr Zaryouch . on emploie une méthode « Top-Down » qui consiste à représenter notre traitement par une décomposition successive de blocs. Nous ne reviendrons pas sur le principe de cette règle que nous appliquerons dans la suite de ce support de cours lorsque nous construirons des algorithmes informatiques complexes.Séq 2 du module Techniques de programmation structurée 49 .

TSSR1 . Exemple : L’algorithme du calcul d’un salaire et l’algorithme de l’édition (ou l’affichage) de ce même salaire seront formulés dans des blocs différents. cela signifie que la décomposition ne devra pas mélanger des traitements de type différents.Séq 2 du module Techniques de programmation structurée 50 .Module Techniques de programmation structurée III- Règles de décomposition des traitements et stratégies d’éclatements : Modularité : Cette hiérarchisation devra respecter un autre principe « La Modularité ». Mr Zaryouch .

etc. Chaque donnée sera caractérisée par : un nom mnémonique (variable) un type (numérique...Module Techniques de programmation structurée III- - Règles de décomposition des traitements et stratégies d’éclatements : Description des Données : Toutes les données manipulées par l’algorithme devront être systématiquement décrites sous forme d’un pseudo code. caractère . Mr Zaryouch .Séq 2 du module Techniques de programmation structurée 51 .) une longueur (taille).TSSR1 ..

TSSR1 .Module Techniques de programmation structurée III- - Règles de décomposition des traitements et stratégies d’éclatements : Description des Données : On distinguera : les données en entrée : il s’agit des informations à traiter dans notre algorithme les données en sortie : il s’agit des résultats que notre algorithme doit produire les données de travail : ce sont des variables temporaires de stockage d‘informations nécessaires à la réalisation de l’algorithme. Mr Zaryouch .Séq 2 du module Techniques de programmation structurée 52 .

mais à la lisibilité de l’information manipulée. le nombre de données de travail qui seront définies peut être variable.Module Techniques de programmation structurée III- Règles de décomposition des traitements et stratégies d’éclatements : Description des Données : En fonction de l’algorithme trouvé. que la qualité d’un algorithme ne se mesure pas au nombre de données de stockage utilisées.Séq 2 du module Techniques de programmation structurée 53 . Mr Zaryouch . Il faut signaler.TSSR1 .

Séq 2 du module Techniques de programmation structurée 54 .TSSR1 .Module Techniques de programmation structurée III- - Règles de décomposition des traitements et stratégies d’éclatements : Structures de Contrôle : Tout algorithme pourra être construit à partir de trois structures de contrôle : La séquence L’alternative L’Itérative ou la Répétitive Mr Zaryouch .

TSSR1 . Mr Zaryouch . Il faut se rappeler que l’algorithme est indépendant du langage de programmation qui sera utilisé. un algorithme sera décrit soit en utilisant : Une représentation graphique « L’arbre Programmatique » = « L’Organigramme » Ou une représentation textuelle « Le Pseudo Code = programme».Module Techniques de programmation structurée III- - Règles de décomposition des traitements et stratégies d’éclatements : Représentation de l’Algorithme : Une fois défini.Séq 2 du module Techniques de programmation structurée 55 .

affectation : Une opération de lecture consiste à fournir à l’ordinateur une donnée dont il aura besoin pour traiter une information en vue de la restituer.Séq 2 du module Techniques de programmation structurée 56 . écriture. sinon. L’information obtenue peut être affichée sur écran de l’ordinateur. stocké sur un support magnétique (comme le cas d’un disque dur). Mr Zaryouch .TSSR1 .Module Techniques de programmation structurée IV- Instructions de base d'un algorithme : lecture. elle peut être imprimée sur imprimante ou diffusée via un canal de communication comme celui de la messagerie électronique.

elle est désignée par le mot clé scanf().Module Techniques de programmation structurée IV- Instructions de base d'un algorithme : lecture. affectation : Dans un algorithme. Dans les deux cas. une opération de lecture nécessite la déclaration d’une variable qui consiste à réserver de l’espace mémoire pour l’information ou la donnée à lire. écriture.Séq 2 du module Techniques de programmation structurée 57 .TSSR1 . cette opération de lecture est désignée par le mot lire et dans un programme comme celui du langage C. Mr Zaryouch .

Pour pouvoir réaliser cette opération. la valeur à placer dans cette variable doit répondre au type de la variable utilisée dans l’opération de l’affectation. la valeur à placer dépend du type de la variable déclarée au début du programme. Autrement dit. affectation : Une opération d’affectation consiste à placer une valeur dans une variable (A=20 par exemple).TSSR1 .Séq 2 du module Techniques de programmation structurée 58 . Mr Zaryouch . écriture.Module Techniques de programmation structurée IV- Instructions de base d'un algorithme : lecture.

Si la variable contient déjà une valeur. affectation : Généralement. celle-ci sera écrasée par la nouvelle valeur à placer. D’après cet exemple. A titre d’exemple : A = 20. on voit bien que la valeur 20 sera écrasée et remplacée par la valeur 30. B = 30. Mr Zaryouch . A = B.Séq 2 du module Techniques de programmation structurée 59 . écriture. une opération d’affectation nécessite l’utilisation du signe égale (=) pour placer une valeur dans une variable.TSSR1 .Module Techniques de programmation structurée IV- Instructions de base d'un algorithme : lecture.

Les variables en langage C sont typées. opérateurs.TSSR1 . ainsi elles sont donc stockées dans la mémoire et occupent un nombre d'octets dépendant du type de donnée stockée.Module Techniques de programmation structurée V- Règles du typage des données : Portée. champ des valeurs.Séq 2 du module Techniques de programmation structurée 60 . c'est-àdire que les données contenues dans celles-ci possèdent un type. Mr Zaryouch . pouvant contenir des données. instructions alternatives et répétitives : Une variable est un objet repéré par son nom. qui pourront être modifiées lors de l'exécution du programme.

opérateurs. les noms de variables peuvent être aussi long que l'on désire. toutefois le compilateur ne tiendra compte que des 32 premiers caractères.TSSR1 . champ des valeurs. instructions alternatives et répétitives : En langage C.Séq 2 du module Techniques de programmation structurée 61 . elles doivent répondre à certains critères : Mr Zaryouch . De plus.Module Techniques de programmation structurée V- Règles du typage des données : Portée.

Module Techniques de programmation structurée V- Règles du typage des données : Portée. des chiffres et le caractère « _ » (les espaces ne sont pas autorisés !) Les noms de variables ne peuvent pas être les noms suivants (qui sont des noms réservés) : Mr Zaryouch . Un nom de variable peut comporter des lettres.TSSR1 . instructions alternatives et répétitives : un nom de variable doit commencer par une lettre (majuscule ou minuscule) ou un « _ » (pas par un chiffre).Séq 2 du module Techniques de programmation structurée 62 . champ des valeurs. opérateurs.

struct. float.Module Techniques de programmation structurée V- Règles du typage des données : Portée. while. return short. sizeof. champ des valeurs. double. Mr Zaryouch . void. continue default. switch Typedef. long. instructions alternatives et répétitives : auto. int. do.TSSR1 . volatile. case. enum. opérateurs. break. extern. if. const. else. unsigned. for goto. char.Séq 2 du module Techniques de programmation structurée 63 . static. union. signed. register.

TSSR1 . celle-ci pourra être accessible (visible) de partout dans le programme ou bien que dans une portion confinée de celui-ci (à l'intérieur d'une fonction par exemple). champ des valeurs. instructions alternatives et répétitives : Portée (visibilité) des variables : Selon l'endroit où on déclare une variable. Mr Zaryouch .Séq 2 du module Techniques de programmation structurée 64 . on parle de portée (ou visibilité) d'une variable. opérateurs.Module Techniques de programmation structurée V- Règles du typage des données : Portée.

TSSR1 . elle est accessible de partout dans le programme principal. Mr Zaryouch . opérateurs. c'est-à-dire à l'extérieur de toute fonction ou de tout bloc d'instruction. instructions alternatives et répétitives : Portée (visibilité) des variables : Lorsqu'une variable est déclarée dans le programme principal.Module Techniques de programmation structurée V- Règles du typage des données : Portée. (n'importe quelle fonction du programme peut utiliser cette variable).Séq 2 du module Techniques de programmation structurée 65 . champ des valeurs. On parle alors de variable globale.

opérateurs. c'est-à-dire avant tout bloc de donnée.TSSR1 .Séq 2 du module Techniques de programmation structurée 66 . sera globale. champ des valeurs. Une variable déclarée au début du programme principal. sa portée se confine à l'intérieur du bloc dans lequel elle est déclarée.Module Techniques de programmation structurée V- Règles du typage des données : Portée. Mr Zaryouch . on pourra alors l'utiliser à partir de n'importe quel bloc d'instruction. instructions alternatives et répétitives : Portée (visibilité) des variables : Lorsque l'on déclare une variable à l'intérieur d'un bloc d'instructions (entre des accolades).

c'est-à-dire qu'elle est inutilisable en dehors de ce bloc. Mr Zaryouch . instructions alternatives et répétitives : Portée (visibilité) des variables : Une variable déclarée à l'intérieur d'un bloc d'instructions (dans une fonction par exemple).Séq 2 du module Techniques de programmation structurée 67 .TSSR1 . opérateurs. aura une portée limitée à ce seul bloc d'instruction. on parle alors de variable locale. champ des valeurs.Module Techniques de programmation structurée V- Règles du typage des données : Portée.

Mr Zaryouch . /* déclaration de la variable i de type int */ int i.Séq 2 du module Techniques de programmation structurée 68 . opérateurs. /* déclaration de deux variables i et j de type int */ Sachant que int veut integer (entier en français) et donc pas virgule décimale.TSSR1 . Exemple : int i.j. instructions alternatives et répétitives : Champ des valeurs : La déclaration d’une variable se fait en faisant suivre un type par une liste de noms de variables.Module Techniques de programmation structurée V- Règles du typage des données : Portée. champ des valeurs.

/* déclaration de deux variables avec une taille assez grande (double). instructions alternatives et répétitives : Champ des valeurs : Exemple : (suite) short int k. champ des valeurs. Il est possible de donner une valeur initiale aux variables ainsi déclarées. /* déclaration de la variable k float f. /* Idem pour i et j Mr Zaryouch . j = 12. /*déclaration de la variable f (float=réelle) double d1.Module Techniques de programmation structurée V- Règles du typage des données : Portée.Séq 2 du module Techniques de programmation structurée 69 . A tire d’exemple : int i = 54.TSSR1 . /* i initialisée à 54 int i = 34. opérateurs.d2.

champ des valeurs.Module Techniques de programmation structurée V- Règles du typage des données : Portée. opérateurs. instructions alternatives et répétitives : Champ des valeurs : Le champ des valeurs des variables dépend du type avec lequel est déclaré. Le diapo suivant présente un tableau récapitulatif des différentes valeurs qui sont autorisées pour chaque type de variable : Mr Zaryouch .Séq 2 du module Techniques de programmation structurée 70 .TSSR1 .

Séq 2 du module Techniques de programmation structurée 71 .TSSR1 .Mr Zaryouch .

Les six opérateurs les plus importants sont : Mr Zaryouch . instructions alternatives et répétitives : Les opérateurs : Les opérateurs sont des signes servant à calculer avec les variables. champ des valeurs.TSSR1 .Séq 2 du module Techniques de programmation structurée 72 . opérateurs.Module Techniques de programmation structurée V- Règles du typage des données : Portée.

champ des valeurs.Séq 2 du module Techniques de programmation structurée 73 . /. Ils effectuent une opération avec les deux variables. -. %). instructions alternatives et répétitives : Description des opérateurs : Opérateurs d'arithmétiques : Les opérateurs arithmétiques sont (+. *. Mr Zaryouch . opérateurs. Le résultat est normalement utilisé avec un autre opérateur comme l'opérateur affectation (=) ou les opérateurs d'accumulation.TSSR1 .Module Techniques de programmation structurée V- Règles du typage des données : Portée.

Cette expression est très souvent utilisée dans les boucles. instructions alternatives et répétitives : Description des opérateurs : Opérateurs d'accumulation : Les opérateurs d'accumulation sont des opérateurs qui ajoutent une valeur à la variable. Le diapo suivant présente un tableau des différents opérateurs d'accumulation : Mr Zaryouch . opérateurs. Je veux lui ajouter 5.TSSR1 . Je peux écrire var1 = var1 + 5 ou var1 += 5. Par exemple.Séq 2 du module Techniques de programmation structurée 74 .Module Techniques de programmation structurée V- Règles du typage des données : Portée. champ des valeurs. ma variable var1 vaut 10.

instructions alternatives et répétitives : Description des opérateurs : Opérateurs d'accumulation : Mr Zaryouch . opérateurs. champ des valeurs.Module Techniques de programmation structurée V- Règles du typage des données : Portée.TSSR1 .Séq 2 du module Techniques de programmation structurée 75 .

opérateurs. instructions alternatives et répétitives : Instructions alternatives : La syntaxe est la suivante : if (condition) instruction_si_vrai else instruction_si_faux La condition est obligatoirement entre parenthèses.Module Techniques de programmation structurée V- Règles du typage des données : Portée. Le compilateur peut ainsi facilement détecter le début de la condition logique et la fin de la condition logique. champ des valeurs.TSSR1 .Séq 2 du module Techniques de programmation structurée 76 . Mr Zaryouch .

TSSR1 .Module Techniques de programmation structurée V- Règles du typage des données : Portée. champ des valeurs. Mr Zaryouch . La partie « sinon" est facultative.Séq 2 du module Techniques de programmation structurée 77 . Nous rappelons qu'une instruction peut être un bloc qui est assimilé à une unique instruction à activer. instructions alternatives et répétitives : Instructions alternatives : Le mot clef « alors" utilisé en algorithmique ou dans d'autres langages est inutile car l'instruction_si_vrai est immédiatement après la parenthèse fermante. opérateurs.

Mr Zaryouch .TSSR1 . opérateurs. instructions alternatives et répétitives : Instructions alternatives : La valeur de la condition utilise la convention logique du langage C : 0 est faux. Dans ce cas il est conseillé d'utiliser des indentations (marges décalées) pour améliorer la lisibilité du code. autre chose que 0 est vrai.Module Techniques de programmation structurée V- Règles du typage des données : Portée. champ des valeurs.Séq 2 du module Techniques de programmation structurée 78 . On peut imbriquer plusieurs "if".

opérateurs. instructions alternatives et répétitives : Instructions alternatives : Exemple d’application : Ecrire un algorithme qui permet de calculer le maximum de deux nombres entrés au clavier.Module Techniques de programmation structurée V- Règles du typage des données : Portée. champ des valeurs. La réponse est dans le diapo suivant : Mr Zaryouch .Séq 2 du module Techniques de programmation structurée 79 .TSSR1 .

TSSR1 .v2. opérateurs. instructions alternatives et répétitives : Instructions alternatives : Algorithme de l’exemple du diapo précédent : Déclarer les bibliothèques Déclarer les variables v1.v2 si (v1>v2) alors max = v1 sinon max = v2 Afficher max Fin Mr Zaryouch .max : réel Début Lire v1.Module Techniques de programmation structurée V- Règles du typage des données : Portée. champ des valeurs.Séq 2 du module Techniques de programmation structurée 80 .

// exécuter les instructions } Mr Zaryouch . champ des valeurs. L'instruction TANT QUE : Syntaxe : TANT QUE (expression) // tant que expression est vraie { instructions.Règles du typage des données : Portée.Séq 2 du module Techniques de programmation structurée 81 . instructions alternatives et répétitives : Instructions répétitives : Ces instructions permettent de répéter un ensemble d'instructions. opérateurs.Module Techniques de programmation structurée V.TSSR1 .

Mr Zaryouch . champ des valeurs. opérateurs.Module Techniques de programmation structurée V- Règles du typage des données : Portée. Tant qu'elle a la valeur vraie. instructions alternatives et répétitives : Instructions répétitives : Ces instructions permettent de répéter un ensemble d'instructions avec une condition.TSSR1 .Séq 2 du module Techniques de programmation structurée 82 . le contenu de la boucle sera exécuté. L'instruction TANT QUE : (suite) expression est la partie qui est évaluée.

TSSR1 . Si l'expression est fausse le programme continue son exécution après la boucle while. L'instruction TANT QUE : (suite) Le déroulement est le suivant : L'expression est évaluée.Séq 2 du module Techniques de programmation structurée 83 . opérateurs. Mr Zaryouch .Module Techniques de programmation structurée V- Règles du typage des données : Portée. Si elle est vraie. champ des valeurs. instructions alternatives et répétitives : Instructions répétitives : Ces instructions permettent de répéter un ensemble d'instructions. les instructions sont exécutées et on recommence l'évaluation de expression.

donc vérifiez bien que cette condition puisse se réaliser sinon Mr Zaryouch .Règles du typage des données : Portée.TSSR1 . instructions alternatives et répétitives : Instructions répétitives : Ces instructions permettent de répéter un ensemble d'instructions.Séq 2 du module Techniques de programmation structurée 84 . champ des valeurs. L'instruction TANT QUE : (suite) Attention : la boucle ne se termine que si l'expression est fausse.Module Techniques de programmation structurée V. opérateurs.

opérateurs. champ des valeurs. n'oubliez donc pas de bien initialiser Mr Zaryouch .Règles du typage des données : Portée. instructions alternatives et répétitives : Instructions répétitives : Ces instructions permettent de répéter un ensemble d'instructions. L'instruction TANT QUE : (suite) Attention : les instructions dans la boucle ne sont prises en compte que si l'expression est vraie.Module Techniques de programmation structurée V.Séq 2 du module Techniques de programmation structurée 85 .TSSR1 .

votre programme ne se termine jamais. instructions alternatives et répétitives : Instructions répétitives : Ces instructions permettent de répéter un ensemble d'instructions. champ des valeurs. Mr Zaryouch .Module Techniques de programmation structurée V- Règles du typage des données : Portée. L'instruction TANT QUE : (suite) Attention : L'erreur la plus souvent rencontrée est de faire un test sur une valeur maximale d'une variable qui s'incrémente dans la boucle mais d'oublier d'effectuer cette incrémentation. dans ce cas la limite n'est jamais atteinte.Séq 2 du module Techniques de programmation structurée 86 .TSSR1 . opérateurs.

L'instruction TANT QUE : (suite) Exemple : somme = 0 Tant que (réponse <> « Oui ») { Lire valeur somme = somme + valeur Afficher(« Autre valeur (Oui / non) : ") Lire réponse } Mr Zaryouch . champ des valeurs.Séq 2 du module Techniques de programmation structurée 87 . opérateurs.TSSR1 .Module Techniques de programmation structurée V- Règles du typage des données : Portée. instructions alternatives et répétitives : Instructions répétitives : Ces instructions permettent de répéter un ensemble d'instructions.

L'instruction POUR : Syntaxe : POUR(expression1.Module Techniques de programmation structurée V- Règles du typage des données : Portée.expression3) { instructions. } Mr Zaryouch . champ des valeurs.expression2. instructions alternatives et répétitives : Instructions répétitives : Ces instructions permettent de répéter un ensemble d'instructions.Séq 2 du module Techniques de programmation structurée 88 .TSSR1 . opérateurs.

instructions alternatives et répétitives : Instructions répétitives : L'instruction POUR : (suite) expression1 permet de donner la valeur initiale aux variables contenues dans les expressions. expression2 permet de définir la condition d'arrêt de la boucle expression3 permet de modifier les Mr Zaryouch .Séq 2 du module Techniques de programmation structurée 89 . champ des valeurs.Règles du typage des données : Portée.Module Techniques de programmation structurée V. opérateurs.TSSR1 .

somme = somme + valeur. i<=10.Séq 2 du module Techniques de programmation structurée 90 . Vous devez là aussi faire attention aux limites de votre boucle. } Afficher somme. Mr Zaryouch . instructions alternatives et répétitives : Instructions répétitives : L'instruction POUR : (suite) Cette boucle est utilisée lorsque l'on connaît à l'avance le nombre de fois que les instructions doivent être exécutées. opérateurs. i++) { lire valeur.TSSR1 . champ des valeurs.Module Techniques de programmation structurée V- Règles du typage des données : Portée. Exemple : somme = 0 for(i=1.

Module Techniques de programmation structurée V- Règles du typage des données : Portée. } Tant que(expression).Séq 2 du module Techniques de programmation structurée 91 . opérateurs. Mr Zaryouch . instructions alternatives et répétitives : Instructions répétitives : L'instruction FAIRE … TANT QUE : Syntaxe : Faire { instruction. champ des valeurs.TSSR1 .

TSSR1 . champ des valeurs. l'évaluation de expression n'étant effectuée qu'après le premier passage dans la boucle.Séq 2 du module Techniques de programmation structurée 92 . opérateurs.Module Techniques de programmation structurée V.Règles du typage des données : Portée. Mr Zaryouch . instructions alternatives et répétitives : Instructions répétitives : L'instruction FAIRE … TANT QUE : Le fonctionnement est le même que pour le while sauf que dans ce cas instruction sera exécutée au moins une fois.

Séq 2 du module Techniques de programmation structurée 93 .Module Techniques de programmation structurée Fin de citation pour cette séquence numéro 2 Mr Zaryouch .TSSR1 .