Exercice N° 1 :
Ecrire une analyse et l’algorithme d’un programme qui permet de remplir un tableau t avec n entiers,
dont n entre [3...30], puis trier le tableau par ordre croissant en utilisant le tri à bulle.
NB : la solution doit comporter le nombre minimal de permutations
Analyse du programme Principal
Nom = Tri_a_bulles
S
L.D.E
O.U
4
3
2
1
5
Résultat = Proc Affiche (T, n)
T trié = Proc Tri (T, n)
T rempli = Proc Remplir (T, n)
n = Proc saisir (n)
Fin Entreprise
Affiche, T
Tri
Remplir, saisir
n
Algorithme
0) Début Tri_a_bulles
1) Proc saisir (n)
2) Proc Remplir (T, n)
3) Proc Tri (T, n)
4) Proc Affiche (T, n)
5) Fin Entreprise
Tableau de déclaration des nouveaux types
Type
Tab = tableau de 30 entiers
Tri_a_bulles
Remplir le tableau
par n entiers
Afficher le contenu
du tableau
Proc Saisir
Proc Remplir
Proc Tri
Afficher le contenu
du tableau
Proc Affiche
rie N° 01
Les Algorithmes de tri
Tableau de déclaration des objets Globaux
Objet
T/N
Rôle
Affiche
procédure
Permet d’afficher le contenu du tableau
T
Tab
Un tableau d’entiers
Tri
Procédure
Permet de trié un tableau d’entiers
Remplir
procédure
Permet de remplir un tableau d’entiers
saisir
procédure
Permet de saisir la taille du tableau
n
entier
La taille du tableau
Analyse de la procédure Saisir
DEF PROC Saisir (var n : entier)
S
L.D.E
O.U
1
2
Résultat = n
n = []
Répéter
n = Donnée ("La taille du tableau ")
Jusqu’à (n dans [3 .. 30])
Fin Saisir
Algorithme
0) Début PROC Saisir (var n : entier)
1) Répéter
Ecrire ("La taille du tableau "), lire(n)
Jusqu’à (n dans [3 .. 30])
2) Fin Saisir
Analyse de la procédure Remplir
DEF PROC Remplir (var T : tab ; n : entier)
S
L.D.E
O.U
1
2
Résultat = T
T = [ ]
Pour i de 1 à n faire
T[i] = donnée ("t [", i, "]")
fin pour
i = compteur
Fin Remplir
i
Algorithme
0) Début PROC Remplir (var T : tab ; n : entier)
1) Pour i de 1 à n faire
Ecrire ("t [", i, "]")
Lire (T[i])
Fin pour
2) Fin Remplir
Analyse de la procédure Tri
DEF PROC Tri (T : tab ; n : entier)
S
L.D.E
O.U
1
2
Résultat = Ttrié
Ttrié = [ ]
répéter
permute < faux
Pour i de 1 à n-1 faire
Si t[i] > t [i+1] alors
aux <-- t[i]
t[i] <-- t [i+1])
t [i+1] <-- aux
permute < vrai
Fin si
Fin pour
n < n-1
Jusqu’ à (permute = faux) ou (n=1)
i = compteur
Fin Affiche
Permute
i
aux
Algorithme
0) Début Proc Tri (n : entier ; var t : tab)
1) répéter
permute < faux
Pour i de 1 à n-1 faire
Si t[i] > t [i+1] alors
aux <-- t[i]
t[i] <-- t [i+1])
t [i+1] <-- aux
permute < vrai
Fin si
Fin pour
n < n-1
Jusqu’ à (permute = faux) ou (n=1)
2) Fin Tri
Analyse de la procédure Affiche
DEF PROC Affiche (T : tab ; n : entier)
S
L.D.E
O.U
Résultat = Affiche
1
2
Affiche = [ ]
Pour i de 1 à n faire
Ecrire ("t [", i, "]")
Lire (T[i])
fin pour
i = compteur
Fin Affiche
i
Algorithme
0) Début PROC Affiche (T : tab ; n : entier)
1) Pour i de 1 à n faire
Ecrire ("t [", i, "]")
Lire (T[i])
Fin pour
2) Fin Affiche
Exercice N° 2 :
Ecrire une analyse et l’algorithme d’un programme qui permet de remplir un tableau t avec n
caractères, dont n entre [3...30], puis trier le tableau par ordre croissant en utilisant le tri par
sélection.
NB : la solution doit comporter une fonction qui calcule la position du minimum.
Tri_par_sélection
Remplir le tableau
par n caractères
Afficher le contenu
du tableau
Proc Saisir
Proc Remplir
Proc Tri
Afficher le contenu
du tableau
Proc Affiche
Calcul position
minimum
FN TPosmin
Analyse du programme Principal
Nom = Tri_par_sélection
S
L.D.E
O.U
4
3
2
1
5
Résultat = Proc Affiche (T, n)
T trié = Proc Tri (T, n)
T rempli = Proc Remplir (T, n)
n = Proc saisir (n)
Fin Entreprise
Affiche, T
Tri
Remplir, saisir
n
Algorithme
0) Début Tri_a_bulles
1) Proc saisir (n)
2) Proc Remplir (T, n)
3) Proc Tri (T, n)
4) Proc Affiche (T, n)
5) Fin Entreprise
Tableau de déclaration des nouveaux types
Type
Tab = tableau de 30 caractères
Tableau de déclaration des objets Globaux
Objet
T/N
Rôle
Affiche
procédure
Permet d’afficher le contenu du tableau
T
Tab
Un tableau d’entiers
Tri
Procédure
Permet de trié un tableau de caractères
Remplir
procédure
Permet de remplir un tableau de n caractères
saisir
procédure
Permet de saisir la taille du tableau
n
entier
La taille du tableau
Analyse de la procédure Saisir
DEF PROC Saisir (var n : entier)
S
L.D.E
O.U
1
2
Résultat = n
n = []
Répéter
n = Donnée ("La taille du tableau ")
Jusqu’à (n dans [3 .. 30])
Fin Saisir
1 / 8 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 !