Académique Documents
Professionnel Documents
Culture Documents
INF1425 - Travail-Pratique - Version 7
INF1425 - Travail-Pratique - Version 7
TRAVAIL PRATIQUE
25 points
■
Remplissez soigneusement cette feuille d’identité.
■
Rédigez votre travail à la page suivante, à la suite de cette feuille.
■
Respectez les espaces réservés pour la personne tutrice.
■
Sauvegardez votre travail de cette façon : INF1425_TP_VOTRENOM.doc
■
Utilisez le Dépôt des travaux pour acheminer votre travail à votre personne tutrice.
Feuille d’identité
Nom: Romero Francia
Note
Commentaires :
_________________
_________________
_________________
_________________
Exercice 1. Les tableaux (8 points)
(1)
Pseudo-code :
Fonction Calcul_Nombre_Eleves_Classe_Iterative(Liste_Eleve : Tableau; nmax : Entier; Prenom : chaine; nom : chaine) : Entier
Variable :
i, nombre_eleves : Entier
Début :
nombre_eleves 0
Pour(i=1 à nmax) Faire
Si (Taille de Prenom≤20 et Taille de Nom≤20) Alors
Lire(Prenom, Nom)
Écrire(Prenom, Nom)
nombre_eleves nombre_eleves+1
Fin Si
Fin Pour
Retourner nombre_eleves
Fin.
Note : l’auteur du présent document AIME afficher la liste complète de tous les étudiants d’une classe X (et de toute structure de données
quelconque), pour ensuite réaliser le calcul du nombre d’élèves de cette classe X (et tout type de calcul et opération quelconque)!
(2)
Pseudo-code1 :
Fonction Calcul_Nombre_Eleves_Classe_Recursive(Liste_Eleve : Tableau; nmax : Entier; Prenom : chaine; nom : chaine) : Entier
Variable :
nombre_eleves : Entier
Début :
Si (nombre_eleves=-1) Alors
nombre_eleves0
Sinon Si (nombre_eleves=nmax) Alors
Retourner nombre_eleves
Sinon Si(Taille de Prenom≤20 et Taille de Nom≤20 et nombre_eleves˂nmax) Alors
Lire(Prenom, Nom)
Écrire(Prenom, Nom)
Retourner nombre_eleves Calcule_Nombre_Eleves_Classe_Recursive(nombre_eleves+1)
Fin Si
Fin.
Note : l’auteur du présent document AIME afficher la liste complète de tous les étudiants d’une classe X (et de toute structure de données
quelconque), pour ensuite réaliser le calcul du nombre d’élèves de cette classe X (et tout type de calcul et opération quelconque)!
1 : Voir l’annexe du présent document, car il contient la compilation de chacune des lignes de code du pseudo-code ci-dessus, qui démontre la
validité de ce pseudo-code.
(3)
La forme itérative de la fonction créé à la question 1, de l’exercice #1, a une complexité algorithmique de l’ordre (n), c-à-d, que cet algorithme
parcourt toute la table fournie dans l’énoncé de cet exercice, afin de lire tous les prénoms et tous les noms des étudiants d’une classe
quelconque, tandis que la forme récursive résout, de manière simple et plus rapide, la détermination du nombre d’étudiants de cette classe.
La forme récursive détermine ce nombre d’étudiant de cette classe, tout en décomposant le problème principal, en des sous-problèmes de
complexité algorithmique moindre et identique, pour chacun de ces sous-problèmes. Ceci ayant été dit, le complexité algorithmique de ces sous-
problèmes, fournis par la forme récursive, de la fonction de la question 2, de l’exercice 1, est de l’ordre (1).
3
INF 1425 – Travail pratique
1. Le principe d’empilage et de dépilage est de type LIFO : dernier entré, premier sorti.
2. La complexité algorithmique des opérations Pile Vide(P), Empiler(P) et Dépiler(P) est de l’ordre (1), c-à-d, que la complexité algorithmique
de ces trois types D’opérations dans une pile P est constante, et que le temps d’exécution n’augmente pas lorsque la taille de la pile
augmente.
3. Dans une pile P, pour chercher et trouver un élément x appartenant à cette pile P, il faut seulement dépiler, jusqu’à ce que l’on trouve
l’élément recherché, le dépilage prenne un temps d’exécution constant et de valeur moindre.
(2)
Algorithme Ajouter_Un_Element_Dans_Une_Pile_P(P : Pile; x : élément)
Début :
P.sommetP.sommet+1
P[P.sommet]x
Fin.
4
INF 1425 – Travail pratique
(3)
Fonction Algorithme_Calculer_Nombre_Elements_Dans_Une_Pile(P : Pile; x : élément)à
Début :
Retourner P.sommet
Fin.
(4)
Actions sur une pile vide P:
Empiler(10)→10
↑
P.sommet
Empiler(3)→10 3
↑
P.sommet
Dépiler()→10
↑
P.sommet
Empiler(12)→10 12
↑
P.sommet
Empiler(84)→10 12 84
↑
P.sommet
Dépiler()→10 12
↑
P.sommet
5
INF 1425 – Travail pratique
Dépiler()→10
↑
P.sommet
Empiler(19)→10 19
↑
P.sommet
Empiler(20)→10 19 20
↑
P.sommet
Dépiler()→10 19
↑
P.sommet
Empiler(17)→10 19 17
↑
P.sommet
Empiler(16)→10 19 17 16
↑
P.sommet
Dépiler()→10 19 17
↑
P.sommet
Dépiler()→10 19
↑
P.sommet
6
INF 1425 – Travail pratique
Empiler(4)→10 19 4
↑
P.sommet
Dépiler()→10 19
↑
P.sommet
Dépiler()→10
↑
P.sommet
(5)
Algorithme Ajouter_Un_Element_Dans_Une_File_F(F : File; x : élément)
Début :
F[F.queue]x
Si (F.queue==F.longueur) Alors
F.queue=1
Sinon
F.queueF.queue+1
Fin Si
Fin.
7
INF 1425 – Travail pratique
(6)
Actions sur une file vide :
Enfiler(51)→ 51
↑
F.tête
Enfiler(61)→ 51 61
↑ ↑
F.tête F.queue
Défiler()→ 61
↑
F.tête
Enfiler(21)→ 61 21
↑ ↑
F.tête F.queue
Enfiler(81)→ 61 21 81
↑ ↑
F.tête F.queue
Défiler()→ 21 81
↑ ↑
F.tête F.queue
Défiler()→ 81
↑
F.tête
Enfiler(9)→ 81 9
↑ ↑
F.tête F.queue
8
INF 1425 – Travail pratique
Enfiler(10)→ 81 9 10
↑ ↑
F.tête F.queue
Défiler()→ 9 10
↑ ↑
F.tête F.queue
Enfiler(17)→ 9 10 17
↑ ↑
F.tête F.queue
Enfiler(16)→ 9 10 17 16
↑ ↑
F.tête F.queue
Défiler()→ 10 17 16
↑ ↑
F.tête F.queue
Défiler()→ 17 16
↑ ↑
F.tête F.queue
Enfiler(4)→ 17 16 4
↑ ↑
F.tête F.queue
Défiler()→ 16 4
↑ ↑
F.tête F.queue
Défiler()→ 4
↑
F.tête
9
INF 1425 – Travail pratique
i=1 21(1),64(2),33(3),16(4),17(5),99(6),14(7),12(8),18(9),55(10)
indmin=1
(i,j)=(1,2)→Fais rien!
(i,j)=(1,3)→Fais rien!
(i,j)=(1,4)→indmin=4, et l’élément est 16.
(i,j)=(1,5)→Fais rien!
10
INF 1425 – Travail pratique
(i,j)=(1,6)→Fais rien!
(i,j)=(1,7)→indmin=7, et l’élément est 14.
(i,j)=(1,8)→indmin=8, et l’élément est 12.
(i,j)=(1,9)→Fais rien!
(i,j)=(1,10)→Fais rien!
(1)
Indmin=8˃i=1? Oui→Permute(1,8)→ 12 ,64(2),33(3),16(4),17(5),99(6),14(7),21(8),18(9),55(10)
i=2 12(1),64(2),33(3),16(4),17(5),99(6),14(7),21(8),18(9),55(10)
indmin=2
(1)
Indmin=7˃i=2? Oui→Permute(2,7)→ 12 ,14(2),33(3),16(4),17(5),99(6),64(7),21(8),18(9),55(10)
i=3 12(1),14(2),33(3),16(4),17(5),99(6),64(7),21(8),18(9),55(10)
indmin=3
11
INF 1425 – Travail pratique
(1)
Indmin=4˃i=3? Oui→Permute(3,4)→ 12 ,14(2),16(3),33(4),17(5),99(6),64(7),21(8),18(9),55(10)
i=4 12(1),14(2),16(3),33(4),17(5),99(6),64(7),21(8),18(9),55(10)
indmin=4
(1)
Indmin=5˃i=4? Oui→Permute(4,5)→ 12 ,14(2),16(3),17(4),33(5),99(6),64(7),21(8),18(9),55(10)
i=5 12(1),14(2),16(3),17(4),33(5),99(6),64(7),21(8),18(9),55(10)
indmin=5
(i,j)=(5,6)→Fais rien!
(i,j)=(5,7)→Fais rien!
(i,j)=(5,8)→ indmin=8, et l’élément est 21.
(i,j)=(5,9)→ indmin=9, et l’élément est 18.
(i,j)=(5,10)→Fais rien!
(1)
Indmin=9˃i=5? Oui→Permute(5,9)→ 12 ,14(2),16(3),17(4),18(5),99(6),64(7),21(8),33(9),55(10)
i=6 12(1),14(2),16(3),17(4),18(5),99(6),64(7),21(8),33(9),55(10)
indmin=6
(1)
Indmin=8˃i=6? Oui→Permute(6,8)→ 12 ,14(2),16(3),17(4),18(5),21(6),64(7),99(8),33(9),55(10)
12
INF 1425 – Travail pratique
i=7 12(1),14(2),16(3),17(4),18(5),21(6),64(7),99(8),33(9),55(10)
indmin=7
(i,j)=(7,8)→Fais rien!
(i,j)=(7,9)→ indmin=9, et l’élément est 33.
(i,j)=(7,10)→ indmin=10, et l’élément est 55.
(1)
Indmin=9˃i=7? Oui→Permute(7,9)→ 12 ,14(2),16(3),17(4),18(5),21(6),33(7),99(8),64(9),55(10)
i=8 12(1),14(2),16(3),17(4),18(5),21(6),33(7),99(8),64(9),55(10)
indmin=8
(1)
Indmin=10˃i=8? Oui→Permute(8,10)→ 12 ,14(2),16(3),17(4),18(5),21(6),33(7),55(8),64(9),99(10)
Le voici la suite d’éléments de l’exercice #3, triée avec l’algorithme de tri par sélection :
12,14,16,17,18,21,33,55,64,99
13
INF 1425 – Travail pratique
(2)
Triage de la suite d’éléments 21,64,33,16,17,99,14,12,18,55, en utilisant l’algorithme de tri par insertion montrée par la figure suivante :
21(1),64(2),33(3),16(4),17(5),99(6),14(7),12(8),18(9),55(10)
(i,j)=(1,2)→ 21˃64? Non!
33˃64? Non!
16˃64? Non!
17˃64? Non!
99˃64? Oui! → Alors il ne se passe rien, car l’élément 99 est placé après l’élément 64!
14˃64? Non!
12˃64? Non!
18˃64? Non!
55˃64? Non! !→ Alors l’élément 99 placé après l’élément 55!→ 21,64,33,16,17,14,12,18,55,99
Alors, le seul changement de place montrés ci-dessus donnent la suite suivante → 21,64,33,16,17,14,12,18,55,99
14
INF 1425 – Travail pratique
Alors, les deux changements de place montrés ci-dessus donnent la suite suivante → 21,33,16,17,14,12,18,55,64,99
(i,j)=(3,4)→ 21˃17? Oui! → Alors l’élément 21 est placé après l’élément 17!→ 33,16,17,21,14,12,18,55,64,99
33˃17? Oui! → Alors l’élément 33 est placé après l’élément 21!→ 16,17,21,33,14,12,18,55,64,99
16˃17? Non!
14˃17? Non!
12˃17? Non!
18˃17? Oui! → Alors il ne se passe rien, car l’élément 18 est placé après l’élément 17!
55˃17? Oui! → Alors l’élément 55 garde sa place!
64˃17? Oui! → Alors l’élément 64 garde sa place!
99˃17? Oui! → Alors l’élément 99 garde sa place!
Alors, les deux changements de place montrés ci-dessus donnent la suite suivante → 16,17,21,33,14,12,18,55,64,99
(i,j)=(4,5)→ 16˃14? Oui! → Alors l’élément 16 est placé après l’élément 14!→ 17,21,33,14,16,12,18,55,64,99
17˃14? Oui! → Alors l’élément 17 est placé après l’élément 16!→ 21,33,14,16,17,12,18,55,64,99
21˃14? Oui! → Alors l’élément 21 est placé après l’élément 17!→ 33,14,16,17,21,12,18,55,64,99
33˃14? Oui! → Alors l’élément 33 est placé après l’élément 21!→ 14,16,17,21,33,12,18,55,64,99
12˃14? Non!
18˃14? Non!
55˃14? Oui!→Alors l’élément 55 garde sa place!
64˃14? Oui!→Alors l’élément 64 garde sa place!
99˃14? Oui!→Alors l’élément 99 garde sa place!
Alors, les quatre changements de place montrés ci-dessus donnent la suite suivante → 14,16,17,21,33,12,18,55,64,99
15
INF 1425 – Travail pratique
(i,j)=(5,6)→ 14˃12? Oui! → Alors l’élément 14 est placé après l’élément 12! → 16,17,21,33,12,14,18,55,64,99
16˃12? Oui! → Alors l’élément 16 est placé après l’élément 14! → 17,21,33,12,14,16,18,55,64,99
17˃12? Oui! → Alors l’élément 17 est placé après l’élément 16! → 21,33,12,14,16,17,18,55,64,99
21˃12? Oui! → Alors l’élément 21 est placé après l’élément 17! → 33,12,14,16,17,21,18,55,64,99
33˃12? Oui! → Alors l’élément 33 est placé après l’élément 21! → 12,14,16,17,21,33,18,55,64,99
18˃12? Oui! → Alors il ne se passe rien, car l’élément 18 est placé après l’élément 12!
55˃12? Oui!→Alors l’élément 55 garde sa place!
64˃12? Oui!→Alors l’élément 64 garde sa place!
99˃12? Oui!→Alors l’élément 99 garde sa place!
Alors, les cinq changements de place montrés ci-dessus donnent la suite suivante → 12,14,16,17,21,33,18,55,64,99
Alors, les deux changements de place montrés ci-dessus donnent la suite suivante → 12,14,16,17,18,21,33,55,64,99
(i,j)=(8,9) → Idem que pour le cas de l’itération (i,j)=(7,8), sauf que la clé dans cette itération est l’élément 64¡
Le voici la suite d’éléments de l’exercice #3, triée avec l’algorithme de tri par sélection :
12,14,16,17,18,21,33,55,64,99
(3)
Triage de la suite d’éléments 21,64,33,16,17,99,14,12,18,55, en utilisant l’algorithme de tri à bulle montrée par la figure suivante :
21(1),64(2),33(3),16(4),17(5),99(6),14(7),12(8),18(9),55(10)
Traitement de N-1 à (10) :
17
INF 1425 – Travail pratique
12<14→Permute(12,14) → 18(1),21(2),55(3),16(4),17(5),33(6),14(7),12(8),64(9),99(10)
12<33→Permute(12,33)→ 18(1),21(2),55(3),16(4),17(5),33(6),12(7),14(8),64(9),99(10)
18
INF 1425 – Travail pratique
19
INF 1425 – Travail pratique
Le voici la suite d’éléments de l’exercice #3, triée avec l’algorithme de tri par sélection :
12,14,16,17,18,21,33,55,64,99
(4)
20
INF 1425 – Travail pratique
Triage de la suite d’éléments 21,64,33,16,17,99,14,12,18,55, en utilisant l’algorithme de tri rapide montrée par les figures suivantes :
21(1),64(2),33(3),16(4),17(5),99(6),14(7),12(8),18(9),55(10)
↑
r (pivot)
21
INF 1425 – Travail pratique
Itération #1 :
21(1) 64(2) 33(3) 16(4) 17(5) 99(6) 14(7) 12(8) 18(9) 55(10)
↑
Pivot (pour l’itération #1!)
(i,j)=(0,1) → (1,1)
(i,j)=(1,2) → Fais rien!
(i,j)=(1,3)→ (2,3) → Permute(64,33) → 21(1) 33(2) 64(3) 16(4) 17(5) 99(6) 14(7) 12(8) 18(9) │ 55(10)
*
(i,j)=(2,4)→ (3,4) → Permute(64,16) → 21(1) 33(2) 16(3) 64(4) 17(5) 99(6) 14(7) 12(8) 18(9) │ 55(10)
*
(i,j)=(3,5)→ (4,5) → Permute(64,17) → 21(1) 33(2) 16(3) 17(4) 64(5) 99(6) 14(7) 12(8) 18(9) │ 55(10)
*
(i,j)=(4,6) → Fais rien!
(i,j)=(4,7)→ (5,7) → Permute(64,14) → 21(1) 33(2) 16(3) 17(4) 14(5) 99(6) 64(7) 12(8) 18(9) │ 55(10)
*
(i,j)=(5,8)→ (6,8) → Permute(99,12) → 21(1) 33(2) 16(3) 17(4) 14(5) 12(6) 64(7) 99(8) 18(9) │ 55(10)
*
(i,j)=(6,9)→ (7,9) → Permute(64,18) → 21(1) 33(2) 16(3) 17(4) 14(5) 12(6) 18(7) 99(8) 64(9) │ 55(10)
*
(1) (2) (3) (4) (5) (6) (7) (8) (9) (10)
Permute(8,10) → Permute(99,55) → 21 33 16 17 14 12 18 55 64 │ 99
*
↑
Pivot (pour l’itération #2!)
Retourner i+1 → réaliser un décalage à droite à la toute fin de la compilation de l’algorithme de tri rapide!
22
INF 1425 – Travail pratique
Itération #2 :
21(1) 33(2) 16(3) 17(4) 14(5) 12(6) 18(7) 55(8) 64(9) │ 99(10)
↑
Pivot (pour l’itération #3!)
*
(i,j)=(0,1) → (1,1)
(i,j)=(1,2) → (2,2)
(i,j)=(2,3) → (3,3)
(i,j)=(3,4) → (4,4)
(i,j)=(4,5) → (5,5)
(i,j)=(5,6) → (6,6)
(i,j)=(6,7) → (7,7)
(i,j)=(7,8) → (8,8)
(i,j)=(8,9) → (9,9)
Permute(9,10) → Il n’est pas possible de réaliser cette permutation, car les chiffres de position 8, 9 et 10, qui sont les élément 55,64 et 99, SONT
A LEUR PLACE ET NE DOIVENT PLUS ÊTRE TOUCHÉS. Alors, le prochain élément qui doit devenir le pivot, c’est le premier élément qui se trouve
juste à gauche de l’élément 55, qui est à sa place. Cet élément est le nombre 18, alors c’est cet élément le prochain pivot!
Ceci ayant été clarifié, le voici le prochain changement de place à faire, pour compiler l’algorithme de tri rapide :
Mettre l’élément 18 après l’élément 99 → 21(1) 33(2) 16(3) 17(4) 14(5) 12(6) 55(7) 64(8) 99(9) │ 18(10)
*
Note : Il est à comprendre que, à cause de l’impossibilité de réaliser la permutation Permute(9,10), et que le prochain pivot est l’élément 18, en
plus du fait que les éléments 55,64 et 99 SONT A LEUR PLACE, il ne faut SURTOUT PAS réaliser une permutation, il faut plutôt réaliser un
changement de place, pour ce nouveau pivot, qui est l’élément 18, car sinon on sera DANS UNE BOUCLE INFINIE, où i y aura des permutations
bidon QUI NE RÉALISENT AUCUN TRI RAPIDE!
Retourner i+1 → réaliser un décalage à droite à la toute fin de la compilation de l’algorithme de tri rapide!
23
INF 1425 – Travail pratique
Itération #3 :
21(1) 33(2) 16(3) 17(4) 14(5) 12(6) 55(7) 64(8) 99(9) │ 18(10)
↑ *
Pivot (pour l’itération #4!)
Permute(5,10) → Permute(21,18) →
Permute(5,10) → Il n’est pas possible de réaliser cette permutation, car les chiffres de position 5,6,7,8 et 9, qui sont les élément 21,33,55,64 et
99, SONT A LEUR PLACE ET NE DOIVENT PLUS ÊTRE TOUCHÉS. Alors, le prochain élément qui doit devenir le pivot, c’est le premier élément qui se
trouve juste à gauche de l’élément 21, qui est à sa place. Cet élément est le nombre 12, alors c’est cet élément le prochain pivot!
Ceci ayant été clarifié, le voici la prochaine permutation à faire, pour compiler l’algorithme de tri rapide :
Permute(4,10) → Permute(12,18) → 16(1) 17(2) 14(3) 18(4) 21(5) 33(6) 55(7) 64(8) 99(9) │ 12(10)
24
INF 1425 – Travail pratique
Note : Il est à comprendre que, à cause de l’impossibilité de réaliser la permutation Permute(5,10), et que le prochain pivot est l’élément 12, en
plus du fait que les éléments 21,33,55,64 et 99 SONT A LEUR PLACE, il faut réaliser la permutation Permute(4,10), au lieu de la permutation
Permute(5,10).
Retourner i+1 → réaliser un décalage à droite à la toute fin de la compilation de l’algorithme de tri rapide!
Itération #4 :
16(1) 17(2) 14(3) 18(4) 21(5) 33(6) 55(7) 64(8) 99(9) │ 12(10)
↑ *
Pivot (pour l’itération #5!)
Permute(1,10)1 → Permute(16,12) → 12(1) 17(2) 14(3) 18(4) 21(5) 33(6) 55(7) 64(8) 99(9) │ 16(10)
*
1
: La permutation Permute(1,10) est possible à cause du fait que, dans la compilation de la boucle TANT QUE, à l’itération #5, n’a donné aucun
triage. Alors, la variable i de l’algorithme de tri rapide, montrée à la page 21, n’a jamais changé tout au cours de cette itération #5. Par
conséquent, i vaut 0, et i+1 vaut 1, et donc la permutation qui est placé APRÈS LA BOUCLE TANT QUE, se réalise avec la variable i assignée à la
valeur 0, et la variable r assignée à la valeur 10.
Retourner i+1 → réaliser un décalage à droite à la toute fin de la compilation de l’algorithme de tri rapide!
25
INF 1425 – Travail pratique
Itération #5 :
12(1) 17(2) 14(3) 18(4) 21(5) 33(6) 55(7) 64(8) 99(9) │ 16(10)
*
(i,j)=(0,1) → (1,1)
(i,j)=(1,2) → Fais rien!
(i,j)=(1,3)→ (2,3) Permute(17,14) → 12(1) 14(2) 17(3) 18(4) 21(5) 33(6) 55(7) 64(8) 99(9) │ 16(10)
*
(i,j)=(2,4) → Fais rien!
(i,j)=(0,5) → Fais rien!
(i,j)=(0,6) → Fais rien!
(i,j)=(0,7) → Fais rien!
(i,j)=(0,8) → Fais rien!
(i,j)=(0,9) → Fais rien!
Permute(4,10)2 → Il n’est pas possible de réaliser cette permutation, car les chiffres de position 1,2,3,4,5,6,7,8 et 9, qui sont les élément
12,14,17,18,21,33,55,64 et 99, SONT A LEUR PLACE ET NE DOIVENT PLUS ÊTRE TOUCHÉS. Alors, l’algorithme de triage rapide s’est terminé, et
alors on doit placer l’élément 16 à l’emplacement j=3, car c’est le dernier emplacement compilé par l’algorithme de tri, et qui a donné comme
résultat de compilation, une permutation d’éléments.
Ceci ayant été clarifié, l’algorithme de tri se termine par l’emplacement de l’élément 16 à la quatrième position de la suite d’éléments de
l’exercice 3, ainsi qu’il faut réaliser 7 décalages à droite, afin de réaliser une mise à jour des numéros d’emplacements des éléments suivant cet
élément 16. Le voici l’emplacement de cet élément 16, dans la suite d’élément déjà trié de manière ascendante :
12(1),14(2),16(3),17(4),18(5),21(6),33(7),55(8),64(9),99(10)
2
: A l’itération #5, il n’y a plus de permutations à faire, car TOUS LES NUMÉROS, SAUF 16 sont DÉJÀ TRIÉS, DE FORME ASCENDANTE, alors on ne
les touche plus! Il faut déterminer l’emplacement du dernier numéro pivot créé par l’algorithme de tri rapide, qui est le numéro 16. La façon la
plus logique de déterminer l’emplacement de ce nombre 17, de manière ascendante, est de prendre la dernière valeur compilée de la variable j ,
et qui a permis de réaliser une permutation, à l’aide de l’algorithme de tri rapide. Dans le cas de l’itération #5, cette variable j a pris, comme
dernière valeur compilée, la valeur 3, alors on met l’élément 16 à l’emplacement 3! C’est de cette manière que finit la compilation de
l’algorithme de tri rapide!
26
INF 1425 – Travail pratique
Le voici la suite d’éléments de l’exercice #3, triée avec l’algorithme de tri par sélection :
12,14,16,17,18,21,33,55,64,99
Note : le triage réalisé par l’algorithme de tri rapide a été très rapide hein!!!
27
INF 1425 – Travail pratique
Annexe
Travail Pratique – Révision et vérification du pseudo-code de l’exercice (2), de la question 1 du
Travail pratique
1
28
INF 1425 – Travail pratique
40
39
Fin
Les lignes ci-dessus, qui montrent la compilation des lignes du pseudo-code de l’exercice 2, de la question 1, du présent travail pratique, en
considérant une classe quelconque X, ayant un maximum de 40 élèves, c-à-d, que cette classe d’école X est associée à 40 élèves d’école
quelconque Y!
29