devient fausse : la boucle est terminée, et le programme se termine. 
PROGRAMME MUTLI1 
VAR 
table,cpt,resultat:entiers 
DEBUT 
Afficher "Quelle table de multiplication ?" 
Saisir table 
cpt←1 
Tant que cpt<=10 Faire 
resultat←cpt*table 
Afficher table,"x",cpt,"=",resultat 
cpt←cpt+1 
FinTantQue 
FIN
Ce qui donne en Java : 
import java.io.*; 
class chap4_multi1 { 
public static void main(String[] args) { 
int cpt,table,resultat=1; 
String txt=""; 
BufferedReader saisie; 
saisie=new BufferedReader(new InputStreamReader(System.in)); 
try { 
System.out.println("Table ?"); 
txt=saisie.readLine(); 
} 
catch(Exception excp) { 
System.out.println("Erreur"); 
} 
table=Integer.parseInt(txt); 
cpt=1; 
while(cpt<=10) { 
resultat=table*cpt; 
System.out.println(table+"x"+cpt+"="+resultat); 
cpt++; 
} 
} 
}
b. Une factorielle 
Dans le même ordre d’idée, voici un petit algorithme qui calcule une factorielle. Pour rappel, la factorielle de n s’écrit n! 
et se calcule en multipliant toutes les valeurs de 1 à n. Ainsi 10!=10*9*8*7*6*5*4*3*2*1, soit 3628800 (ça monte 
très vite). Dans chaque passage dans la boucle il s’agit de multiplier le compteur par le résultat de la multiplication 
précédente.  Notez  qu’il  est  inutile  de  multiplier  par  un  :  ça  ne  change  pas  le  résultat  et  du  coup  le  programme 
effectue une boucle de trop. De même, ce coup­ci  l’algorithme comptera à l’envers : il partira de n pour descendre 
jusqu’à deux. 
PROGRAMME FACT 
VAR 
cpt,resultat:entiers 
DEBUT 
Afficher "Quelle factorielle ?" 
Saisir cpt 
resultat←cpt 
Tant que cpt>2 Faire 
cpt←cpt-1 
resultat←cpt*resultat 
FinTantQue 
Afficher resultat 
FIN
Ce qui donne en Java : 
- 3 -
© ENI Editions - All rigths reserved - Jonifar lina
75
Précédent

- 75/220

Suivant