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:brouillon-bac-a-sable-de-mes-mini-tutos [06/12/2014 11:28] Hypathie [Test config] |
utilisateurs:hypathie:tutos:brouillon-bac-a-sable-de-mes-mini-tutos [07/12/2014 08:58] Hypathie [Test config] |
||
---|---|---|---|
Ligne 1225: | Ligne 1225: | ||
</code> | </code> | ||
- | =====Trie remontée des bulles ===== | + | =====Enregistrer un tableau ===== |
<code> | <code> | ||
- | Interface Procédure saisie des données | + | PROCEDURE INVERSER L'ORDRE DES MOTS D'UNE PHRASE TERMINEE PAR UN POINT |
+ | ___________________________________________________________________________________________ | ||
- | Procédure saisie ( sortie tablechiffresaisie : listechiffre, sortie tailletablesaisie : entier ) | ||
- | // La procédure saisie permet de récupérer les données saisies par l'utilisateur. | ||
- | // tablechiffresaisie est la table de chiffre rentré par l'utilisateur. | ||
- | // tailletablesaisie définie la taille de la table. | ||
- | Variables | + | 1) Définition du problème : |
- | nombrechiffresaisie : entier // compte le nombre de chiffres rentré par l'utilisateur. | + | |
- | Début | ||
- | // l'utilisateur rentre la taille de la table d'entier et ses valeurs. | ||
- | Répéter | + | une phrase | | Une phrase nouvelle phrase dont les |
- | Ecrire ( 'Quel sera le nombre de chiffre à trier?' ) // on demande la taille de la table en répétant jusqu'à avoir une valeur correcte (non négative et non supérieur à longueur du tableau). | + | avec point --------> | | ---> mots sont séparés d'un seul espace écrit à l'envers |
- | Lire ( tailletablesaisie ) | + | obigatoire | | dont chacun des mots sont écrits à l'envers. |
- | Jusquà ( tailletablesaisie >= 0 ) et ( tailletablesaisie < = maxchiffre ) | + | |
- | + | ||
- | nombrechiffresaisie := 1 // initialisation. | + | |
- | Tantque ( nombrechiffresaisie <= tailletablesaisie ) Faire | ||
- | Ecrire ( 'Veuillez donner un entier à mettre dans le numéro ',nombrechiffresaisie,' du tableau" ) // on demande ensuite les entiers à l'utilisateur pour chaque case du tableau. | ||
- | Lire ( tablechiffresaisie [ nombrechiffresaisie ] ) | ||
- | nombrechiffresaisie := nombrechiffresaisie + 1 // Incrémentation pour mettre les autres entiers dans le tableau. | ||
- | Fintantque | ||
- | Fin | ||
- | ################################################################################################################ | + | 2 ) Jeu d'essai |
- | Interface Procédure du tri des bulles | + | |
- | + | ||
- | Procédure tribulle ( entrée sortie tablechiffrebulle : listechiffre, entrée tailletablebulle : entier ) | + | |
- | // la procédure du tri des bulles permet de trier une chaine de chiffre du plus petit au plus grand en remontant les chiffres. | + | |
- | // tablechiffrebulle est la liste de chiffre rentrée par l'utilisateur ainsi que la liste triée en sortie. | + | |
- | // tailletablebulle est le nombre de chiffre rentré par l'utilisateur. | + | |
- | Variables | ||
- | indice : entier //indice de parcours du tableau. | ||
- | invert : booléen // booléen Vrai quand il y a une inversion dans le tableau. | ||
- | intermed : entier // variable intermediaire permettant l'inversion de 2 entiers dans le tableau. | ||
- | |||
- | Début | ||
- | // parcours jusqu'à qu'il n'y est plus aucune inversion. | ||
- | Répéter | + | Phrase phrase inversée |
- | + | ------------------------------------------------------------------ | |
- | indice := 1 | + | ' '. '.' |
- | + | . '.' | |
- | Tantque ( indice < tailletablebulle ) faire | + | "Il fait beau." "lI tiaf uaeb." |
- | Si tablechiffrebulle [indice] > tablechiffrebulle [ indice + 1 ] alors // si l'entier "1 "du tableau est supérieur à l'entier "2" suivant dans le tableau alors. | + | "Li tiaf uaeb." "iL fait beau." |
- | intermed := tablechiffrebulle [indice] // la variable intermédiaire prend la valeur de l'entier "1". | + | "il fait beau." "li tiaf uaeb." |
- | tablechiffrebulle [ indice ] := tablechiffrebulle [ indice +1 ] // la valeur de l'entier "1" prend la valeur de l'entier "2". | + | "il fait beau." "li tiaf uaeb." |
- | tablechiffrebulle [ indice + 1 ] := intermed // la valeur de l'entier "2" prend la valeur de la variable intermédiaire (donc de l'entier "1"). | + | "il fait. beau" "li tiaf." |
- | invert := vrai // l'inversion est donc Vrai. | + | |
- | Finsi | + | |
- | + | ||
- | indice := indice +1 // incrémentation pour passer aux entiers suivants. | + | |
- | Fintantque | + | |
- | + | ||
- | Jusquà invert := faux | + | |
- | Fin | ||
- | ################################################################################################################ | + | 3)Algo de principe: |
- | Interface procédure affichage du tableau | + | |
- | + | ||
- | Procédure affichage ( entrée tablechiffreaffichage : listechiffre, entrée tailletableaffichage : entier ) | + | |
- | // La procédure permet l'affichage du tableau de chiffre de l'utilisateur ainsi que le tableau trié | + | |
- | // tablechiffreaffichage est la table de chiffre rentré par l'utilisateur. | + | |
- | // tailletableaffichage définie la taille de la table. | + | |
+ | Parcourir une phrase | ||
+ | Saisir un mot | ||
+ | Copier le mot en sens inverse dans une nouvelle chaine | ||
- | |||
- | Variables | ||
- | nombrechiffreaffichage : entier // compte le nombre de chiffres rentré par l'utilisateur. | ||
- | |||
- | Début | ||
- | nombrechiffreaffichage := 1 | ||
- | |||
- | Tantque ( nombrechiffreaffichage <= tailletableaffichage ) Faire | ||
- | Ecrire ( ',listechiffre, [',nombrechiffreaffichage,' ] = ',tablechiffreaffichage, [',nombrechiffreaffichage,'] ) | ||
- | nombrechiffreaffichage := nombrechiffreaffichage +1 | ||
- | Fintantque | ||
- | Fin | + | 4) Définition des données |
- | ################################################################################################################ | ||
- | Programme test de la méthode de tri | + | 5) Programme de test |
- | + | ||
- | Programme tridesbulles // permet de trier un tableau de chiffre dans l'orde croissant. | + | |
- | Constantes | ||
- | maxchiffre = 100 // longueur max du tableau. | ||
- | |||
- | Types | ||
- | listechiffre = tableau [maxchiffre] d'entiers | ||
- | |||
- | Variables | ||
- | tablechiffre = listechiffre // la table de chiffre rentré par l'utilisateur. | ||
- | nombrechiffre = entier // compte le nombre de chiffres rentré par l'utilisateur. | ||
- | tailletable = entier // taille de la table. | ||
- | Procédure saisie ( sortie tablechiffresaisie : listechiffre, sortie tailletablesaisie : entier ) | + | 6) Programme de la procédure inverser l'ordre des lettres des mots dans une phrase |
- | // La procédure saisie permet de récupérer les données saisies par l'utilisateur. | + | |
- | // tablechiffresaisie est la table de chiffre rentré par l'utilisateur. | + | |
- | // tailletablesaisie définie la taille de la table. | + | |
- | + | ||
- | Procédure tribulle ( entrée sortie tablechiffrebulle : listechiffre, entrée tailletablebulle : entier ) | + | |
- | // la procédure du tri des bulles permet de trier une chaine de chiffre du plus petit au plus grand en remontant les chiffres. | + | |
- | // tablechiffrebulle est la liste de chiffre rentrée par l'utilisateur ainsi que la liste triée en sortie. | + | |
- | // tailletablebulle est le nombre de chiffre rentré par l'utilisateur. | + | |
- | Procédure affichage ( entrée tablechiffreaffichage : listechiffre, entrée tailletableaffichage : entier ) | ||
- | // La procédure permet l'affichage du tableau de chiffre de l'utilisateur ainsi que le tableau trié | ||
- | // tablechiffreaffichage est la table de chiffre rentré par l'utilisateur. | ||
- | // tailletableaffichage définie la taille de la table. | ||
+ | ________________________ | ||
- | Début | + | Soit le mot 'BONJOUR' |
+ | c'est comme si c'était un tableau de caractères mot={B,O,N,J,O,U,R} | ||
+ | Dans son ensemble le tableau est une chaine (ou un mot). Tu peut aussi épeler le mot, première lettre B, deuxième lettre O, quatrième lettre J.... Bien souvent les elements d'un tableau sont numérotés à partir de 0. | ||
+ | 0 -> B | ||
+ | 1 -> O | ||
+ | 2 -> N | ||
+ | 3 -> J | ||
+ | 4 -> O | ||
+ | 5 -> U | ||
+ | 6 -> R | ||
- | saisie ( tablechiffre, nombrechiffre, tailletable ) // appel procédure de saisie. | + | c'est ce que fait la boucle Pour i de (l-1) à 0 |
- | tribulle ( tablechiffre, tailletable ) // appel procédure tribulle pour le tri. | + | dans ce cas l=7 alors |
- | + | Pour i de (l-1) à 0 --------> l-1=6 ; | |
- | Ecrire (' Le tableau est trié :' ) | + | |
- | + | ||
- | affichage (tablechiffre, tailletable) // appel procédure d'affichage. | + | |
+ | [[ "l" étant la longueur du mot -1 car premier indice commence à zéro]] | ||
+ | |||
+ | i commence a 6 et termine à 0 ; à chaque tour on enleve 1 à i (i=i-1) | ||
+ | a<-- mot[i] --------> par exemple quand i = 3 ; mot[3]='J' ; a prend la valeur 'J' | ||
+ | Afficher (a) | ||
+ | FinPour | ||
+ | |||
+ | Pour faire une chaine inversée, on va l'appeler Mot-Inverse, plutot que d'afficher a on va le stocker dans mot-inverse | ||
+ | Pour i de (l-1) à 0 ;--------> l-1=6 ; i commence a 6 et termine à 0 ; à chaque tour on enleve 1 à i (i=i-1) | ||
+ | a<-- mot[i] ;--------> par exemple quand i = 4 ; mot[4]='O' ; a prend la valeur 'O' | ||
+ | mot-inverse[l - i - 1]<-a ;----> 7-4-1=2 donc Mot-Inverse[2]='O' | ||
+ | FinPour | ||
+ | |||
+ | 0 -> R | ||
+ | 1 -> U | ||
+ | 2 -> O | ||
+ | 3 -> J | ||
+ | 4 -> N | ||
+ | 5 -> O | ||
+ | 6 -> B | ||
+ | |||
+ | A la fin Mot_Inverse={R,U,O,J,NO,B} et on l'affiche. | ||
+ | |||
+ | *Variables : | ||
+ | mot, mot-inverse : Chaine, | ||
+ | l, i, :entiers | ||
+ | a: caractere | ||
+ | |||
+ | Afficher(« Saisir un mot ») | ||
+ | Saisir(mot) | ||
+ | l<-- LONGUEUR(mot) | ||
+ | Pour i de (l-1) à 0 | ||
+ | a<-- mot[i] | ||
+ | mot-inverse[l - i - 1]<-a | ||
+ | FinPour | ||
+ | Afficher(Mot-Inverse) | ||
Fin | Fin | ||
- | </code> | ||
+ | ________________________ | ||
+ | |||
+ | Soit le mot 'BONJOUR' | ||
+ | c'est comme si c'était un tableau de caractères mot={B,O,N,J,O,U,R} | ||
+ | Dans son ensemble le tableau est une chaine (ou un mot). | ||
+ | |||
+ | Epeler le mot, première lettre B, deuxième lettre O, quatrième lettre J.... Bien souvent les elements d'un tableau sont numérotés à partir de 0. | ||
+ | 0 -> B | ||
+ | 1 -> O | ||
+ | 2 -> N | ||
+ | 3 -> J | ||
+ | 4 -> O | ||
+ | 5 -> U | ||
+ | 6 -> R | ||
+ | |||
+ | c'est ce que fait la boucle Pour i de (longueur - 1) à 0 | ||
+ | dans ce cas longueur=7 alors | ||
+ | |||
+ | Pour i de (l-1) à 0 --------> l-1=6 ; | ||
+ | |||
+ | [[ "longueur" étant la longueur du mot -1 car premier indice commence à zéro]] | ||
+ | |||
+ | i commence a 6 et termine à 0 ; à chaque tour on enleve 1 à i (i=i-1) | ||
+ | |||
+ | cible := mot[i] ( par exemple quand i = 3 ; mot[3]='J' ; cible prend la valeur 'J' | ||
+ | Afficher (cible) | ||
+ | |||
+ | FinPour | ||
+ | |||
+ | Pour faire une chaine inversée, on va l'appeler Mot-Inverse, | ||
+ | plutot que d'afficher cible on va le stocker dans mot-inverse | ||
+ | |||
+ | |||
+ | Pour i de (longueur - 1) à 0 ;ainsi longueur -1 = 6 ; | ||
+ | i commence à 6 et termine à 0 ; à chaque tour on enleve 1 à i (i=i-1) | ||
+ | |||
+ | cible := mot[i] ; par exemple quand i = 4 ; mot[4]='O' ; cible prend la valeur 'O' | ||
+ | |||
+ | mot-inverse[longueur - i - 1] := cible ;ainsi 7-4-1=2 donc Mot-Inverse[2]='O' | ||
+ | FinPour | ||
+ | |||
+ | 0 -> R | ||
+ | 1 -> U | ||
+ | 2 -> O | ||
+ | 3 -> J | ||
+ | 4 -> N | ||
+ | 5 -> O | ||
+ | 6 -> B | ||
+ | |||
+ | A la fin Mot_Inverse={R,U,O,J,N,O,B} et on l'affiche. | ||
+ | |||
+ | *Variables : | ||
+ | mot, mot-inverse : Chaine, | ||
+ | long, ind, :entiers | ||
+ | cible: caractere | ||
+ | |||
+ | |||
+ | DEBUT | ||
+ | Afficher(« Saisir un mot ») | ||
+ | Saisir(mot) | ||
+ | |||
+ | long := LONGUEUR(mot) | ||
+ | Pour i de (l-1) à 0 | ||
+ | cible := mot[i] | ||
+ | mot-inverse[long - i - 1] | ||
+ | FinPour | ||
+ | Afficher(Mot-Inverse) | ||
+ | Fin | ||
+ | </code> |