try {
ta=input.readLine();
tb=input.readLine();
tc=input.readLine();
}
catch(Exception excp) {
System.out.println("Erreur");
}
a=Double.parseDouble(ta);
b=Double.parseDouble(tb);
c=Double.parseDouble(tc);
delta=(b*b)-(4*a*c);
if(delta>0) {
x1=(-b+Math.sqrt(delta))/(2*a);
x2=(-b-Math.sqrt(delta))/(2*a);
System.out.println("Deux solutions :");
System.out.println("x1="+x1);
System.out.println("x2="+x2);
}
else if (delta==0) {
x1=-b/(2*a);
System.out.println("Une seule solution x1="+x1);
}
else System.out.println("Pas de solution");
}
}
5. Choix multiples
Si les tests imbriqués facilitent parfois la vie, ils deviennent parfois trop lourds lorsque le nombre de tests devient trop
important. Certains langages ont trouvé une intéressante parade à ce problème en proposant des structures de tests
selon que telle expression est vraie, ou telle autre, et ainsi de suite. Au lieu de faire des Si imbriqués ou des SinonSi, il
suffit alors d’indiquer quoi faire quand telle ou telle valeur est rencontrée. En algorithmique, cela se traduit par la
pseudoinstruction "Selon que".
Selon que :
Condition 1 : bloc 1
Condition 2 : bloc 2
Condition n : bloc n
Sinon : bloc final
Fin Selon
Une instruction "Selon que" peut être convertie facilement en Si imbriqués. Les conditions sont vérifiées les unes après
les autres, dans l’ordre indiqué. Quand une condition est vraie, le bloc d’instructions associé est exécuté puis
l’algorithme continue après le "Fin Selon". Si aucune condition n’est vérifiée, c’est le bloc final du "Sinon" qui est
exécuté.
Voici une application simple qui permet de placer dans une variable le nom d’un mois en fonction de son numéro (entre
1 et 12) :
Variable mois en Numérique
Variable libelle_mois en Alphanumérique
Début
mois←11
Selon que :
mois=1 : libelle_mois←"janvier"
mois=2 : libelle_mois←"février"
mois=3 : libelle_mois←"mars"
mois=4 : libelle_mois←"avril"
mois=5 : libelle_mois←"mai"
mois=6 : libelle_mois←"juin"
mois=7 : libelle_mois←"juillet"
mois=8 : libelle_mois←"août"
mois=9 : libelle_mois←"septembre"
mois=10 : libelle_mois←"octobre"
mois=11 : libelle_mois←"novembre"
mois=12 : libelle_mois←"décembre"
- 7 -
© ENI Editions - All rigths reserved - Jonifar lina
53
ta=input.readLine();
tb=input.readLine();
tc=input.readLine();
}
catch(Exception excp) {
System.out.println("Erreur");
}
a=Double.parseDouble(ta);
b=Double.parseDouble(tb);
c=Double.parseDouble(tc);
delta=(b*b)-(4*a*c);
if(delta>0) {
x1=(-b+Math.sqrt(delta))/(2*a);
x2=(-b-Math.sqrt(delta))/(2*a);
System.out.println("Deux solutions :");
System.out.println("x1="+x1);
System.out.println("x2="+x2);
}
else if (delta==0) {
x1=-b/(2*a);
System.out.println("Une seule solution x1="+x1);
}
else System.out.println("Pas de solution");
}
}
5. Choix multiples
Si les tests imbriqués facilitent parfois la vie, ils deviennent parfois trop lourds lorsque le nombre de tests devient trop
important. Certains langages ont trouvé une intéressante parade à ce problème en proposant des structures de tests
selon que telle expression est vraie, ou telle autre, et ainsi de suite. Au lieu de faire des Si imbriqués ou des SinonSi, il
suffit alors d’indiquer quoi faire quand telle ou telle valeur est rencontrée. En algorithmique, cela se traduit par la
pseudoinstruction "Selon que".
Selon que :
Condition 1 : bloc 1
Condition 2 : bloc 2
Condition n : bloc n
Sinon : bloc final
Fin Selon
Une instruction "Selon que" peut être convertie facilement en Si imbriqués. Les conditions sont vérifiées les unes après
les autres, dans l’ordre indiqué. Quand une condition est vraie, le bloc d’instructions associé est exécuté puis
l’algorithme continue après le "Fin Selon". Si aucune condition n’est vérifiée, c’est le bloc final du "Sinon" qui est
exécuté.
Voici une application simple qui permet de placer dans une variable le nom d’un mois en fonction de son numéro (entre
1 et 12) :
Variable mois en Numérique
Variable libelle_mois en Alphanumérique
Début
mois←11
Selon que :
mois=1 : libelle_mois←"janvier"
mois=2 : libelle_mois←"février"
mois=3 : libelle_mois←"mars"
mois=4 : libelle_mois←"avril"
mois=5 : libelle_mois←"mai"
mois=6 : libelle_mois←"juin"
mois=7 : libelle_mois←"juillet"
mois=8 : libelle_mois←"août"
mois=9 : libelle_mois←"septembre"
mois=10 : libelle_mois←"octobre"
mois=11 : libelle_mois←"novembre"
mois=12 : libelle_mois←"décembre"
- 7 -
© ENI Editions - All rigths reserved - Jonifar lina
53
