DUT SRC – IUT de Marne-la-Vallée            25/11/2011      INF120 - Algorithmique          Cours 4Les tableaux et les bou...
Sources • Le livre de Java premier langage, dA. Tasso • Cours INF120 de J.-G. Luque • Cours de J. Henriet : http://julienh...
Plan du cours 4 – Tableaux et boucles • Résumé des épisodes précédents • Les tableaux • Les boucles while et for
Plan du cours 4 – Tableaux et boucles • Résumé des épisodes précédents • Les tableaux • Les boucles while et for
Résumé de lépisode précédent Méthodologie pour : - comprendre un algorithme :     - repérer les variables en entrée, en so...
Résumé de lépisode précédent Méthodologie pour : - comprendre un algorithme :     - repérer les variables en entrée, en so...
Résumé de lépisode précédent Méthodologie pour : - comprendre un algorithme :     - repérer les variables en entrée, en so...
A garder en tête DM à rendre pour le 12 décembre Notes des TD2 et 3 à venir. Si pas satisfaits, rendez le TD4 même si vous...
Plan du cours 4 – Tableaux et boucles • Résumé des épisodes précédents • Les tableaux • Les boucles while et for
Le nombre dutilisations dun mot dans un texte• Écrivez un algorithme TrouveMot qui prend en entrée une chaîne decaractères...
Le nombre dutilisations dun mot dans un texte    La “minute culturelle”    Comment compter plusieurs mots dans un texte ? ...
Le nombre dutilisations dun mot dans un texte    La “minute culturelle”    Comment compter plusieurs mots dans un texte ? ...
Le nombre dutilisations dun mot dans un texte    La “minute culturelle”    Comment compter plusieurs mots dans un texte ? ...
Les tableaux   Les tableaux sont des variables qui contiennent plusieurs variables de   même type, stockées chacune dans u...
Les tableaux   Les tableaux sont des variables qui contiennent plusieurs variables de   même type, stockées chacune dans u...
Les tableaux                                                                 en pseudo-code   Les tableaux sont des variab...
Les tableaux                                                                         en Java   Les tableaux sont des varia...
Les tableaux   Les tableaux sont des variables qui contiennent plusieurs variables de   même type, stockées chacune dans u...
Les tableaux   Les tableaux sont des variables qui contiennent plusieurs variables de   même type, stockées chacune dans u...
Les tableaux   Pour lire le contenu dun tableau...   il faut une boucle pour aller lire chaque case !   Si le tableau a ét...
Graphique du nombre dapparitions des mots dun texte                            Jai cueilli ce brin de bruyère             ...
Graphique du nombre dapparitions des mots dun texte                 j          1                 ai         1      Un tabl...
Graphique du nombre dapparitions des mots dun texte                 j          1               Résultat voulu :           ...
Graphique du nombre dapparitions des mots dun texte                    j            1                    ai           1   ...
Graphique du nombre dapparitions des mots dun texte                 j          1      (0,0)    Résultat voulu :           ...
Graphique du nombre dapparitions des mots dun texte                 j          1      (0,0)    Résultat voulu :           ...
Graphique du nombre dapparitions des mots dun texte                 j          1      (0,0)    Résultat voulu :           ...
Graphique du nombre dapparitions des mots dun texte                 j          1      (0,0)    Résultat voulu :           ...
Graphique du nombre dapparitions des mots dun texte                 j          1      (0,0)    Résultat voulu :           ...
Le nombre dapparitions dun mot dans un texte   La “minute mathématique”   La loi de Zipf prédit la courbe du nombre dappar...
Le nombre dapparitions dun mot dans un texte   La “minute mathématique”   La loi de Zipf prédit la courbe du nombre dappar...
Plan du cours 4 – Tableaux et boucles • Résumé des épisodes précédents • Les tableaux • Les boucles while et for
La boucle “for” / “Pour tout...” La boucle “for” / “Pour tout” Une boucle pour parcourir tous les entiers entre deux valeu...
La boucle “for” / “Pour tout...”  La boucle “for” / “Pour tout”  Une boucle pour parcourir tous les entiers entre deux val...
La boucle “for” / “Pour tout...”  La boucle “for” / “Pour tout”  Une boucle pour parcourir tous les entiers entre deux val...
La boucle “for” / “Pour tout...”  La boucle “for” / “Pour tout”  Une boucle pour parcourir tous les entiers entre deux val...
La boucle “for” / “Pour tout...”  La boucle “for” / “Pour tout”  Une boucle pour parcourir tous les entiers entre deux val...
La boucle “for” / “Pour tout...”  La boucle “for” / “Pour tout”  Une boucle pour parcourir tous les entiers entre deux val...
La boucle “for” / “Pour tout...”  La boucle “for” / “Pour tout”  Une boucle pour parcourir tous les entiers entre deux val...
Comptage des mots dun texte Prétraitement du texte : remplacer  et – par un espace.                                       ...
Comptage des mots dun texte Prétraitement du texte : remplacer  et – par un espace.                                       ...
Comptage des mots dun texte Prétraitement du texte : remplacer  et – par un espace.                                       ...
Prochain SlideShare
Chargement dans…5
×

INF120 - Algo DUT SRC1 - Cours 4

5 688 vues

Publié le

Publié dans : Formation
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
5 688
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4 501
Actions
Partages
0
Téléchargements
61
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

INF120 - Algo DUT SRC1 - Cours 4

  1. 1. DUT SRC – IUT de Marne-la-Vallée 25/11/2011 INF120 - Algorithmique Cours 4Les tableaux et les boucles Philippe Gambette
  2. 2. Sources • Le livre de Java premier langage, dA. Tasso • Cours INF120 de J.-G. Luque • Cours de J. Henriet : http://julienhenriet.olympe-network.com/Algo.html
  3. 3. Plan du cours 4 – Tableaux et boucles • Résumé des épisodes précédents • Les tableaux • Les boucles while et for
  4. 4. Plan du cours 4 – Tableaux et boucles • Résumé des épisodes précédents • Les tableaux • Les boucles while et for
  5. 5. Résumé de lépisode précédent Méthodologie pour : - comprendre un algorithme : - repérer les variables en entrée, en sortie, leur type, - choisir un exemple pour faire la trace de lalgorithme.
  6. 6. Résumé de lépisode précédent Méthodologie pour : - comprendre un algorithme : - repérer les variables en entrée, en sortie, leur type, - choisir un exemple pour faire la trace de lalgorithme. SousChaine("blabla",2,Longueur("blabla")-1) 6 5 “labl”
  7. 7. Résumé de lépisode précédent Méthodologie pour : - comprendre un algorithme : - repérer les variables en entrée, en sortie, leur type, - choisir un exemple pour faire la trace de lalgorithme. - écrire un algorithme : - repérer les variables en entrée, en sortie, leur type, choisir un exemple pour voir le comportement attendu de lalgorithme sur un exemple, - trouver comment résoudre le problème sur un exemple, étape par étape, - généraliser ces étapes en utilisant les structures algorithmiques à disposition (boucles, tests, appels dautres algorithmes) et des variables pour stocker des valeurs qui varient à chaque étape. Rappels sur la syntaxe (vocabulaire et façon de lutiliser) Java et pseudo-code.
  8. 8. A garder en tête DM à rendre pour le 12 décembre Notes des TD2 et 3 à venir. Si pas satisfaits, rendez le TD4 même si vous nêtes pas dans la liste. Séance facultative dexercices dentraînement du 2 décembre. Pourront y participer ceux qui ont travaillé sur le DM1 ou lexercice supplémentaire au bas de la page http://tinyurl.com/INF120-2011S1.
  9. 9. Plan du cours 4 – Tableaux et boucles • Résumé des épisodes précédents • Les tableaux • Les boucles while et for
  10. 10. Le nombre dutilisations dun mot dans un texte• Écrivez un algorithme TrouveMot qui prend en entrée une chaîne decaractères mot et une chaîne de caractères texte, et compte le nombrede fois que mot apparaît dans texte.Exemple : mot = “fuck” texte=“ Nobodys fuckin screaming, Craig! Wake the fuck up! ”Algorithme TrouveMot :Entrées : chaîne de caractères mot, chaîne de caractères texteSorties : nombre de fois (entier) que mot apparaît dans texteDébut i←1 compteur ← 0 Tant que i<Longueur(texte)-Longueur(mot)+2 faire : Si mot = SousChaine(texte,i,i+Longueur(mot)-1) alors : compteur ← compteur+1 i ← i+1 FinSi Fin TantQue renvoyer compteurFin
  11. 11. Le nombre dutilisations dun mot dans un texte La “minute culturelle” Comment compter plusieurs mots dans un texte ? Méthode naïve : appliquer lalgorithme TrouveMot pour chaque mot à compter autant de lectures du texte que de mots distincts à compter
  12. 12. Le nombre dutilisations dun mot dans un texte La “minute culturelle” Comment compter plusieurs mots dans un texte ? Méthode naïve : appliquer lalgorithme TrouveMot pour chaque mot à compter autant de lectures du texte que de mots distincts à compter Méthode astucieuse plus rapide : faire une lecture du texte en construisant un dictionnaire compter tous les mots au fur et à mesure ensuite, pour avoir le nombre dapparitions dun mot, simplement aller voir dans le dictionnaire (pas besoin de reparcourir le texte) Texte : “Nobodys fuckin screaming, Craig! Wake the fuck up!” Dictionnaire : N o b d y s f u c k i n r e a m g , C ! W t h p No ob bo od dy y s sf fu ... 1 2 1 1 1 2 2 2 3 3 3 3 2 2 3 3 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 ...
  13. 13. Le nombre dutilisations dun mot dans un texte La “minute culturelle” Comment compter plusieurs mots dans un texte ? Problèmes d“Algorithmique du texte” des experts au LIGM dans le bâtiment Copernic ! http://igm.univ-mlv.fr/~mac/CHL/CHL.html
  14. 14. Les tableaux Les tableaux sont des variables qui contiennent plusieurs variables de même type, stockées chacune dans une des cases du tableau. Par exemple, Un tableau dentiers : Un tableau de chaînes de caractères : 4 “chaine1” 5 “chaine2” 1 “blabla” 23 “toto” 8 9
  15. 15. Les tableaux Les tableaux sont des variables qui contiennent plusieurs variables de même type, stockées chacune dans une des cases du tableau. Par exemple, Un tableau dentiers : Un tableau de chaînes de caractères : 4 case 1 “chaine1” 5 case 2 “chaine2” longueur dun tableau 1 case 3 “blabla” = nombre de cases 23 case 4 “toto” 8 case 5 longueur 4 9 case 6 longueur 6
  16. 16. Les tableaux en pseudo-code Les tableaux sont des variables qui contiennent plusieurs variables de même type, stockées chacune dans une des cases du tableau. Variables : tableau1, un tableau dentiers, Par exemple, tableau2, un tableau de chaînes de caractères Un tableau dentiers : Un tableau de chaînes de caractères : 4 case 1 “chaine1” 5 case 2 “chaine2” longueur dun tableau 1 case 3 “blabla” = nombre de cases 23 case 4 “toto” Longueur(tableau2) 8 case 5 longueur 4 9 case 6 tableau2=NouveauTableau(4) Case(tableau2,1)←”chaine1” longueur 6 tableau1=NouveauTableau(6) Case(tableau2,2)←”chaine2” Case(tableau1,1)←4 Case(tableau2,3)←”blabla” Case(tableau1,2)←5 Case(tableau2,4)←”toto” Case(tableau1,3)←1 Case(tableau1,4)←23 Case(tableau1,5)←8 Case(tableau1,6)←9
  17. 17. Les tableaux en Java Les tableaux sont des variables qui contiennent plusieurs variables de même type, stockées chacune dans une des cases du tableau. int[] tableau1; String[] tableau2; Par exemple, Un tableau dentiers : Un tableau de chaînes de caractères : 4 case 1 “chaine1” 5 case 2 “chaine2” longueur dun tableau 1 case 3 “blabla” = nombre de cases 23 case 4 “toto” tableau2.length 8 case 5 longueur 4 9 case 6 tableau2=new String[4]; longueur 6 tableau2[0]=”chaine1”; tableau1=new int[6]; tableau2[1]=”chaine2”; tableau1[0]=4; tableau2[2]=”blabla”; tableau1[1]=5; tableau2[3]=”toto”; tableau1[2]=1; tableau1[3]=23; tableau1[4]=8; Attention, cases du tableau t numérotées tableau1[5]=9; de 0 à t.length-1 en Java.
  18. 18. Les tableaux Les tableaux sont des variables qui contiennent plusieurs variables de même type, stockées chacune dans une des cases du tableau. Par exemple, Un tableau dentiers : Un tableau de chaînes de caractères : 4 case 1 “chaine1” 5 case 2 “chaine2” longueur dun tableau 1 case 3 “blabla” = nombre de cases 23 case 4 “toto” 8 case 5 longueur 4 9 case 6 longueur 6 //Afficher les cases du tableau tableau1 int i i = 0 while (i<tableau1.length){ System.out.println(tableau1[i]); i = i+1 }
  19. 19. Les tableaux Les tableaux sont des variables qui contiennent plusieurs variables de même type, stockées chacune dans une des cases du tableau. Par exemple, Un tableau dentiers : Un tableau de chaînes de caractères : 4 case 1 “chaine1” 5 case 2 “chaine2” longueur dun tableau 1 case 3 “blabla” = nombre de cases 23 case 4 “toto” 8 case 5 longueur 4 9 case 6 longueur 6 noté {“chaine1”,“chaine2”,“blabla”,“toto”} noté {4,5,1,23,8,9}
  20. 20. Les tableaux Pour lire le contenu dun tableau... il faut une boucle pour aller lire chaque case ! Si le tableau a été prévu trop court au début, impossible de changer sa longueur... il faut une boucle pour le recopier dans un tableau plus grand ! Possibilité de créer des tableaux de tableaux... Manipulation et expériences en TD/TP...
  21. 21. Graphique du nombre dapparitions des mots dun texte Jai cueilli ce brin de bruyère Lautomne est morte souviens-ten Nous ne nous verrons plus sur terre Odeur du temps brin de bruyère Et souviens-toi que je tattends
  22. 22. Graphique du nombre dapparitions des mots dun texte j 1 ai 1 Un tableau cueilli 1 de chaînes de ce 1 caractères Mots brin 2 de 2 bruyère 2 Jai cueilli ce brin de bruyère l 1 Lautomne est morte souviens-ten automne 1 est 1 Nous ne nous verrons plus sur terre morte 1 Odeur du temps brin de bruyère souviens 2 Et souviens-toi que je tattends t 2 en 1 nous 2 ne 1 verrons 1 plus 1 sur 1 terre 1 odeur 1 du 1 temps 1 et 1 toi 1 que 1 je 1 attends 1 Un tableau dentiers NbApparitions
  23. 23. Graphique du nombre dapparitions des mots dun texte j 1 Résultat voulu : ai 1 Un tableau cueilli 1 de chaînes de ce 1 caractères Mots brin 2 de 2 bruyère 2 l 1 automne 1 est 1 morte 1 souviens 2 t 2 en 1 nous 2 ne 1 verrons 1 plus 1 sur 1 terre 1 odeur 1 du 1 temps 1 et 1 toi 1 que 1 je 1 attends 1 Un tableau dentiers NbApparitions
  24. 24. Graphique du nombre dapparitions des mots dun texte j 1 ai 1 Un tableau cueilli 1 de chaînes de ce 1 caractères Mots brin 2 de 2 bruyère 2 l 1 automne 1 est 1 morte 1 souviens 2 t 2 en 1 nous 2 ne 1 verrons 1 plus 1 sur 1 (0,0) Résultat voulu : terre 1 odeur 1 du (16,30) 1 (4,40) temps 1(0,40) et 1 toi 1 que 1 (0,50) je 1 attends 1 Un tableau dentiers NbApparitions
  25. 25. Graphique du nombre dapparitions des mots dun texte j 1 (0,0) Résultat voulu : ai 1 Un tableau cueilli 1 (16,30) de chaînes de ce 1 (4,40) caractères Mots brin 2 de 2 (0,40) bruyère 2 l 1 automne 1 (0,50) est 1 morte 1 Algorithme DessineHistogramme souviens 2 Entrée : tableau de chaînes de caractères Mots et t 2 tableau dentiers NbApparitions. en 1 nous 2 Variable : ne 1 Début verrons 1 ... plus 1 dessineRectanglePlein(0,40,4,10, sur 1 couleurRGB(0,0,255)) terre 1 odeur 1 … du 1 dessineRectanglePlein(16,30,4,20, temps 1 couleurRGB(0,0,255)) et 1 ... toi 1 Fin que 1 je 1 attends 1 Un tableau dentiers NbApparitions
  26. 26. Graphique du nombre dapparitions des mots dun texte j 1 (0,0) Résultat voulu : ai 1 Un tableau cueilli 1 (16,30) de chaînes de ce 1 (4,40) caractères Mots brin 2 de 2 (0,40) bruyère 2 l 1 automne 1 (0,50) est 1 i:123 morte 1 Algorithme DessineHistogramme souviens 2 Entrée : tableau de chaînes de caractères Mots et t 2 tableau dentiers NbApparitions. en 1 nous 2 Variable : x ne 1 Début y verrons 1 ... plus 1 dessineRectanglePlein(0,40,4,10, sur 1 couleurRGB(0,0,255)) h terre 1 odeur 1 … du 1 dessineRectanglePlein(16,30,4,20, temps 1 couleurRGB(0,0,255)) et 1 ... toi 1 Fin que 1 je 1 attends 1 Un tableau dentiers NbApparitions
  27. 27. Graphique du nombre dapparitions des mots dun texte j 1 (0,0) Résultat voulu : ai 1 Un tableau cueilli 1 (16,30) de chaînes de ce 1 (4,40) caractères Mots brin 2 de 2 (0,40) bruyère 2 l 1 automne 1 (0,50) est 1 i:123 morte 1 Algorithme DessineHistogramme souviens 2 Entrée : tableau de chaînes de caractères Mots et t 2 tableau dentiers NbApparitions. en 1 nous 2 Variable : x = 4(i-1) ne 1 Début y = 50-10*Case (NbApparitions,i) verrons 1 ... plus 1 dessineRectanglePlein(0,40,4,10, sur 1 couleurRGB(0,0,255)) h = 10*Case terre 1 odeur 1 … (NbApparitions,i) du 1 dessineRectanglePlein(16,30,4,20, temps 1 couleurRGB(0,0,255)) et 1 ... toi 1 Fin que 1 je 1 attends 1 Un tableau dentiers NbApparitions
  28. 28. Graphique du nombre dapparitions des mots dun texte j 1 (0,0) Résultat voulu : ai 1 Un tableau cueilli 1 (16,30) de chaînes de ce 1 (4,40) caractères Mots brin 2 de 2 (0,40) bruyère 2 l 1 automne 1 (0,50) est 1 morte 1 Algorithme DessineHistogramme souviens 2 Entrée : tableau de chaînes de caractères Mots et t 2 tableau dentiers NbApparitions. en 1 nous 2 Variable : entier compteur ne 1 Début verrons 1 compteur ← 1 plus 1 Tant que ... faire : sur 1 dessineRectanglePlein(compteur*4-4, terre 1 odeur 1 50-10*Case(NbApparitions,compteur), du 1 4,10*Case(NbApparitions,compteur), temps 1 couleurRGB(0,0,255)) et 1 toi 1 Fin TantQue que 1 je 1 Fin attends 1 Un tableau dentiers NbApparitions
  29. 29. Graphique du nombre dapparitions des mots dun texte j 1 (0,0) Résultat voulu : ai 1 Un tableau cueilli 1 (16,30) de chaînes de ce 1 (4,40) caractères Mots brin 2 de 2 (0,40) bruyère 2 l 1 automne 1 (0,50) est 1 morte 1 Algorithme DessineHistogramme souviens 2 Entrée : tableau de chaînes de caractères Mots et t 2 tableau dentiers NbApparitions. en 1 nous 2 Variable : entier compteur ne 1 Début verrons 1 compteur ← 1 plus 1 Tant que compteur < Longueur(Mots)+1 faire : sur 1 dessineRectanglePlein(compteur*4-4, terre 1 odeur 1 50-10*Case(NbApparitions,compteur), du 1 4,10*Case(NbApparitions,compteur), temps 1 couleurRGB(0,0,255)) et 1 compteur ← 1 + compteur toi 1 Fin TantQue que 1 je 1 Fin attends 1 Un tableau dentiers NbApparitions
  30. 30. Le nombre dapparitions dun mot dans un texte La “minute mathématique” La loi de Zipf prédit la courbe du nombre dapparitions des mots les plus fréquents dun texte. y = nombre dapparitions du x-ième mot le plus fréquent dans le texte 140 120 100 80 Nombre réel dapparition des mots 60 Nombre estimé dapparition des mots 40 20 0 x = numéro du mot (1 3 7 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 pour le plus fréquent, 2 pour le 2° plus fréquent...)
  31. 31. Le nombre dapparitions dun mot dans un texte La “minute mathématique” La loi de Zipf prédit la courbe du nombre dapparitions des mots les plus fréquents dun texte. y = nombre dapparitions du x-ième mot le plus fréquent dans le texte 140 120 100 80 Nombre réel dapparition des mots 60 Nombre estimé dapparition des mots 40 y=250/(x+1) 20 0 x = numéro du mot (1 3 7 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 pour le plus fréquent, 2 pour le 2° plus fréquent...) Fonctionne pour nimporte quel texte assez long...
  32. 32. Plan du cours 4 – Tableaux et boucles • Résumé des épisodes précédents • Les tableaux • Les boucles while et for
  33. 33. La boucle “for” / “Pour tout...” La boucle “for” / “Pour tout” Une boucle pour parcourir tous les entiers entre deux valeurs entières.
  34. 34. La boucle “for” / “Pour tout...” La boucle “for” / “Pour tout” Une boucle pour parcourir tous les entiers entre deux valeurs entières.Algorithme DessineHistogramme Algorithme DessineHistogrammeEntrée : tableau de chaînes de caractères Mots et Entrée : tableau de chaînes de caractères Mots ettableau dentiers NbApparitions. tableau dentiers NbApparitions.Variable : entier compteur Variable : entier compteurDébut Débutcompteur ← 1 Pour compteur de 1 à Longueur(Mots) faire :Tant que compteur < Longueur(Mots)+1 faire : dessineRectanglePlein(compteur*4-4, dessineRectanglePlein(compteur*4-4, 50-10*Case(NbApparitions,compteur), 50-10*Case(NbApparitions,compteur), 4,10*Case(NbApparitions,compteur), 4,10*Case(NbApparitions,compteur), couleurRGB(0,0,255)) couleurRGB(0,0,255)) compteur ← 1 + compteur compteur ← 1 + compteur Fin PourFin TantQue FinFin
  35. 35. La boucle “for” / “Pour tout...” La boucle “for” / “Pour tout” Une boucle pour parcourir tous les entiers entre deux valeurs entières.Algorithme DessineHistogramme Algorithme DessineHistogrammeEntrée : tableau de chaînes de caractères Mots et Entrée : tableau de chaînes de caractères Mots ettableau dentiers NbApparitions. tableau dentiers NbApparitions.Variable : entier compteur Variable : entier compteurDébut Débutcompteur ← 1 Pour compteur de 1 à Longueur(Mots) faire :Tant que compteur < Longueur(Mots)+1 faire : dessineRectanglePlein(compteur*4-4, dessineRectanglePlein(compteur*4-4, 50-10*Case(NbApparitions,compteur), 50-10*Case(NbApparitions,compteur), 4,10*Case(NbApparitions,compteur), 4,10*Case(NbApparitions,compteur), couleurRGB(0,0,255)) couleurRGB(0,0,255)) compteur ← 1 + compteur compteur ← 1 + compteur Fin PourFin TantQue FinFinEn Java :int compteur;compteur=1;while(compteur<mots.length+1) { for(int compteur=1;compteur<mots.length+1;compteur++){ … …} }
  36. 36. La boucle “for” / “Pour tout...” La boucle “for” / “Pour tout” Une boucle pour parcourir tous les entiers entre deux valeurs entières.Algorithme DessineHistogramme Algorithme DessineHistogrammeEntrée : tableau de chaînes de caractères Mots et Entrée : tableau de chaînes de caractères Mots ettableau dentiers NbApparitions. tableau dentiers NbApparitions.Variable : entier compteur Variable : entier compteurDébut Débutcompteur ← 1 Pour compteur de 1 à Longueur(Mots) faire :Tant que compteur < Longueur(Mots)+1 faire : dessineRectanglePlein(compteur*4-4, dessineRectanglePlein(compteur*4-4, 50-10*Case(NbApparitions,compteur), 50-10*Case(NbApparitions,compteur), 4,10*Case(NbApparitions,compteur), 4,10*Case(NbApparitions,compteur), couleurRGB(0,0,255)) couleurRGB(0,0,255)) compteur ← 1 + compteur compteur ← 1 + compteur Fin PourFin TantQue FinFin déclaration +En Java :int compteur; initialisationcompteur=1;while(compteur<mots.length+1) { for(int compteur=1;compteur<mots.length+1;compteur++){ … …} }
  37. 37. La boucle “for” / “Pour tout...” La boucle “for” / “Pour tout” Une boucle pour parcourir tous les entiers entre deux valeurs entières.Algorithme DessineHistogramme Algorithme DessineHistogrammeEntrée : tableau de chaînes de caractères Mots et Entrée : tableau de chaînes de caractères Mots ettableau dentiers NbApparitions. tableau dentiers NbApparitions.Variable : entier compteur Variable : entier compteurDébut Débutcompteur ← 1 Pour compteur de 1 à Longueur(Mots) faire :Tant que compteur < Longueur(Mots)+1 faire : dessineRectanglePlein(compteur*4-4, dessineRectanglePlein(compteur*4-4, 50-10*Case(NbApparitions,compteur), 50-10*Case(NbApparitions,compteur), 4,10*Case(NbApparitions,compteur), 4,10*Case(NbApparitions,compteur), couleurRGB(0,0,255)) couleurRGB(0,0,255)) compteur ← 1 + compteur compteur ← 1 + compteur Fin PourFin TantQue FinFin déclaration +En Java : condition darrêtint compteur; initialisationcompteur=1;while(compteur<mots.length+1) { for(int compteur=1;compteur<mots.length+1;compteur++){ … …} }
  38. 38. La boucle “for” / “Pour tout...” La boucle “for” / “Pour tout” Une boucle pour parcourir tous les entiers entre deux valeurs entières.Algorithme DessineHistogramme Algorithme DessineHistogrammeEntrée : tableau de chaînes de caractères Mots et Entrée : tableau de chaînes de caractères Mots ettableau dentiers NbApparitions. tableau dentiers NbApparitions.Variable : entier compteur Variable : entier compteurDébut Débutcompteur ← 1 Pour compteur de 1 à Longueur(Mots) faire :Tant que compteur < Longueur(Mots)+1 faire : dessineRectanglePlein(compteur*4-4, dessineRectanglePlein(compteur*4-4, 50-10*Case(NbApparitions,compteur), 50-10*Case(NbApparitions,compteur), 4,10*Case(NbApparitions,compteur), 4,10*Case(NbApparitions,compteur), couleurRGB(0,0,255)) couleurRGB(0,0,255)) compteur ← 1 + compteur compteur ← 1 + compteur Fin PourFin TantQue FinFin déclaration +En Java : condition darrêt mise à jourint compteur; initialisationcompteur=1;while(compteur<mots.length+1) { for(int compteur=1;compteur<mots.length+1;compteur++){ … …} }
  39. 39. La boucle “for” / “Pour tout...” La boucle “for” / “Pour tout” Une boucle pour parcourir tous les entiers entre deux valeurs entières.Algorithme DessineHistogramme Algorithme DessineHistogrammeEntrée : tableau de chaînes de caractères Mots et Entrée : tableau de chaînes de caractères Mots ettableau dentiers NbApparitions. tableau dentiers NbApparitions.Variable : entier compteur Variable : entier compteurDébut Débutcompteur ← 1 Pour compteur de 1 à Longueur(Mots) faire :Tant que compteur < Longueur(Mots)+1 faire : dessineRectanglePlein(compteur*4-4, dessineRectanglePlein(compteur*4-4, 50-10*Case(NbApparitions,compteur), 50-10*Case(NbApparitions,compteur), 4,10*Case(NbApparitions,compteur), 4,10*Case(NbApparitions,compteur), couleurRGB(0,0,255)) couleurRGB(0,0,255)) compteur ← 1 + compteur compteur ← 1 + compteur Fin PourFin TantQue FinFin déclaration +En Java : condition darrêt mise à jourint compteur; initialisationcompteur=1;while(compteur<mots.length+1){ for(int compteur=1;compteur<mots.length+1;compteur++){ … …} } compteur=compteur+1 compteur+=1
  40. 40. Comptage des mots dun texte Prétraitement du texte : remplacer et – par un espace. entrée : jai cueilli ce brin de bruyère lautomne est morte souviens-ten nous ne nous verrons plus sur terre odeur du temps brin de bruyère et souviens-toi que je tattends sortie : j ai cueilli ce brin de bruyère l automne est morte souviens t en nous ne nous verrons plus sur terre odeur du temps brin de bruyère et souviens toi que je t attends
  41. 41. Comptage des mots dun texte Prétraitement du texte : remplacer et – par un espace. entrée : Algorithme RemplacePonctuation jai cueilli ce brin de bruyère Entrée : chaîne de caractères texte lautomne est morte souviens-ten Sortie : chaîne de caractères nous ne nous verrons plus sur terre Variable : entier i odeur du temps brin de bruyère Début et souviens-toi que je tattends i←1 Pour tout i de 1 à Longueur(texte) faire : Si Caractère(texte,i)=”” OU Caractère(texte,i)=”-” alors : texte ← ... FinSi i←i+1 FinPour sortie : renvoyer texte j ai cueilli ce brin de bruyère Fin l automne est morte souvienst en nous ne nous verrons plus sur terre odeur du temps brin de bruyère et souviens toi que je t attends
  42. 42. Comptage des mots dun texte Prétraitement du texte : remplacer et – par un espace. entrée : Algorithme RemplacePonctuation jai cueilli ce brin de bruyère Entrée : chaîne de caractères texte lautomne est morte souviens-ten Sortie : chaîne de caractères nous ne nous verrons plus sur terre Variable : entier i odeur du temps brin de bruyère Début et souviens-toi que je tattends i←1 Pour tout i de 1 à Longueur(texte) faire : Si Caractère(texte,i)=”” OU Caractère(texte,i)=”-” alors : texte ← SousChaine(texte,1,i-1)+” “+SousChaine(texte,i+1,Longueur(texte)) FinSi i←i+1 FinPour sortie : renvoyer texte j ai cueilli ce brin de bruyère Fin l automne est morte souvienst en nous ne nous verrons plus sur terre odeur du temps brin de bruyère et souviens toi que je t attends

×