Les structures de contrôle itératives
Mise à jour le : 01/11/2004
![]()
Énoncé
Écrire un programme qui calcule le produit factorielle F=N!
avec F=1 * 2 * 3 * 4 * ................ * N = N! (N est
positif).
I) La préanalyse :
Données : - Le nombre de termes est N Résultat :
| F | |
|---|---|
| |
|
|
|
Entier
|
La variable F contient le produit factorielle de N. I une Variable compteur
| I | F | |||
|---|---|---|---|---|
| ? | ? | |||
|
|
Entier
|
Entier
|
Étape 1 :
On
initialise F à 1 :
| I | F | |||
|---|---|---|---|---|
| ? | ||||
|
|
Entier
|
Entier
|
Étape 2 :
Le compteur prend la valeur 1 : I = 1
On multiplie l'ancienne valeur de F par la nouvelle valeur du compteur : F ß F * I
| I | F | |||
|---|---|---|---|---|
|
|
Entier
|
Entier
|
Étape 3 :
Le compteur prend la valeur 2 : I = 2
On multiplie l'ancienne valeur de F par la nouvelle valeur du compteur : F ß F * I
| I | F | |||
|---|---|---|---|---|
|
|
Entier
|
Entier
|
Étape 4 :
Le compteur prend la valeur 3 : I = 3
On multiplie l'ancienne valeur de F par la nouvelle valeur du compteur : F ß F * I
| I | F | |||
|---|---|---|---|---|
|
|
Entier
|
Entier
|
Étape 5 :
Le compteur prend la valeur 4 : I = 4
On multiplie l'ancienne valeur de F par la nouvelle valeur du compteur : F ß F * I
| I | F | |||
|---|---|---|---|---|
|
|
Entier
|
Entier
|
Etc jusqu'a
Étape N+1 :
Le compteur prend la valeur N : I = N
On multiplie l'ancienne valeur de F par la nouvelle valeur du compteur : F ß F * I
| I | F | |||
|---|---|---|---|---|
|
|
Entier
|
Entier
|
II) L'analyse :
Nom = Factorielle |
||
| Séquences | Liste des définitions Explicites | Objets Utilisés |
| 3 2 1 4 |
Résultat
=
Écrire(F)
F ß
1 |
F NI
|
III) Le tableau de déclaration des objets :
| Objets Utilisés | Nature / Type | Rôle |
| I | Variable/Entier | Compteur |
| F | Variable/Entier | Recevoir le produit factorielle de N : N! |
| N | Variable/Entier | Recevoir la donnée N |
IV) L'algorithme :
| 0- | Début Factorielle |
| 1- | Répéter |
| Lire(N) | |
| Jusqu'à N>=0 | |
| 2 | F ß 1 |
| Pour I de 1 A N Faire | |
| F ß F * I | |
| FinPour | |
| 3- | Écrire(F) |
| 4- | Fin Factorielle |
V) La traduction en turbo pascal :
Program Factorielle;
uses Wincrt;
Var I, N,F : Integer;
Begin
Repeat
Write('N :');
Readln(N);
Until N>=0;
F : = 1;
For I : = 1 To N Do
F : = F * I;
Write('Le produit factorielle est :',F);
End.
![]()
| Page d'index | Série Les structures de contrôle itératives | Haut |