Vous êtes sur la page 1sur 4

L1 Structures Itératives IMSI

HSI Informatique 1 27 février 2018

1 Structures itératives
Faire un calcul quelconque peut parfois être sujet à des répétitions. En
algorithmique, on prévoit deux manières de faire les répétitions : On itère

1. un nombre déterminé de fois ;


2. ou jusqu’à ce que certaines conditions soient satisfaites.
Nous allons voir la syntaxe d’une structure répétitive avec un nombre connu
d’itérations.

2 Boucle pour
Il s’agit dans cette situation d’itérer les instructions à l’intérieure de cette
boucle un nombre bien déterminé de fois :
pour (Compteur de valeur initiale à valeur finale , pas) faire
inst1 ;
inst2 ;
..
.
instn ;
fin pour
Le nombre de répétitions ici sera égale à :
valeur finale − valeur initiale+1
pas

2.1 Exemple
Écrivez un algorithme qui calcule la somme des N ∈ N∗ premier(s) entiers
positifs :
XN
S = 1 + 2 + ··· + N = i
i=1

M. Rouan-Serik 1
L1 Structures Itératives IMSI
HSI Informatique 1 27 février 2018

le nombre d’éléments à sommer est égale à N donc :


Algorithme : Sigma ;
var N, i, S : entier ;
Début
Lire(N );
S ← 0;
pour (i de 1 à N,1) faire
S←S+i;
fin pour
Ecrire("la somme =",S );
Fin.

3 Boucle Répéter
Après avoir vu les boucles pour, nous définissons ici les structures itéra-
tives où le nombre d’itérations n’est pas préalablement connu. On répète un
ensemble d’instructions jusqu’à ce que certaines conditions soient satisfaites.
Il s’agit dans cette situation d’itérer les instructions à l’intérieure de cette
boucle jusqu’à ce que la Condition soit vraie.

3.1 Syntaxe
répéter
inst1 ;
inst2 ;
..
.
instn ;
jusqu’à (Condition);

3.2 Exemple
Écrivez un algorithme qui calcule la suite numérique pour n’importe quelle
valeur de N ∈ N, introduite par l’utilisateur :
 u
 n, Si N est pair,
u0 = N, ∀n > 0, un+1 = 2
3un + 1, sinon.

M. Rouan-Serik 2
L1 Structures Itératives IMSI
HSI Informatique 1 27 février 2018

La suite s’arrête (éventuellement) quand un sera égale à 1 :


Algorithme : Suite_Un ;
var N, i : entier ;
Début
Lire(N );
i ← 0;
répéter
si (N mod 2 = 0) alors
N ← N div 2 ;
sinon
N ← 3*N+1 ;
fin si
Ecrire(N );
i ← i +1;
jusqu’à (N = 1);
Ecrire("Nombre d’itérations = ",i);
Fin.

4 Boucle Tantque
Il s’agit dans cette situation d’itérer les instructions à l’intérieure de cette
boucle tant que la Condition est vraie.

4.1 Syntaxe
tant que (Condition) faire
inst1 ;
inst2 ;
..
.
instn ;
fin tq

4.2 Exemple
Dites pour chaque nombre saisi (N ∈ N), s’il est pair ou impair, jusqu’à
ce que N soit égale à -1.

M. Rouan-Serik 3
L1 Structures Itératives IMSI
HSI Informatique 1 27 février 2018

Utilisation de la boucle Tantque :


Algorithme : Parity ;
var N : entier ;
Début
Lire(N );
tant que (N 6= -1) faire
si (N mod 2 = 0) alors
Ecrire(N," est pair ");
sinon
Ecrire(N," est impair ");
fin si
Lire(N ) ;
fin tq
Fin.

5 Exercices
Exercice 1. Écrivez un algorithme qui calcule la somme suivante :

S = N + (N − 1) + · · · + 2 + 1

Exercice 2. Écrivez un algorithme qui affiche le miroir de la conversion d’un


nombre décimal en un nombre binaire. exemple pour N = 12 :

(12)10 = (1100)2 , ^ = (0011)2


(1100)2

la sortie sera donc (0011)2 .

Exercice 3. Écrivez l’algorithme qui détermine pour toute pair de nombres


entiers (a, b), saisies au clavier, le plus grand diviseur commun, P GCD(a, b).

M. Rouan-Serik 4