Telechargé par Haffoudhi Nour

structure rep alg

publicité
Cours N°7:
Algorithmiques
Structures Répétitives
Département des Sciences Techniques.
Université Ammar Thelidji – Laghouat.
Structures Répétitives
Sommaire
• Traitement Répétitif
• Les boucles (Notation Algorithmique)
• La boucle «tant que»
• La boucle «répéter»
• La boucle «pour»
• Exemples …
• Exercice
Traitement Répétitif
• Une structure de contrôle Itératif permet de
répéter plusieurs fois le même traitement.
• La répétition d’un bloc d’actions est définie par des
actions spéciales que nous appelons des boucles.
Exemple
Ecrire un
organigramme
qui permet
d’afficher les
entiers de 1 à N.
Remarque : N=4;
Début
Ecrire (1)
Ecrire (2)
Ecrire (3)
Ecrire (4)
Fin
Et Si N = 1000 ...???
Début
lire (N)
Boucle
i←1
Non
i <= N
Oui
Ecrire (i)
i←i+1
Fin
Les boucles …
Notation Algorithmique
Notation Algorithmique
1. La boucle « tant que »
2. La boucle « répéter »
3. La boucle « Pour »
La boucle «tant que»
Début
Lecture
Tant que (condition) Faire
Non
Action 1
Action 2
…
condition
Oui
action1
action2
…
FinTq;
Fin
Début
lire (N)
i←1
Tant que i <=N
Faire …
Non
i <= N
Oui
Ecrire (i)
i←i+1
Fin
Un bloc
d’Instructions
Ce qui signifie :
• tant que la condition est vraie, on répète
l’exécution du bloc d’actions,
• et dès que la condition devient fausse on sort de
la boucle et on continue en séquence.
• Si la condition et initialement fausse, le bloc
d’actions ne sera jamais exécuté.
Exemples …
Ecrire l’organigramme
pour afficher la somme
(S = 1 + 2 + 3+ … + N)
Début
lire (N)
i←1
S←0
Non
i <= N
Oui
S←S+i
i←i+1
Ecrire (S)
Fin
Que faut il modifier pour
calculer le produit:
(P = 1 * 2 * … * N)
Début
lire (N)
i←1
P←1
Non
i <= N
Oui
P←P* i
i←i+1
Ecrire (P)
Fin
Algorithme qui calcul N!
F= 1* 2* 3* …* (N-1) * N
(utilisation de la boucle Tant que)
Algorithme factoriel;
Variable
F, i, N : entiers;
Début
lire (N);
i ← 1;
F ← 1;
Tant que (i<=N) faire
F←F*i;
i←i+1;
FinTq;
écrire(N, ‘!=’, F);
Fin.
Algorithme qui
n
calcul X
(utilisation de la boucle Tant que)
Algorithme puissance;
Variables:
N,i:entiers;
X,P:réels;
Début
lire (N);
lire (X);
i ← 1;
P ← 1;
Tant que (i <= N) faire
P←P*X;
i←i+1;
FinTq;
écrire(P);
Fin.
La boucle «répéter»
• Le formalisme de la boucle « Répéter » est
comme suit:
Répéter
Action 1
Action 2
…
Jusqu’à (Condition d’arrêt);
Début
lire (N)
i←1
P←1
Répéter ces
instructions
P←P* i
i←i+1
Oui
Non
i>N
Jusqu’à ce
que …
Ecrire (P)
Fin
Algorithme qui calcul N!
(utilisation de la boucle Répéter)
Algorithme factoriel;
Variables:
I,N,F:entiers;
début
lire (N);
i ← 1;
F ← 1;
Répéter
F←F*i;
i←i+1;
Jusqu’à (i > N);
écrire(N, ‘!=’, F);
Fin.
Condition d’arrêt
La boucle «pour»
• Le formalisme de la boucle «pour» est le suivant:
Pour Compt ←
Action 1
Action 2
…
Fin pour;
Valeur_initiale
à
Valeur_finale
faire
Début
Compteur
lire (N)
i←1
P←1
Non
i <= N
Oui
P←P* i
i←i+1
Ecrire (P)
Fin
• Le bloc d’actions est exécuté un nombre connu de
fois suivant le compteur.
• <valeur-initiale> indique la première valeur
affectée à la variable compteur lors de l’exécution de
la première itération.
• <valeur-finale> indique la dernière valeur qu’aura
la variable compteur lors de la dernière itération.
Algorithme qui calcul
n
X
(utilisation de la boucle Pour)
Algorithme puissance;
Variables:
i,N:entiers;
P,X:réels;
début
lire (N);
lire (x);
P ← 1;
Pour i ← 1 à N faire
P←P*x;
FinPour;
écrire(P);
Fin.
Exercice
Ecrire l’organigramme qui permet d’afficher les
diviseurs d’un entier A.
Modifier l’organigramme pour qu’il calcul
le nombre de ces diviseurs.
Déduit l’organigramme permettant de
vérifier si un nombre A est Premier ou non?
Téléchargement