Vous êtes sur la page 1sur 10

Structures de contrôle

Généralités
On distingue les structures séquentielles, les structures conditionnelles et les structures
répétitives.

Structure séquentielle
C'est la structure la plus simple car il y’a aucune condition, aucune répétition, toutes les
institutions s'exécute de façon séquentielle (étape par étape)
Exemple:
debut
lire(a)
lire(b)
c←a
a←b
b←c
écrire(a,b)
fin

Structure conditionnelle
Elle est utilisée pour résoudre des problèmes ayant une ou plusieurs alternatives. On
distingue la structure "si" et "cas où".

La structure conditionnelle "si"


Elle existe sous deux formes:
syntaxe:
premier cas:
si condition alors action
fin si

deuxième cas:
si condition alors action 1
sinon action 2
fin si

Sémantique (explication)
Les mots soulignés sont reconnus par l'ordinateur.
Condition est un booléen
action peut être soit une instruction, soit un ensemble d'instruction, soit une structure de
contrôle.

Fonctionnement
Premier cas: On exécute "action" uniquement lorsque la condition est vraie.
Deuxième cas: On exécute "action 1" uniquement lorsque la condition est vraie, et on
exécute "action 2" uniquement lorsque la condition est fausse.
Exemple 1:

Ecrire un algorithme qui permet de lire un entier et affiche sa valeur lorsqu'il est positif
Algorithme: nombre positif
var a:entier
debut
lire(a)
si a>0 alors
écrire(a)
fin si
fin
Exemple 2:
Ecrire un algorithme qui lit deux caractères et les affiches dans l'ordre alphabétique.

Algorithme: ordre_alphabet
var A,B: caractère
debut
lire(A)
lire(B)
si A<B alors
écrire(A,B)
sinon
écrire(B,A)
fin si
fin

La structure "cas où"


Syntaxe:

cas où
condition 1 : Action 1
condition 2 : action 2
condition n : action n
[ sinon
action n+1 ]
fin cas
Explications:

Les mots suivants sont reconnus par l'ordinateur: condition 1; condition 2; condition n sont
des booléens, action 1; action 2; ...; action n. Chaque d'elle peuvent être soit une
instruction, soit un ensemble.
On exécute action 1 uniquement lorsque condition 1 uniquement lorsque condition 1 est
vraie et on exécute action 2 uniquement lorsque condition 2 est vraie et on exécute action
n+1 lorsque condition n+1 est vraie.
Dès qu'une condition est vraie les autres conditions sont fausses.
Exemple 1: ax+b=0

Algorithme: equation-1
var a,b : réel
debut
lire(a)
lire(b)
cas où
a=0 et b=0 : écrire('infinité de solution')
a=0 et b≠0 : écrire('pas de solution')
a#0 : écrire('la solution est :', -b/a)
fin cas
fin
Exemple 2:

Algorithme: Equation_dégré_2
var a, b, c, x1, x1: réel
debut
lire(a)
lire(b)
lire(c)
cas où
a=0 et b≠0 et c≠0 : écrire('la solution est :' -b/c)
a=0 et b=0 et c=0 : écrire('infinité de solution')
a=0 et b=0 et c≠0 : écrire('pas de solution')
a≠0 et b**2-4*a*c<0 : écrire('pas de solution')
a≠0 et b**2-4*a*c=0 : écrire('la solution est :' -b/c)
a≠0 et b**2-4*a*c>0 : écrire('la solution est :', (-b*-D½)/2*a, (-b+D½)/2*a)
fin cas
fin
Exercice

Ecrire un algorithme qui lit 3 nombres et les affiches dans l'ordre croissant. Utilisez la
structure "si" et le récrire avec "cas où".
Les structures itératives (répétitions ou
boucles)
Encore appelé structure répétition ou boucle, les structures itératives permettent
d'effectuer des traitements répétitifs, c'est-à-dire qu'on exécute une action plusieurs fois.
Dans une boucle le nombre d'itération peut être connu d'avance ou pas.
Si le nombre d'itération n'est pas connu d'avance, on utilise un prédicat (une condition)
pour mettre fin à l'itération. On distingue:

 La boucle "pour"
 La boucle "tant que"
 La boucle "répéter"

La boucle "pour"
On utilise la boucle "pour" lorsqu'on connaît d'avance le nombre d'itération à effectuer,
c'est-à-dire lorsqu'on connaît le nombre de fois qu'on doit exécuter une action.
Exemple: Ecrire un algorithme qui permet de lire 10 notes
La syntaxe:

pour compteur = N à M faire [pas]


action
fin pour

Sémantique
Les mots en gras sont reconnus par l'ordinateur.
Compteur est un objet intermédiaire de type entier, il a pour première valeur N. M est la
valeur finale de compteur.
pas est un objet intermédiaire de type entier, c'est un objet optionnel qui a pour valeur par
défaut "1", et dans ce cas on ne le précise pas.
action peut être soit une instruction, soit un ensemble d'instruction, soit une structure de
contrôle.

Comment fonctionner la boucle "pour"


On exécute action pour les valeur de compteur allant de N à M en fonction du pas.
Exemple:
(((((N+pas)+pas)+pas)+pas)+pas)/M
Exemple 1:

Ecrire un algorithme qui permet de lire 5 notes.


Algorithme: lecture_notes
var note: réel
i: entier
debut
pour i=1 à 5 faire
lire(note)
fin pour
fin
Exemple 2:

Ecrire un algorithme qui calcul xN où x est différent de 0 et N supérieur ou égale à 0.


Algorithme: puissance
var p, x: réel
i, n: entier
debut
lire(x)
lire(n)
p←1
pour i=1 à n faire
p←x**p
fin pour
écrire(p)
fin

La boucle "tant que"


On utilise la boucle "tant que" lorsqu'on ne connaît pas d'avance le nombre de répétition à
effectuer. Mais on connaît une condition d'arrêt.
Syntaxe:
tant que condition faire
action
fin tant que

Sémantique
Les mots en gras sont reconnus par l'ordinateur.
condition est un booléen
action peut être une instruction, soit un ensemble d'instruction, soit une structure de
contrôle.

Fonctionnement
On exécute "action" tant que la condition est vraie, on arrête l'exécution lorsque la
condition devient fausse.
Si initialement la condition est fausse on n'exécute pas action.
Exemple 1:

Ecrire un algorithme qui permet d'écrire un nombre strictement positif.


Algorithme: nombre_positif
var N: réel
debut
lire(N)
tant que N<=0 faire
lire(N)
fin tant que
Fin
Exercice 2

Ecrire un algorithme qui permet de lire les nombres compris entre 1 et 3


Algorithme: lecture_en_interval
var n: réel
debut
lire(n)
tant que (n<1) ou (n>3) faire
lire(n)
fin tant que
fin
Tous les problèmes qu'on peut résoudre avec la boucle "pour" peut également se
résoudre dans la boucle "tant que"

Boucle "répéter"
On utilise la boucle "répéter" dans les mêmes conditions que la boucle "tant que", c'est-à-
dire lorsqu'on ne connaît pas d'avance le nombre de répétition à effectuer.
Syntaxe

répéter
Action
jusqu'à condition

Les mots soulignés sont reconnus par l'ordinateur

Sémantique
action peut être une instruction, un ensemble d'instruction ou une structure de contrôle.
condition est un booléen qui vaut vrai ou faux.

Fonctionnement
On exécute action jusqu'à ce que la condition devienne vraie, autrement dit on exécute
action tant que la condition est fausse.
Exemple:

Algorithme: nombre_positif
var N: réel
debut
répéter
lire(N)
jusqu'à N>0
Fin
Exercice:

Ecrire un algorithme qui lit un nombre entier n>1 et qui affiche la table de multiplication
correspondante.
correction:

Algorithme: table_de_multiplication
var i, n: entier
debut
répéter
lire(n)
jusqu'à n>1
pour i=1 à 10 faire
écrire(i,'x',n'=',i*n)
fin pour
fin

Vous aimerez peut-être aussi