Ré-ordre de trois entiers [if13] - Exercice

publicité
Ré-ordre de trois entiers [if13] - Exercice
Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner
Unisciel
algoprog
Version 15 octobre 2016
Table des matières
1 Ré-ordre de trois entiers
1.1 Arbre de décision . . .
1.2 Affichage ordonné . . .
1.3 Tri croissant . . . . . .
/
.
.
.
pgreordre
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Références générales
2
2
3
4
5
alg - Ré-ordre de trois entiers (Solution)
Mots-Clés Structures conditionnelles Requis Structures de base Difficulté • ◦ ◦ (30 min) Objectif
Cet exercice réalise l’affichage ordonné puis le tri croissant de trois entiers.
...(énoncé page suivante)...
1
Unisciel algoprog – Ré-ordre de trois entiers [if13]
1
1.1
2
Ré-ordre de trois entiers / pgreordre
Arbre de décision
Soient trois valeurs a, b, c sur lesquels est définie une relation d’ordre inférieur (<).
Remplissez les rectangles de l’arbre de décision selon le même principe que celui fourni.
Solution simple
Voici l’arbre solution :
Unisciel algoprog – Ré-ordre de trois entiers [if13]
1.2
Affichage ordonné
Écrivez un algorithme qui saisit trois valeurs entières dans a, b et c.
Affichez l’invite :
Trois entiers?
En utilisant l’arbre de décision, affichez dans l’ordre les trois entiers.
Aide détaillée
Par exemple, dans le cas a<b et c<b, cela consiste à écrire :
Afficher("==> " , a , " <= " , c , " < " , b)
Testez. Exemples d’exécution.
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 algorithme avec la solution.
Solution alg
@[pgreordre1.alg]
Algorithme pgreordre1
Variable a , b , c : Entier
Début
| Afficher ( "Trois entiers? " )
3
Unisciel algoprog – Ré-ordre de trois entiers [if13]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fin
1.3
4
Saisir ( a , b , c )
Si ( a < b ) Alors
| Si ( c < a ) Alors
|
| Afficher ( "==> " , c , " < " , a , " < " , b )
| Sinon
|
| Si ( c < b ) Alors
|
|
| Afficher ( "==> " , a , " <= " , c , " < " , b )
|
| FinSi
| FinSi
Sinon
| Si ( a < c ) Alors
|
| Afficher ( "==> " , b , " <= " , a , " < " , c )
| Sinon
|
| Si ( c < b ) Alors
|
|
| Afficher ( "==> " , c , " < " , b , " <= " , a )
|
| Sinon
|
|
| Afficher ( "==> " , b , " <= " , c , " <= " , a )
|
| FinSi
| FinSi
FinSi
Tri croissant
Complétez votre algorithme afin de remette dans l’ordre les trois valeurs. (Déclarez
une variable tmp pour réaliser les permutations.)
Aide simple
Remplacez les affichages par des permutations.
Aide détaillée
Par exemple, dans le cas a<b et c<b, cela consiste à écrire :
tmp <- c
c <- b
b <- tmp
Testez. Exemples d’exécution.
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 algorithme avec la solution.
Unisciel algoprog – Ré-ordre de trois entiers [if13]
Solution alg
@[pgreordre2.alg]
Algorithme pgreordre2
Variable a , b , c : Entier
Variable tmp : Entier
Début
| Afficher ( "Trois entiers? " )
| Saisir ( a , b , c )
| Si ( a < b ) Alors
|
| Si ( c < a ) Alors
|
|
| tmp <- c
|
|
| c <- a
|
|
| a <- b
|
|
| b <- tmp
|
| Sinon
|
|
| Si ( c < b ) Alors
|
|
|
| tmp <- c
|
|
|
| c <- b
|
|
|
| b <- tmp
|
|
| FinSi
|
| FinSi
| Sinon
|
| Si ( a < c ) Alors
|
|
| tmp <- a
|
|
| a <- b
|
|
| b <- tmp
|
| Sinon
|
|
| Si ( c < b ) Alors
|
|
|
| tmp <- a
|
|
|
| a <- c
|
|
|
| c <- tmp
|
|
| Sinon
|
|
|
| tmp <- b
|
|
|
| b <- c
|
|
|
| c <- a
|
|
|
| a <- tmp
|
|
| FinSi
|
| FinSi
| FinSi
| Afficher ( "==> " , a , " " , b , " " , c )
Fin
2
Références générales
Comprend [Tarlowski-PG1 :c2 :ex6] 5
Téléchargement