Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

INF120 - Algo DUT SRC1 - Cours 3 (2012)

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Chargement dans…3
×

Consultez-les par la suite

1 sur 44 Publicité
Publicité

Plus De Contenu Connexe

Les utilisateurs ont également aimé (20)

Plus récents (20)

Publicité

INF120 - Algo DUT SRC1 - Cours 3 (2012)

  1. 1. DUT SRC – IUT de Marne-la-Vallée 07/11/2012 INF120 - Algorithmique Cours 3 Tableaux et boucles Philippe Gambette
  2. 2. Sources • Le livre de Java premier langage, d'A. Tasso • Cours INF120 de J.-G. Luque • Cours FLIN102 de l'Université Montpellier 2 • Cours de J. Henriet : http://julienhenriet.olympe-network.com/Algo.html • http://xkcd.com, http://xkcd.free.fr
  3. 3. Plan du cours 3 – Tableaux et boucles • Résumé des épisodes précédents • Correction du QCM2 • Les tableaux • Lecture du contenu d'un tableau • Dessin d'un graphique à partir du contenu d'un tableau • La boucle “for” / “pour tout” Chargée de TD : Fadhela Kerdjoudj
  4. 4. Résumé des épisodes précédents Du problème au programme pour le résoudre : problème algorithme code source connaissance des outils traduction directe disponibles + intuition compilation javac traduction directe organigramme programme exécution java Codage des données : • Pour chaque type de variable (entiers, flottants, chaînes de caractères, couleurs, booléens), une méthode de codage en binaire est choisie (en Java : int, float, double, String, Color, boolean, ...) • Définition d'opérations de base pour chaque type de données (en Java : +, -, *, /, %, &&, ||, !, ...)
  5. 5. Correction du QCM2 QCM 2 – Pour chaque question, choisir une seule réponse, la plus adaptée. Il est possible que plusieurs soient considérées comme correctes. Si vous avez un doute, écrivez des commentaires à côté de votre réponse (ou au verso). Q1. Quelle valeur contient a après la suite d’instructions suivante en pseudo-code ? (92%) a ← 4; b ← 2; a ← a+b; • 2 • 4 • 6 • 24 • 42 • a+b • "2" • "4" • "6" • "24" • "42" • "a+b" • une erreur Q2. Quelle valeur contient a après la suite d’instructions suivante en Java ? (39%) a="4"; b="2"; a=a+b; • 2 • 4 • 6 • 24 • 42 • a+b • "2" • "4" • "6" • "24" • "42" • "a+b" • une erreur Q3. Quelle valeur contient c après la suite d’instructions suivante en Java ? (88%) a=3; b=2; c=a+b; b=3; • 2 • 3 • 5 • 6 • 32 • "2" • "3" • "5" • "6" • "32" • une erreur Q4. Quelle est la valeur de a à la fin de cette suite d'instructions en Java ? (66%) a=3; b=2; if(a>b) {a=b+a;} else {a=b;} b=1; • 1 • 2 • 3 • 4 • 5 • 8 • 9 • "1" • "2" • "3" • "4" • "5" • "8" • "9" Q5. Deux étudiants qui doivent coder le même algorithme, de manière indépendante : (48%) • obtiennent forcément le même pseudo-code et le même code Java • obtiennent forcément le même pseudo-code mais pas forcément le même code Java • n'obtiennent pas forcément le même pseudo-code mais forcément le même code Java • n'obtiennent pas forcément le même pseudo-code ni le même code Java
  6. 6. Plan du cours 3 – Tableaux et boucles • Résumé des épisodes précédents • Correction du QCM2 • Les tableaux • Lecture du contenu d'un tableau • Dessin d'un graphique à partir du contenu d'un tableau • La boucle “for” / “pour tout”
  7. 7. 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 d'entiers : Un tableau de chaînes de caractères : 4 “chaine1” 5 “chaine2” 1 “blabla” 23 “toto” 8 9
  8. 8. 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 d'entiers : Un tableau de chaînes de caractères : 4 case 1 “chaine1” 5 case 2 “chaine2” longueur d'un tableau 1 case 3 “blabla” = nombre de cases 23 case 4 “toto” 8 case 5 longueur 4 9 case 6 longueur 6
  9. 9. 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 d'entiers, Par exemple, tableau2, un tableau de chaînes de caractères Un tableau d'entiers : Un tableau de chaînes de caractères : 4 case 1 “chaine1” 5 case 2 “chaine2” longueur d'un 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 Plus court : Case(tableau1,5)←8 tableau1←{4,5,1,23,8,9} Case(tableau1,6)←9 tableau2←{”chaine1”,”chaine2”,”blabla”,”toto”}
  10. 10. 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 d'entiers : Un tableau de chaînes de caractères : 4 case 1 “chaine1” 5 case 2 “chaine2” longueur d'un 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]; tableau2[0]=”chaine1”; longueur 6 tableau2[1]=”chaine2”; tableau1=new int[6]; tableau2[2]=”blabla”; tableau1[0]=4; tableau2[3]=”toto”; tableau1[1]=5; tableau1[2]=1; tableau1[3]=23; tableau1[4]=8; tableau1[5]=9;
  11. 11. 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 d'entiers : Un tableau de chaînes de caractères : 4 case 1 “chaine1” 5 case 2 “chaine2” longueur d'un 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]; tableau2[0]=”chaine1”; longueur 6 tableau2[1]=”chaine2”; tableau1=new int[6]; tableau2[2]=”blabla”; tableau1[0]=4; tableau2[3]=”toto”; tableau1[1]=5; tableau1[2]=1; tableau1[3]=23; Attention, cases du tableau t numérotées tableau1[4]=8; de 0 à t.length-1 en Java. tableau1[5]=9;
  12. 12. 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 d'entiers : Un tableau de chaînes de caractères : 4 case 1 “chaine1” 5 case 2 “chaine2” longueur d'un 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]; tableau2[0]=”chaine1”; longueur 6 tableau2[1]=”chaine2”; tableau1=new int[6]; tableau2[2]=”blabla”; tableau1[0]=4; tableau2[3]=”toto”; tableau1[1]=5; tableau1[2]=1; Plus court (déclaration + initialisation) : tableau1[3]=23; tableau1[4]=8; int[] tableau1 = {4,5,1,23,8,9}; String[] tableau2 = {”chaine1”,”chaine2”,”blabla”,”toto”}; tableau1[5]=9;
  13. 13. Les tableaux Pour lire le contenu d'un 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...
  14. 14. Plan du cours 3 – Tableaux et boucles • Résumé des épisodes précédents • Correction du QCM2 • Les tableaux • Lecture du contenu d'un tableau • Dessin d'un graphique à partir du contenu d'un tableau • La boucle “for” / “pour tout”
  15. 15. Affichage du contenu d'un tableau d'entiers Algorithme AfficheTableau public static AfficheTableau( tableau1){
  16. 16. Affichage du contenu d'un tableau d'entiers Algorithme AfficheTableau Variable d'entrée : tableau d'entiers tableau1 Variable : entier i Début i←1 Tant que i < Longueur(tableau1)+1 faire : Affiche(Case(tableau1,i)) i ← i+1 Fin TantQue Fin public static void AfficheTableau(int[] tableau1){ //Afficher les cases du tableau tableau1 int i; i = 0; while (i<tableau1.length){ System.out.println(tableau1[i]); i = i+1; } }
  17. 17. Plan du cours 3 – Tableaux et boucles • Résumé des épisodes précédents • Correction du QCM2 • Les tableaux • Lecture du contenu d'un tableau • Dessin d'un graphique à partir du contenu d'un tableau • La boucle “for” / “pour tout”
  18. 18. Graphique du nombre d'apparitions des mots d'un texte 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
  19. 19. Graphique du nombre d'apparitions des mots d'un 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 J'ai cueilli ce brin de bruyère l 1 L'automne est morte souviens-t'en 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 t'attends 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 d'entiers NbApparitions
  20. 20. Graphique du nombre d'apparitions des mots d'un 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 d'entiers NbApparitions
  21. 21. Graphique du nombre d'apparitions des mots d'un 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 d'entiers NbApparitions. en 1 nous 2 Variable : entier i ne 1 Début verrons 1 i←1 plus 1 Tant que ... faire : sur 1 terre 1 odeur 1 du 1 temps 1 et 1 toi 1 Fin TantQue que 1 je 1 Fin attends 1 Un tableau d'entiers NbApparitions
  22. 22. Graphique du nombre d'apparitions des mots d'un 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 d'entiers NbApparitions. en 1 nous 2 Variable : entier i ne 1 Début verrons 1 i←1 plus 1 Tant que i < Longueur(Mots)+1 faire : sur 1 terre 1 odeur 1 du 1 temps 1 et 1 toi 1 Fin TantQue que 1 je 1 Fin attends 1 Un tableau d'entiers NbApparitions
  23. 23. Graphique du nombre d'apparitions des mots d'un 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 d'entiers NbApparitions. en 1 nous 2 Variable : ne 1 Début verrons 1 i←1 plus 1 Tant que i < Longueur(Mots)+1 faire : ... sur 1 dessineRectanglePlein(0,40,4,10, terre 1 odeur 1 couleurRGB(0,0,255)) du 1 … temps 1 dessineRectanglePlein(4,40,4,10, et 1 couleurRGB(0,0,255)) toi 1 Fin TantQue que 1 je 1 Fin attends 1 Un tableau d'entiers NbApparitions
  24. 24. Graphique du nombre d'apparitions des mots d'un 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 d'entiers NbApparitions. en 1 nous 2 Variable : ne 1 Début x i x 4i verrons 1 i←1 plus 1 Tant que i < Longueur(Mots)+1 faire : ... 1 0 4 sur 1 2 4 8 dessineRectanglePlein(0,40,4,10, terre 1 3 8 12 odeur 1 couleurRGB(0,0,255)) 4 12 16 du 1 … ... temps 1 dessineRectanglePlein(4,40,4,10, et 1 couleurRGB(0,0,255)) toi 1 Fin TantQue que 1 je 1 Fin attends 1 Un tableau d'entiers NbApparitions
  25. 25. Graphique du nombre d'apparitions des mots d'un 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 d'entiers NbApparitions. en 1 nous 2 Variable : ne 1 Début x verrons 1 i←1 y plus 1 Tant que i < Longueur(Mots)+1 faire : ... sur 1 dessineRectanglePlein(0,40,4,10, terre 1 odeur 1 couleurRGB(0,0,255)) h du 1 … temps 1 dessineRectanglePlein(4,40,4,10, et 1 couleurRGB(0,0,255)) toi 1 Fin TantQue que 1 je 1 Fin attends 1 Un tableau d'entiers NbApparitions
  26. 26. Graphique du nombre d'apparitions des mots d'un 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 y de 2 (0,40) 50 bruyère 2 h 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 d'entiers NbApparitions. en 1 nous 2 Variable : ne 1 Début x verrons 1 i←1 y plus 1 Tant que i < Longueur(Mots)+1 faire : ... sur 1 dessineRectanglePlein(0,40,4,10, terre 1 odeur 1 couleurRGB(0,0,255)) h du 1 … temps 1 dessineRectanglePlein(4,40,4,10, et 1 couleurRGB(0,0,255)) toi 1 Fin TantQue que 1 je 1 Fin attends 1 Un tableau d'entiers NbApparitions
  27. 27. Graphique du nombre d'apparitions des mots d'un 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 y de 2 (0,40) 50 bruyère 2 h 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 d'entiers NbApparitions. en 1 nous 2 Variable : ne 1 Début x = 4(i-1) verrons 1 i←1 plus 1 Tant que i < Longueur(Mots)+1 faire : ... sur 1 dessineRectanglePlein(0,40,4,10, terre 1 odeur 1 couleurRGB(0,0,255)) h = 10*Case du 1 … (NbApparitions,i) temps 1 dessineRectanglePlein(4,40,4,10, et 1 couleurRGB(0,0,255)) toi 1 Fin TantQue que 1 je 1 Fin attends 1 Un tableau d'entiers NbApparitions
  28. 28. Graphique du nombre d'apparitions des mots d'un 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 y de 2 (0,40) 50 bruyère 2 ⇒ y=50-h h 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 d'entiers NbApparitions. en 1 nous 2 Variable : ne 1 Début x = 4(i-1) verrons 1 i←1 y = 50-10*Case plus 1 (NbApparitions,i) Tant que i < Longueur(Mots)+1 faire : ... sur 1 dessineRectanglePlein(0,40,4,10, terre 1 odeur 1 couleurRGB(0,0,255)) h = 10*Case du 1 … (NbApparitions,i) temps 1 dessineRectanglePlein(4,40,4,10, et 1 couleurRGB(0,0,255)) toi 1 Fin TantQue que 1 je 1 Fin attends 1 Un tableau d'entiers NbApparitions
  29. 29. Graphique du nombre d'apparitions des mots d'un 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 d'entiers NbApparitions. en 1 nous 2 Variable : entier i ne 1 Début verrons 1 i←1 plus 1 Tant que i < Longueur(Mots)+1 faire : sur 1 dessineRectanglePlein(i*4-4, terre 1 odeur 1 50-10*Case(NbApparitions,i), du 1 4,10*Case(NbApparitions,i), temps 1 couleurRGB(0,0,255)) et 1 toi 1 Fin TantQue que 1 je 1 Fin attends 1 Un tableau d'entiers NbApparitions
  30. 30. Graphique du nombre d'apparitions des mots d'un 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 d'entiers NbApparitions. en 1 nous 2 Variable : entier i ne 1 Début verrons 1 i←1 plus 1 Tant que i < Longueur(Mots)+1 faire : sur 1 dessineRectanglePlein(i*4-4, terre 1 odeur 1 50-10*Case(NbApparitions,i), du 1 4,10*Case(NbApparitions,i), temps 1 couleurRGB(0,0,255)) et 1 i←1+i toi 1 Fin TantQue que 1 je 1 Fin attends 1 Un tableau d'entiers NbApparitions
  31. 31. Le nombre d'apparitions d'un mot dans un texte La “minute mathématique” La loi de Zipf prédit la courbe du nombre d'apparitions des mots les plus fréquents d'un texte. y = nombre d'apparitions du x-ième mot le plus fréquent dans le texte 140 120 100 80 Nombre réel d'apparition des mots 60 Nombre estimé d'apparition 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...)
  32. 32. Le nombre d'apparitions d'un mot dans un texte La “minute mathématique” La loi de Zipf prédit la courbe du nombre d'apparitions des mots les plus fréquents d'un texte. y = nombre d'apparitions du x-ième mot le plus fréquent dans le texte 140 120 100 80 Nombre réel d'apparition des mots 60 Nombre estimé d'apparition 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 n'importe quel texte assez long...
  33. 33. Plan du cours 3 – Tableaux et boucles • Résumé des épisodes précédents • Correction du QCM2 • Les tableaux • Lecture du contenu d'un tableau • Dessin d'un graphique à partir du contenu d'un tableau • La boucle “for” / “pour tout”
  34. 34. La boucle “for” / “Pour tout...” Pour parcourir tous les entiers entre deux valeurs entières. En pseudo-code : Pour tout entier i de 1 à 42 faire : … Fin Pour En Java : for(int i=1;i<43;i++){ … }
  35. 35. La boucle “for” / “Pour tout...” Exemple : parcours des cases d'un tableau En pseudo-code avec Tant que : Variables : tableau d'entiers tab, entier i i←1 Tant que i < Longueur(tab)+1 faire : [des choses avec la i-ième case du tableau Case(tab,i)...] i ← i+1 Fin Tant que En pseudo-code avec Pour : Variables : tableau d'entiers tab, entier i Pour i de 1 à Longueur(tab) faire : [des choses avec la i-ième case du tableau Case(tab,i)...] Fin Pour
  36. 36. La boucle “for” / “Pour tout...” Pour parcourir tous les entiers entre deux valeurs entières. En pseudo-code : Pour tout entier i de 1 à 42 faire : … Fin Pour En Java : En Java avec while : for(int i=1;i<43;i++){ int i=1; … while(i<43){ } … i++; }
  37. 37. La boucle “for” / “Pour tout...” Pour parcourir tous les entiers entre deux valeurs entières. En pseudo-code : Pour tout entier i de 1 à 42 faire : … Fin Pour En Java : En Java avec while : for(int i=1;i<43;i++){ int i=1; … while(i<43){ } … i++; }
  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 DessineHistogramme Entrée : tableau de chaînes de caractères Mots et Entrée : tableau de chaînes de caractères Mots et tableau d'entiers NbApparitions. tableau d'entiers NbApparitions. Variable : entier compteur Variable : entier compteur Début Début compteur ← 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 Pour Fin TantQue Fin Fin
  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 DessineHistogramme Entrée : tableau de chaînes de caractères Mots et Entrée : tableau de chaînes de caractères Mots et tableau d'entiers NbApparitions. tableau d'entiers NbApparitions. Variable : entier compteur Variable : entier compteur Début Début compteur ← 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 Pour Fin TantQue Fin Fin En Java : int compteur; compteur=1; while(compteur<mots.length+1) { for(int compteur=1;compteur<mots.length+1;compteur++){ … … } }
  40. 40. 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 DessineHistogramme Entrée : tableau de chaînes de caractères Mots et Entrée : tableau de chaînes de caractères Mots et tableau d'entiers NbApparitions. tableau d'entiers NbApparitions. Variable : entier compteur Variable : entier compteur Début Début compteur ← 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 Pour Fin TantQue Fin Fin déclaration + En Java : int compteur; initialisation compteur=1; while(compteur<mots.length+1) { for(int compteur=1;compteur<mots.length+1;compteur++){ … … } }
  41. 41. 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 DessineHistogramme Entrée : tableau de chaînes de caractères Mots et Entrée : tableau de chaînes de caractères Mots et tableau d'entiers NbApparitions. tableau d'entiers NbApparitions. Variable : entier compteur Variable : entier compteur Début Début compteur ← 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 Pour Fin TantQue Fin Fin déclaration + En Java : condition d'arrêt int compteur; initialisation compteur=1; while(compteur<mots.length+1) { for(int compteur=1;compteur<mots.length+1;compteur++){ … … } }
  42. 42. 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 DessineHistogramme Entrée : tableau de chaînes de caractères Mots et Entrée : tableau de chaînes de caractères Mots et tableau d'entiers NbApparitions. tableau d'entiers NbApparitions. Variable : entier compteur Variable : entier compteur Début Début compteur ← 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 Pour Fin TantQue Fin Fin déclaration + En Java : condition d'arrêt mise à jour int compteur; initialisation compteur=1; while(compteur<mots.length+1) { for(int compteur=1;compteur<mots.length+1;compteur++){ … … } }
  43. 43. 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 DessineHistogramme Entrée : tableau de chaînes de caractères Mots et Entrée : tableau de chaînes de caractères Mots et tableau d'entiers NbApparitions. tableau d'entiers NbApparitions. Variable : entier compteur Variable : entier compteur Début Début compteur ← 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 Pour Fin TantQue Fin Fin déclaration + En Java : condition d'arrêt mise à jour int compteur; initialisation compteur=1; while(compteur<mots.length+1){ for(int compteur=1;compteur<mots.length+1;compteur++){ … … } } compteur=compteur+1 compteur+=1
  44. 44. La copie d'un tableau Pour copier le contenu d'un tableau d'entiers t1 dans un nouveau tableau d'entiers t2. En Java : public static int[] Copie(int[] t1){ int[] t2; t2=new int[t1.length]; int i=0; while(i<t1.length){ t2[i]=t1[i]; i=i+1; } return t2; }

×