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 coupci 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
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 coupci 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
