Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
utilisateurs:hypathie:tutos:algo-exo-constructions-d-algorithmes-de-procedure [06/12/2014 16:15] Hypathie [Trier un tableau par remontée des bulles] |
utilisateurs:hypathie:tutos:algo-exo-constructions-d-algorithmes-de-procedure [06/12/2014 16:44] Hypathie [Trier un tableau par remontée des bulles] |
||
---|---|---|---|
Ligne 444: | Ligne 444: | ||
// et ordonnée en sortie | // et ordonnée en sortie | ||
PROCEDURES | PROCEDURES | ||
- | procédure remplir | + | procédure remplir ( entrée taille_tableau_donné : entier |
- | procédure triBulle | + | entrée/sortie ind : entier |
- | procédure affichage | + | entrée/sortie chiffre_donnés : entier |
+ | sortie liste_désordonnée : table | ||
+ | // La procédure remplir permet de récupérer les données saisies par l'utilisateur. | ||
+ | // chiffres_donnés : compteur de chiffres entrés | ||
+ | // taille_tableau_donné : c'est la taille choisie par l'utilisateur de la table. | ||
+ | // chiffre_donnés : c'est pour arrêter la saisie d'un nouvel élément | ||
+ | quand il y a autant que chiffres_donnés. | ||
+ | // ind : c'est l'indice de parcours de la table. | ||
+ | // liste_désordonnée : c'est la table de chiffre toute remplie qui a été saisie. | ||
+ | |||
+ | procédure procédure tribulle( entrée taille : entier | ||
+ | entrée/sortie chiffresDesordo : table | ||
+ | entrée/sortie chiffreOrdonnés : table) | ||
+ | // la procédure du tri des bulles permet de ranger une chaîne de chiffres | ||
+ | //désordonnés en ordre croissant. | ||
+ | // chiffresDesordo : est la liste de chiffres désordonnés rentrée par | ||
+ | l'utilisateur ainsi que la liste de chiffres triés en sortie. | ||
+ | // taille : est le nombre de chiffres rentrés par l'utilisateur. | ||
+ | // invert : est vrai quand il y a eu inversion | ||
+ | |||
+ | procédure Procédure affichage_tableau_ordonné ( entrée table_Rangée : table | ||
+ | entrée taille_table : entier) | ||
+ | // La procédure permet l'affichage du tableau trié | ||
+ | // table_Rangée est la table de chiffres ordonnés. | ||
+ | // table est le type crée (un tableau) | ||
+ | // taille_table définie la taille de la table. | ||
Début | Début | ||
saisie(chiffresDesordo, nbrchiffre, taille) // appel de la procédure saisie | saisie(chiffresDesordo, nbrchiffre, taille) // appel de la procédure saisie | ||
- | triBulle(chiffresDesordo, taille) // appelle de la procédure triBulle | + | triBulle(taille, chiffresDesordo) // appelle de la procédure triBulle |
- | affichage(chiffreOrdonnés, taille) // appelle de la procédure affichage | + | affichage(taille, chiffreOrdonnés) // appelle de la procédure affichage |
Fin | Fin | ||
Ligne 463: | Ligne 488: | ||
entrée/sortie chiffreOrdonnés : table) | entrée/sortie chiffreOrdonnés : table) | ||
- | // **la procédure du tri des bulles** permet de ranger une chaîne de chiffres | + | // La procédure du tri des bulles permet de ranger une chaîne de chiffres |
//désordonnés en ordre croissant. | //désordonnés en ordre croissant. | ||
- | // **chiffresDesordo** est la liste de chiffres désordonnés rentrée par | + | // chiffresDesordo : C'est la liste de chiffres désordonnés rentrée par |
l'utilisateur ainsi que la liste de chiffres triés en sortie. | l'utilisateur ainsi que la liste de chiffres triés en sortie. | ||
- | // **taille** est le nombre de chiffres rentrés par l'utilisateur. | + | // taille : C'est le nombre de chiffres rentrés par l'utilisateur. |
- | // **invert** est vrai quand il y a eu inversion | + | |
</code> | </code> | ||
===6) Algorithme de la procédure TrieBulle=== | ===6) Algorithme de la procédure TrieBulle=== | ||
Ligne 477: | Ligne 500: | ||
entrée/sortie chiffresDesordo : table | entrée/sortie chiffresDesordo : table | ||
entrée/sortie chiffreOrdonnés : table) | entrée/sortie chiffreOrdonnés : table) | ||
- | + | // La procédure du tri des bulles permet de ranger une chaîne de chiffres | |
- | // **la procédure du tri des bulles** permet de ranger une chaîne de chiffres | + | |
//désordonnés en ordre croissant. | //désordonnés en ordre croissant. | ||
- | // **chiffresDesordo** est la liste de chiffres désordonnés rentrée par | + | // chiffresDesordo : C'est la liste de chiffres désordonnés rentrée par |
l'utilisateur ainsi que la liste de chiffres triés en sortie. | l'utilisateur ainsi que la liste de chiffres triés en sortie. | ||
- | // **taille** est le nombre de chiffres rentrés par l'utilisateur. | + | // taille : C'est le nombre de chiffres rentrés par l'utilisateur. |
- | // **invert** est vrai quand il y a eu inversion | + | |
- | variable | + | VARIABLES |
- | i : entier // indice de parcours du tableau. | + | variable i : entier // indice de parcours du tableau. |
- | cible : entier // variable permettant l'inversion de 2 entiers dans le tableau. | + | variable cible : entier // variable permettant l'inversion de 2 entiers dans le tableau. |
- | comptinversion : entier // Comptage des inversions | + | variable comptinversion : entier // Comptage des inversions |
- | invert : booléen // Permet de déterminé s'il y a ou non inversion | + | variable invert : booléen // Permet de déterminé s'il y a ou non inversion |
Début | Début | ||
Ligne 516: | Ligne 537: | ||
====6 bis) Interfaces et programmes des procédures utilisées par le programme principal==== | ====6 bis) Interfaces et programmes des procédures utilisées par le programme principal==== | ||
- | ===I] Procédure "remplir"=== | + | ===I] Procédure "remplir et afficher tableau désordonné"=== |
<code> | <code> | ||
//exo: tri par remontée des bulles | //exo: tri par remontée des bulles | ||
Ligne 578: | Ligne 599: | ||
</code> | </code> | ||
- | ===II] procédure "afficher"=== | + | ===II] procédure "afficher tableau ordonné"=== |
<code> | <code> | ||
- | Procédure affichage ( entrée table_utilisateur : listechiffre, entrée taille_table : entier ) | + | Procédure affichage_tableau_ordonné ( entrée table_Rangée : table |
+ | entrée taille_table : entier) | ||
+ | | ||
- | // La procédure permet l'affichage du tableau de chiffre de l'utilisateur et le tableau trié | + | // La procédure permet l'affichage du tableau trié |
- | // table_utilisateur est la table de chiffre rentré par l'utilisateur. | + | // table_Rangée est la table de chiffres ordonnés. |
- | //listechiffre est le type crée (un tableau) | + | // table est le type crée (un tableau) |
// taille_table définie la taille de la table. | // taille_table définie la taille de la table. | ||
- | Variables | + | Type listeChiffre |
- | nombre_chiffre_affichage : entier // compte le nombre de chiffres rentré par l'utilisateur. | + | |
+ | Variable taille_table : entier // compte le nombre de chiffres rentré par l'utilisateur. | ||
Début | Début | ||
- | nombre_chiffre_affichage := 1 | + | Ecrire ( "le tableau rangé est ",table_Rangée[taille_table]) |
- | + | ||
- | Tantque ( nombre_chiffre_affichage <= taille_tableaffichage ) Faire | + | |
- | Ecrire ( ",liste_chiffre, [",nombre_chiffre_affichage," ] = ",taille_table [nombre_chiffre_affichage] ) | + | |
- | nombre_chiffre_affichage := nombre_chiffre_affichage + 1 | + | |
- | Fintantque | + | |
Fin | Fin | ||
</code> | </code> |