R´e-ordre de trois entiers [if13] - Exercice
Karine Zampieri, St´ephane Rivi`ere
Unisciel algoprog Version 29 d´ecembre 2016
Table des mati`eres
1 R´e-ordre de trois entiers / pgreordre 2
1.1 Arbre de d´ecision ............................... 2
1.2 Affichage ordonn´e ............................... 3
1.3 Tri croissant .................................. 4
2 R´ef´erences g´en´erales 6
Java - R´e-ordre de trois entiers (Solution)
Mots-Cl´es Structures conditionnelles
Requis Structures de base
Difficult´e •◦◦ (30 min)
Objectif
Cet exercice r´ealise l’affichage ordonn´e puis le tri croissant de trois entiers.
...(´enonc´e page suivante)...
1
Unisciel algoprog – R´e-ordre de trois entiers [if13] 2
1 R´e-ordre de trois entiers / pgreordre
1.1 Arbre de d´ecision
Soient trois valeurs a,b,csur lesquels est d´efinie une relation d’ordre inf´erieur (<).
Remplissez les rectangles de l’arbre de d´ecision selon le mˆeme principe que celui fourni.
Solution simple
Voici l’arbre solution :
Unisciel algoprog – R´e-ordre de trois entiers [if13] 3
1.2 Affichage ordonn´e
´
Ecrivez un programme qui saisit trois valeurs enti`eres dans a,bet c.
Affichez l’invite :
Trois entiers?
En utilisant l’arbre de d´ecision, affichez dans l’ordre les trois entiers.
Aide d´etaill´ee
Par exemple, dans le cas a<b et c<b, cela consiste `a ´ecrire :
Testez. Exemples d’ex´ecution.
Trois entiers? 2 1 3
==>1<=2<3
Trois entiers? 3 0 -2
==> -2 < 0 <= 3
Trois entiers? 5 1 2
==> 1 <= 2 <= 5
Validez votre programme avec la solution.
Solution Java @[pgreordre1.java]
import java.util.Scanner;
public class PGReordre1 {
public static void main(String[] args) {
Scanner cin =new Scanner(System.in);
System.out.print("Trois entiers? ");
Unisciel algoprog – R´e-ordre de trois entiers [if13] 4
int a=cin.nextInt();
int b=cin.nextInt();
int c=cin.nextInt();
if (a<b){
if (c<a){
System.out.println("==> "+c+"<"+a+"<"+b);
}
else{
if (c<b){
System.out.println("==> "+a+" <= "+c+"<"+b);
}
else{
System.out.println("==> "+a+" <= "+b+" <= "+c);
}
}
}
else{
if (a<c){
System.out.println("==> "+b+" <= "+a+"<"+c);
}
else{
if (c<b){
System.out.println("==> "+c+"<"+b+" <= "+a);
}
else{
System.out.println("==> "+b+" <= "+c+" <= "+a);
}
}
}
}
}
1.3 Tri croissant
Compl´etez votre programme afin de remette dans l’ordre les trois valeurs. (D´eclarez
une variable tmp pour r´ealiser les permutations.)
Aide simple
Remplacez les affichages par des permutations.
Aide d´etaill´ee
Par exemple, dans le cas a<b et c<b, cela consiste `a ´ecrire :
Testez. Exemples d’ex´ecution.
Trois entiers? 2 1 3
==> 1 2 3
Trois entiers? 3 0 -2
==> -2 0 3
Unisciel algoprog – R´e-ordre de trois entiers [if13] 5
Trois entiers? 5 1 2
==> 1 2 5
Validez votre programme avec la solution.
Solution Java @[pgreordre2.java]
import java.util.Scanner;
public class PGReordre2 {
public static void main(String[] args) {
Scanner cin =new Scanner(System.in);
System.out.print("Trois entiers? ");
int a=cin.nextInt();
int b=cin.nextInt();
int c=cin.nextInt();
int tmp;
if (a<b){
if (c<a){
tmp =c;
c=b;
b=a;
a=tmp;
}
else{
if (c<b){
tmp =c;
c=b;
b=tmp;
}
}
}
else{
if (a<c){
tmp =a;
a=b;
b=tmp;
}
else{
if (c<b){
tmp =a;
a=c;
c=tmp;
}
else{
tmp =b;
b=c;
c=a;
a=tmp;
}
}
}
System.out.println("==> "+a+" "+b+" "+c);
}
}
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !