Chapitre 4
Les structures de contrôle itératives
Leçon 1
" La structure de contrôle itératives complètes "
Activité :
Ecrire un programme qui calcule et affiche la somme de 5 entiers
Analyse
Algorithme
Grille d'analyse
Nom : somme
Résultat = Écrire (la somme est =, " S)
S= [S 0]
Pour i de 1 à 5 faire
Lire (N)
S S + N
Fin pour
Fin Somme
T.D.O
Objets
Nature / type
Rôle
N
Var / entier
Saisi une valeur
S
Var / entier
Pour contenir la somme
i
Var / entier
Compteur
0) Début somme
1) S 0
Pour i de 1 à 5 faire
Lire (N)
S S + N
Fin pour
2) écrire (la somme est =, " S)
3) Fin Somme
1) Définition :
Une structure itérative est dite complète s’il y a une répétition d’une suite d’instructions de nombre fini et
connu à l’avance
2) Vocabulaire et syntaxe:
Notation Pascal
Notation Algorithmique
[initialisation]
For compteur := Vi to Vf do
Begin
Instruction 1;
Instruction 2;
;
Instruction n ;
End ;
[initialisation]
Pour compteur de Vi à Vf faire
Instruction 1
Instruction 2
Instruction n
Fin Pour
Remarque:
Le compteur doit être de type scalaire (entier, caractère,....)
Exemple : Si on a un tableau a affiché contenant 5 éléments de type entier
Pour i de 1 à 5 Faire
Écrire (T[i])
Fin Pour
Si on a un tableau a affiché contenant 5 éléments de type entier dans l'ordre inverse
La valeur initiale du compteur vi est supérieur à la valeur finale vf: le compteur doit se décrémenter au lieu de
s’incrémenter càd il diminue par pas de un.
For i := 5 Down to 1 do
Writeln (t[i]);
Pour i de 5 à 1 pas (-1) Faire
Ecrire (t[i])
Fin Pour
A quoi égal le nombre d’itération ? Le nombre d’itérations est égale |Vf – Vi|+1
Pour le compteur de type caractère le nombre d’itérations =|ORD (Vf) ORD (Vi)| +1
En Pascal, le module à répéter sera délimité par Begin et End;
3) Applications :
Exercice1
Écrire un algorithme intitulé NEGA_POS, qui transfère les éléments positifs et les éléments négatifs d'un
tableau T dans deux tableaux TP et TN.
Analyse
Algorithme
Grille d'analyse
Nom : nega_pos
Résultat = nega_pos
J1 ; K 1
pour i de 1 à N faire
Si T[i]>=0 Alors
TP[j]T[i]
jj+1
Sinon
TN[K]T[i]
KK+1
Fin si
fin pour
pour i de 1 à N faire
T[i] = donnée ("Donner le contenu du
case", i)
fin pour
n=donnée ("Donner la taille du tableau")
Fin nega_pos
T.D.N.T
Type
Tab=table u de 30 entiers
0) début nega_pos
1) lire (N)
2) pour i de 1 à N faire
Lire(T[i])
fin pour
3) j1
K1
pour i de 1 à N faire
Si T[i]>=0
Alors
TP[j]T[i]
jj+1
Sinon
TN[K]T[i]
KK+1
Fin si
fin pour
4) fin nega_pos
T.D.O
Objets
Nature / type
Rôle
J, k
Var / entier
Compteurs des tableaux
T
Tab
le tableau a saisi
i
Var / entier
Compteur
Exercice2
Écrire un algorithme et sa traduction en pascal nommé « maximum » qui permet de remplir un tableau T de N
entier, qui détermine le maximum et sa position dans le tableau.
Analyse
Algorithme
Grille d'analyse
Nom : Maximum
Résultat = Ecrire("le maximum dans le tableau est:",
max , "sa position est:" , Pos)
Max,pos=[MaxT[1],Pos1]
pour i de 2 à N faire
Si T[i]>Max Alors
MaxT[i]
Pos i
Finsi
fin pour
pour i de 1 à N faire
T[i] = donnée ("Donner le contenu du case", i)
fin pour
n=donnée ("Donner la taille du tableau")
Fin Maximum
0) début Maximum
1) écrire ("Donner la taille du tableau")
lire (N)
2) pour i de 1 à N faire
Écrire ("Donner le contenu du case", i)
Lire (T[i])
fin pour
3) MaxT[1]
Pos1
pour i de 2 à N faire
Si T[i]>Max Alors
MaxT[i]
Pos i
Finsi
fin pour
4) Ecrire("le maximum dans le tableau est:", max ,
"sa position est:" , Pos)
5) fin Maximum
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !