Académique Documents
Professionnel Documents
Culture Documents
Syntaxe Organigramme
Tant que la condition est vérifiée on exécutera le corps de la boucle, on s'arrêtera dès que la
condition n’est plus vérifiée.
Exercice 1: corrigé
Ecrire un algorithme permettant de lire une suite finie de nombres réels non nuls. L'algorithme doit
afficher la somme des éléments lus.
Exercice 2 : à faire
Considérons la série S = 1 + 1/2 + 1/3 + 1/4 + …. 1/n. Ecrire un algorithme permettant d'identifier
le premier rang n pour lequel S > 100
Algorithme somme_nombres;
Var
n , som : réels
début
ecrire ("donner un réel: ")
lire ( n )
som ← 0
tant que n < > 0 faire
som ← som + n
ecrire ("donner un autre réel: ")
lire ( n )
fintq
ecrire ("la somme des éléments lus est: ", som)
fin.
2. L'instruction répéter
Syntaxe Organigramme
Répéter
instruction1
instruction2 Instruction(s)
…………...
…………...
jusqu'à condition faux Condition vrai
La boucle Répéter permet de rentrer dans la boucle quelque soit la condition et réitère l’exécution
jusqu'à ce que la condition soit vérifiée.
Exercice 1: solution2
Algorithme somme_nombres;
Var
n , som : réels
début
som ← 0
répéter
ecrire ("donner un réel: ")
lire ( n )
som ← som + n
jusqu'à n = 0
ecrire ("la somme des éléments lus est: ", som)
fin.
Du fait que le nombre d'itérations est connu, on se sert d'un compteur ( ici i ) qui sera initialisé
automatiquement à la valeur initiale et sera incrémenté ( ou décrémenté ) de la valeur du pas (par défaut
pas = 1), jusqu'à la valeur finale.
Si la val_initiale est inférieur à val_finale on dit qu'elle s'agit d'une boucle progressive, sinon on
dit qu'elle s'agit d'une boucle régressive.
Dans le corps de la boucle il est interdit de modifier la valeur du compteur i, même si on peut s'en
servir.
Exemple
S = 0 i = 1
S = 1 S = S + 1 S = 0
S = S + 2 S = S + 2 S = S + i
S = S + 3 S = S + 3 S = S + i
S = S + 4 S = S + 4 S = S + i i=i+1
…………… …………… +1 S = S + i
n fois
…………… …………… ……………
S = S + (n–1) S = S + (n–1) ……………
S = S + n S = S + n S = S + i
S = S + i
Algorithme somme_n_nombres;
Var
n , s , i : entiers
début
ecrire ("donner un entier: ")
lire ( n )
s ← 0
pour i ← 1 à n faire
s ← s + i
finpour
ecrire ("la somme égale: ", s)
fin.
Algorithme diviseurs_nombre;
Var
n , i : entiers
début
ecrire ("donner un entier: ")
lire ( n )
pour i ← 1 à n faire
si n mod i = 0 alors
ecrire ( i )
finsi
finpour
fin.