FinTantQue
Fin
Ce qui donne en Java :
import java.io.*;
class chap4_note {
public static void main(String[] args) {
String tnote;
int note;
BufferedReader saisie;
saisie=new BufferedReader(new InputStreamReader(System.in));
try {
System.out.println("Note (<-1:sortie) ?");
tnote=saisie.readLine();
note=Integer.parseInt(tnote);
while(note>-1) {
if(note>20) {
while(note <-1 || note>20) {
System.out.println("Erreur ! Note (-1:sortie) ?");
tnote=saisie.readLine();
note=Integer.parseInt(tnote);
}
}
if(note>-1) {
System.out.println("Note actuelle :"+note);
System.out.println("Note (-1:sortie) ?");
tnote=saisie.readLine();
note=Integer.parseInt(tnote);
}
}
}
catch(Exception excp) {
System.out.println("Erreur");
}
}
}
Cet algorithme montre qu’une simple répétition de saisie est plus complexe qu’il n’y parait. Au tout début l’utilisateur
se voit poser une première fois la question, s’il répond "1" tout de suite, il n’entre même pas dans la boucle. Dans la
première boucle, une vérification est effectuée sur la validité de la note saisie : estelle supérieure à 20 ? Si oui, alors
il faut de nouveau effectuer une saisie, et reposer en boucle la question autant de fois que nécessaire, c’estàdire
tant que la note saisie n’est pas comprise entre 1 et 20. Sachant que 1 est une condition de sortie, tous les
traitements, y compris la saisie d’une nouvelle note, ne doivent pas être effectués dans ce cas. Vous avez ici une très
belle application d’un cas où un "break" aurait pu effectivement être utilisé. Voici un exemple (incomplet) qui remplace
le dernier "Si" de l’algorithme précédent :
...
Tant que note>-1 Faire
...
Si note=-1 Alors
break
FinSi
Ecrire "Entrez une note"
Lire note
FinTantQue
La boucle principale peut en effet être directement interrompue dès qu’une note de 1 est rencontrée. Dans ce cas, il
serait même possible d’aller plus loin en considérant la première boucle comme infinie et en effectuant dedans toutes
les saisies et la condition de sortie :
Variable note en Numérique
Début
Tant que VRAI Faire
Ecrire "Entrez une note"
Lire note
- 7 -
© ENI Editions - All rigths reserved - Jonifar lina
79
Fin
Ce qui donne en Java :
import java.io.*;
class chap4_note {
public static void main(String[] args) {
String tnote;
int note;
BufferedReader saisie;
saisie=new BufferedReader(new InputStreamReader(System.in));
try {
System.out.println("Note (<-1:sortie) ?");
tnote=saisie.readLine();
note=Integer.parseInt(tnote);
while(note>-1) {
if(note>20) {
while(note <-1 || note>20) {
System.out.println("Erreur ! Note (-1:sortie) ?");
tnote=saisie.readLine();
note=Integer.parseInt(tnote);
}
}
if(note>-1) {
System.out.println("Note actuelle :"+note);
System.out.println("Note (-1:sortie) ?");
tnote=saisie.readLine();
note=Integer.parseInt(tnote);
}
}
}
catch(Exception excp) {
System.out.println("Erreur");
}
}
}
Cet algorithme montre qu’une simple répétition de saisie est plus complexe qu’il n’y parait. Au tout début l’utilisateur
se voit poser une première fois la question, s’il répond "1" tout de suite, il n’entre même pas dans la boucle. Dans la
première boucle, une vérification est effectuée sur la validité de la note saisie : estelle supérieure à 20 ? Si oui, alors
il faut de nouveau effectuer une saisie, et reposer en boucle la question autant de fois que nécessaire, c’estàdire
tant que la note saisie n’est pas comprise entre 1 et 20. Sachant que 1 est une condition de sortie, tous les
traitements, y compris la saisie d’une nouvelle note, ne doivent pas être effectués dans ce cas. Vous avez ici une très
belle application d’un cas où un "break" aurait pu effectivement être utilisé. Voici un exemple (incomplet) qui remplace
le dernier "Si" de l’algorithme précédent :
...
Tant que note>-1 Faire
...
Si note=-1 Alors
break
FinSi
Ecrire "Entrez une note"
Lire note
FinTantQue
La boucle principale peut en effet être directement interrompue dès qu’une note de 1 est rencontrée. Dans ce cas, il
serait même possible d’aller plus loin en considérant la première boucle comme infinie et en effectuant dedans toutes
les saisies et la condition de sortie :
Variable note en Numérique
Début
Tant que VRAI Faire
Ecrire "Entrez une note"
Lire note
- 7 -
© ENI Editions - All rigths reserved - Jonifar lina
79
