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      
 

1*2*3*4* ....*N

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
  ?     1
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
  1     1*1
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
  2     1*2
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
  3     1*2*3
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
  4     1*2*3*4
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
  N     1*2*3*4* ........... * N
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
Pour I de 1 A N Faire

            F ß  F * I

FinPour

Répéter
       Lire(N)  
Jusqu'à N>=0

Fin Factorielle
 

F

N

 

 

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