Post

CM7 Boucles

Télécharger le CM7 Boucles en pdf

Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97

Page 1 : INFORMATIQUE 1V I I . L E S B O U C L E SEva Ansermin & Romuald Grignon v1.1

page 1

Page 2 : I. PrincipeEva ANSERMIN & Romuald GRIGNON2

page 2

Page 3 : Problématique●Dans l’algorithme suivant, que peut-on faire pour s’assurer que l’utilisateur rentreune note valide ? VARIABLEn1: RéélDEBUTECRIRE “Donnez la note”LIREn1ECRIRE“Le résultat est” + n1FINEva ANSERMIN & Romuald GRIGNON3

page 3

Page 4 : Problématique●Première idée : à l’aide d’une condition, on redemande à l’utilisateur si la valeursaisie est incorrecte :VARIABLEn1: RéélDEBUTECRIRE “Donnez la note”LIREn1// condition de note non valideSI n1 EST STRICTEMENT INFERIEUR A 0 OU n1 EST STRICTEMENT SUPERIEUR A 20 ALORS // on redemande la saisieECRIRE“Donnez la note”LIRE n1FIN SIECRIRE“Le résultat est” + mFINEva ANSERMIN & Romuald GRIGNON4

page 4

Page 5 : Problématique●Si l’utilisateur donne plusieurs fois une valeur mauvaise ? VARIABLEn1: RéélDEBUTECRIRE “Donnez la note”LIREn1// condition de note non valideSI n1 EST STRICTEMENT INFERIEUR A 0 OU n1 EST STRICTEMENT SUPERIEUR A 20 ALORS ECRIRE“Donnez la note” // on redemande la saisieLIRE n1SI n1 EST STRICTEMENT INFERIEUR A 0 OU n1 EST STRICTEMENT SUPERIEUR A 20 ALORS ECRIRE“Donnez la note” // on redemande la saisieLIRE n1FIN SI FIN SIECRIRE“Le résultat est” + mFINEva ANSERMIN & Romuald GRIGNON5

page 5

Page 6 : Problématique●Dans cette situation, on ne sait pas à l’avance combien de fois il va falloir vérifierla validité de la valeur saisie : utiliser des branchements conditionnels ne suffitpas.●Il faudrait pouvoir répeter des instructions tant que la valeur n’est pas valide. ●C’est le role des boucles : les boucles permettent de répéter des instructions un certain nombre de fois pré-déterminé, ou, répéter en fonction d’une condition. Eva ANSERMIN & Romuald GRIGNON6

page 6

Page 7 : Principe • Ce qu’il se passe:1.l'ordinateur lit les instructions de haut en bas comme d'habitude ;2.puis, une fois arrivé à la fin de la boucle, dans certaines conditions il repart à la première instruction ;3. il recommence alors à lire les instructions de haut en bas…4. … et ça recommence !•Il existe deux types de boucles : 1.les boucles à nombre de tours déterminé par avance pour2.les boucles à nombre de tours indéterminé tant que … faire ... / répéter … tant que ...Eva ANSERMIN & Romuald GRIGNON7

page 7

Page 8 : II. Les différentes bouclesEva ANSERMIN & Romuald GRIGNON8

page 8

Page 9 : La boucle TANT QUE ●La boucle TANT QUE permet de répéter un ensemble d’instructions tant qu’unecondition vaut VRAI.TANT QUE expression booléenne FAIRE… // liste d’instructions à répéterFIN TANT QUEEva ANSERMIN & Romuald GRIGNON9

page 9

Page 10 : La boucle TANT QUE ●La boucle TANT QUE permet de répéter un ensemble d’instructions tant que unecondition est VRAI.TANT QUE expression booléenne FAIRE… // liste d’instructions à répéterFIN TANT QUELe FIN TANT QUE indique la fin des instruction à répéter comme le FIN SIEva ANSERMIN & Romuald GRIGNON10

page 10

Page 11 : La boucle TANT QUE ●La boucle TANT QUE permet de répéter un ensemble d’instructions tant que unecondition est VRAI.TANT QUE expression booléenne FAIRE… // liste d’instructions à répéterFIN TANT QUEIndentation obligatoire pour les instructions appartenant au tant que !Eva ANSERMIN & Romuald GRIGNON11

page 11

Page 12 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINEva ANSERMIN & Romuald GRIGNON12

page 12

Page 13 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + b a - a - bFIN TANT QUE ECRIRE c FINVariableValeurabcEva ANSERMIN & Romuald GRIGNON13

page 13

Page 14 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura9bcEva ANSERMIN & Romuald GRIGNON14

page 14

Page 15 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura9b3cEva ANSERMIN & Romuald GRIGNON15

page 15

Page 16 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura9b3c0Eva ANSERMIN & Romuald GRIGNON16

page 16

Page 17 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura9b3c0a 0 est VRAI : on rentredans la boucleEva ANSERMIN & Romuald GRIGNON17

page 17

Page 18 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura9b3c12Eva ANSERMIN & Romuald GRIGNON18

page 18

Page 19 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura6b3c12Eva ANSERMIN & Romuald GRIGNON19

page 19

Page 20 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura6b3c12Eva ANSERMIN & Romuald GRIGNON20

page 20

Page 21 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura6b3c12a 0 est VRAI : on rentre à nouveau dans la boucleEva ANSERMIN & Romuald GRIGNON21

page 21

Page 22 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura6b3c21Eva ANSERMIN & Romuald GRIGNON22

page 22

Page 23 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura3b3c21Eva ANSERMIN & Romuald GRIGNON23

page 23

Page 24 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura3b3c21Eva ANSERMIN & Romuald GRIGNON24

page 24

Page 25 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura3b3c21a 0 est VRAI : on rentre à nouveau dans la boucleEva ANSERMIN & Romuald GRIGNON25

page 25

Page 26 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura3b3c27Eva ANSERMIN & Romuald GRIGNON26

page 26

Page 27 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura0b3c27Eva ANSERMIN & Romuald GRIGNON27

page 27

Page 28 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura0b3c27Eva ANSERMIN & Romuald GRIGNON28

page 28

Page 29 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura0b3c27a 0 est VRAI : on rentre à nouveau dans la boucleEva ANSERMIN & Romuald GRIGNON29

page 29

Page 30 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura0b3c30Eva ANSERMIN & Romuald GRIGNON30

page 30

Page 31 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariablevaleura-3b3c30Eva ANSERMIN & Romuald GRIGNON31

page 31

Page 32 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura-3b3c30Eva ANSERMIN & Romuald GRIGNON32

page 32

Page 33 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura-3b3c30a 0 est FAUX : on sort de la boucleEva ANSERMIN & Romuald GRIGNON33

page 33

Page 34 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura-3b3c30Eva ANSERMIN & Romuald GRIGNON34

page 34

Page 35 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 9b - 3c - 0TANT QUE a EST SUPERIEUR OU EGAL A 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura-3b3c3030Eva ANSERMIN & Romuald GRIGNON35

page 35

Page 36 : La boucle TANT QUE ●Remarques :○Le nombre de tours de boucle n’est pas toujours connu à l’avance○Attention ! Il est possible de rester “coincé” dans la boucle : c’est uneboucle infinieEva ANSERMIN & Romuald GRIGNON36

page 36

Page 37 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 5b - 3c - 0TANT QUE a EST DIFFERENT DE 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeurabcEva ANSERMIN & Romuald GRIGNON37

page 37

Page 38 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 5b - 3c - 0TANT QUE a EST DIFFERENT DE 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura5bcEva ANSERMIN & Romuald GRIGNON38

page 38

Page 39 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 5b - 3c - 0TANT QUE a EST DIFFERENT DE 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura5b3cEva ANSERMIN & Romuald GRIGNON39

page 39

Page 40 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 5b - 3c - 0TANT QUE a EST DIFFERENT DE 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura5b3c0Eva ANSERMIN & Romuald GRIGNON40

page 40

Page 41 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 5b - 3c - 0TANT QUE a EST DIFFERENT DE 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura5b3c0Eva ANSERMIN & Romuald GRIGNON41

page 41

Page 42 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 5b - 3c - 0TANT QUE a EST DIFFERENT DE 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura5b3c8Eva ANSERMIN & Romuald GRIGNON42

page 42

Page 43 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 5b - 3c - 0TANT QUE a EST DIFFERENT DE 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura2b3c8Eva ANSERMIN & Romuald GRIGNON43

page 43

Page 44 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 5b - 3c - 0TANT QUE a EST DIFFERENT DE 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura2b3c8Eva ANSERMIN & Romuald GRIGNON44

page 44

Page 45 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 5b - 3c - 0TANT QUE a EST DIFFERENT DE 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura2b3c8Eva ANSERMIN & Romuald GRIGNON45

page 45

Page 46 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 5b - 3c - 0TANT QUE a EST DIFFERENT DE 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura2b3c13Eva ANSERMIN & Romuald GRIGNON46

page 46

Page 47 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 5b - 3c - 0TANT QUE a EST DIFFERENT DE 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura-1b3c13Eva ANSERMIN & Romuald GRIGNON47

page 47

Page 48 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 5b - 3c - 0TANT QUE a EST DIFFERENT DE 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura-1b3c13Eva ANSERMIN & Romuald GRIGNON48

page 48

Page 49 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 5b - 3c - 0TANT QUE a EST DIFFERENT DE 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura-1b3c13Eva ANSERMIN & Romuald GRIGNON49

page 49

Page 50 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 5b - 3c - 0TANT QUE a EST DIFFERENT DE 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura-4b3c15Eva ANSERMIN & Romuald GRIGNON50

page 50

Page 51 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 5b - 3c - 0TANT QUE a EST DIFFERENT DE 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura-4b3c15Eva ANSERMIN & Romuald GRIGNON51

page 51

Page 52 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 5b - 3c - 0TANT QUE a EST DIFFERENT DE 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura-4b3c15Eva ANSERMIN & Romuald GRIGNON52

page 52

Page 53 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 5b - 3c - 0TANT QUE a EST DIFFERENT DE 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura-4b3c14Eva ANSERMIN & Romuald GRIGNON53

page 53

Page 54 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 5b - 3c - 0TANT QUE a EST DIFFERENT DE 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura-7b3c14Eva ANSERMIN & Romuald GRIGNON54

page 54

Page 55 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 5b - 3c - 0TANT QUE a EST DIFFERENT DE 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura-7b3c14Eva ANSERMIN & Romuald GRIGNON55

page 55

Page 56 : La boucle TANT QUE ●Exemple :VARIABLEa,b,c : entierDEBUTa - 5b - 3c - 0TANT QUE a EST DIFFERENT DE 0 FAIRE c - c + a + ba - a - bFIN TANT QUE ECRIRE c FINVariableValeura-7b3c14a n’aura jamais la valeur 0: la condition vaudra toujours VRAI.On reste bloqué dans la boucle.Eva ANSERMIN & Romuald GRIGNON56

page 56

Page 57 : La boucle FAIRE TANT QUE ●La boucle FAIRE … TANT QUE est très similaire à la boucle TANT QUE FAIRE… // liste d’instructions à répéterTANT QUE conditionEva ANSERMIN & Romuald GRIGNON57

page 57

Page 58 : La boucle REPETER TANT QUE ●Les deux type de boucles TANT QUE :TANT QUE expression booléenne FAIRE… // liste d’instructions à répéterFIN TANT QUEFAIRE… // liste d’instructions à répéterTANT QUE expression booléenneLa boucle FAIRE … TANT QUE permet d’exécuter au moins une fois la liste d’instructionsEva ANSERMIN & Romuald GRIGNON58

page 58

Page 59 : La boucle POUR●On utilise cette boucle lorsque l’on sait combien de fois on doit répéter les instructions.●Une boucle POUR se base sur la valeur d’une variable qui sert de compteur.●Syntaxe:POUR variter DE valdebut À valfin PAS DE n FAIRE//Liste d’instructions à répéter…FIN POUREva ANSERMIN & Romuald GRIGNON59

page 59

Page 60 : La boucle POURPOUR variter DE valdebut À valfin PAS DE n FAIRE//Liste d’instructions à répéter…FIN POUR●La ligne POUR contient 3 instructions condensées :○L’initialisation de la variable compteur ou variable d’itération ici à valdebut○La condition d’arrêt de la boucle: lorsque la variable d’itération valfin○L’incrémentation le pas de la variable d’itération. À chaque « tour » de boucle :variter ← variter + nEva ANSERMIN & Romuald GRIGNON60

page 60

Page 61 : La boucle pour●ExempleVARIABLEi: entierDEBUT// lorsque le pas n’est pas précisé il est par défaut à 1// la valeur de fin est toujours exclue par défautPOUR i DE 0 à 10 FAIREECRIREiFIN POURFINEva ANSERMIN & Romuald GRIGNON61

page 61

Page 62 : La boucle pour●ExempleVARIABLEi: entierDEBUT// lorsque le pas n’est pas précisé il est par défaut à 1// la valeur de fin est toujours exclue par défautPOUR i DE 0 à 10 FAIREECRIREiFIN POURFIN0123456789La boucle s’arrête pour i=10, donc la dernière valeur affichée sera 9.Eva ANSERMIN & Romuald GRIGNON62

page 62

Page 63 : La boucle pour●Exemple :VARIABLESi,n : entierDEBUTn ← 10POUR i DE 2 À n PAR PAS DE 2 FAIREécrireiiFIN POURFINVariable Valeur niEva ANSERMIN & Romuald GRIGNON63

page 63

Page 64 : La boucle pour●Exemple :Variable Valeur n10iEva ANSERMIN & Romuald GRIGNON64VARIABLESi,n : entierDEBUTn ← 10POUR i DE 2 À n PAR PAS DE 2 FAIREécrireiiFIN POURFIN

page 64

Page 65 : La boucle pour●Exemple :Variable Valeur n10i2Eva ANSERMIN & Romuald GRIGNON65VARIABLESi,n : entierDEBUTn ← 10POUR i DE 2 À n PAR PAS DE 2 FAIREécrireiiFIN POURFIN

page 65

Page 66 : La boucle pour●Exemple :Variable Valeur n10i24Eva ANSERMIN & Romuald GRIGNON66VARIABLESi,n : entierDEBUTn ← 10POUR i DE 2 À n PAR PAS DE 2 FAIREécrireiiFIN POURFIN

page 66

Page 67 : La boucle pour●Exemple :Variable Valeur n10i24Eva ANSERMIN & Romuald GRIGNON67VARIABLESi,n : entierDEBUTn ← 10POUR i DE 2 À n PAR PAS DE 2 FAIREécrireiiFIN POURFIN

page 67

Page 68 : La boucle pour●Exemple :Variable Valeur n10i44Eva ANSERMIN & Romuald GRIGNON68VARIABLESi,n : entierDEBUTn ← 10POUR i DE 2 À n PAR PAS DE 2 FAIREécrireiiFIN POURFIN

page 68

Page 69 : La boucle pour●Exemple :Variable Valeur n10i44Eva ANSERMIN & Romuald GRIGNON69VARIABLESi,n : entierDEBUTn ← 10POUR i DE 2 À n PAR PAS DE 2 FAIREécrireiiFIN POURFIN

page 69

Page 70 : La boucle pour●ExempleVariable Valeur n10i4416Eva ANSERMIN & Romuald GRIGNON70VARIABLESi,n : entierDEBUTn ← 10POUR i DE 2 À n PAR PAS DE 2 FAIREécrireiiFIN POURFIN

page 70

Page 71 : La boucle pour●Exemple :Variable Valeur n10i6416Eva ANSERMIN & Romuald GRIGNON71VARIABLESi,n : entierDEBUTn ← 10POUR i DE 2 À n PAR PAS DE 2 FAIREécrireiiFIN POURFIN

page 71

Page 72 : La boucle pour●Exemple :Variable Valeur n10i6416Eva ANSERMIN & Romuald GRIGNON72VARIABLESi,n : entierDEBUTn ← 10POUR i DE 2 À n PAR PAS DE 2 FAIREécrireiiFIN POURFIN

page 72

Page 73 : La boucle pour●Exemple :Variable Valeur n10i641636Eva ANSERMIN & Romuald GRIGNON73VARIABLESi,n : entierDEBUTn ← 10POUR i DE 2 À n PAR PAS DE 2 FAIREécrireiiFIN POURFIN

page 73

Page 74 : La boucle pour●Exemple :Variable Valeur n10i841636Eva ANSERMIN & Romuald GRIGNON74VARIABLESi,n : entierDEBUTn ← 10POUR i DE 2 À n PAR PAS DE 2 FAIREécrireiiFIN POURFIN

page 74

Page 75 : La boucle pour●Exemple :Variable Valeur n10i841636Eva ANSERMIN & Romuald GRIGNON75VARIABLESi,n : entierDEBUTn ← 10POUR i DE 2 À n PAR PAS DE 2 FAIREécrireiiFIN POURFIN

page 75

Page 76 : La boucle pour●Exemple :Variable Valeur n10i84163664Eva ANSERMIN & Romuald GRIGNON76VARIABLESi,n : entierDEBUTn ← 10POUR i DE 2 À n PAR PAS DE 2 FAIREécrireiiFIN POURFIN

page 76

Page 77 : La boucle pour●Exemple :Variable Valeur n10i104163664Eva ANSERMIN & Romuald GRIGNON77VARIABLESi,n : entierDEBUTn ← 10POUR i DE 2 À n PAR PAS DE 2 FAIREécrireiiFIN POURFIN

page 77

Page 78 : La boucle pour●Exemple :Variable Valeur n10i104163664Eva ANSERMIN & Romuald GRIGNON78VARIABLESi,n : entierDEBUTn ← 10POUR i DE 2 À n PAR PAS DE 2 FAIREécrireiiFIN POURFIN

page 78

Page 79 : La boucle pourATTENTION : ●On ne modifie jamais les bornes de début et de fin dans la boucle●On ne modifie jamais la valeur de l’itérateur dans la boucle●On n’arrête jamais un pour avant sa fin prévueSi vous avez besoin de transgresser un de ces principes, c’est que vous ne devez pasutiliser une boucle pour.Eva ANSERMIN & Romuald GRIGNON79

page 79

Page 80 : Comparaison des bouclesNombre de tours connuAu moins un tourPeut être infinieTANT QUENonNonOuiREPETER TANT QUENonOuiOuiPOUROuiNonOui mais plus facile à éviter !●Une boucle POUR peut toujours être transformée en boucle TANT QUE, mais pas l’inverse ! voir TD●La boucle POUR est plus courte à écrire = si on connait le nombre de tours de boucle à réaliser, il faut utiliser une boucle POUR ! Eva ANSERMIN & Romuald GRIGNON80

page 80

Page 81 : ApplicationVARIABLEn1: RéélDEBUTECRIRE “Donnez la note”LIREn1ECRIRE“Le résultat est” + n1FIN●Comment gérer le problème du début de cours ?●Quelle boucle est la plus adaptée ?Eva ANSERMIN & Romuald GRIGNON81

page 81

Page 82 : ApplicationVARIABLEn1: Rééli: entierDEBUTPOUR i de 0 à 10 ECRIRE “Donnez la note”LIREn1FIN POURECRIRE“Le résultat est” + n1FIN●La boucle POUR ne fonctionne pas : on ne peut pas prévoir le nombre de fois où l’utilisateur va se tromper !Eva ANSERMIN & Romuald GRIGNON82

page 82

Page 83 : ApplicationVARIABLEn1: Rééli: entierDEBUTPOUR i de 0 à 10 ECRIRE “Donnez la note”LIREn1FIN POURECRIRE“Le résultat est” + n1FIN●La boucle POUR ne fonctionne pas : on ne peut pas prévoir le nombre de fois où l’utilisateur va se tromper !Ici on va demander 10 fois à l’utilisateur de saisir la note indépendamment de si les saisies sont correctes ou non ! Eva ANSERMIN & Romuald GRIGNON83

page 83

Page 84 : ApplicationVARIABLEn1: RéélDEBUTECRIRE “Donnez la note”LIREn1TANT QUE ECRIRE “Donnez la note”LIREn1FIN TANT QUEECRIRE“Le résultat est” + n1FIN●Boucle TANT QUE Eva ANSERMIN & Romuald GRIGNON84

page 84

Page 85 : ApplicationVARIABLEn1: RéélDEBUTECRIRE “Donnez la note”LIREn1TANT QUE n1 STRICTEMENT INFERIEUR A 0 OU n1 STRICTEMENT SUPERIEUR A 20ECRIRE “Donnez la note”LIREn1FIN TANT QUEECRIRE“Le résultat est” + n1FIN●Boucle TANT QUE Eva ANSERMIN & Romuald GRIGNON85

page 85

Page 86 : ApplicationVARIABLEn1: RéélDEBUT// il faut donner une valeur à n1 avant de rentrer dans la boucleECRIRE “Donnez la note”LIREn1TANT QUE n1 STRICTEMENT INFERIEUR A 0 OU n1 STRICTEMENT SUPERIEUR A 20ECRIRE “Donnez la note”LIREn1FIN TANT QUEECRIRE“Le résultat est” + n1FIN●Boucle TANT QUE Eva ANSERMIN & Romuald GRIGNON86

page 86

Page 87 : ApplicationVARIABLEn1: RéélDEBUT// Pas besoin d’initialiser n1REPETERECRIRE “Donnez la note”LIREn1TANT QUEn1 STRICTEMENT INFERIEUR A 0 OU n1 STRICTEMENT SUPERIEUR A 20ECRIRE“Le résultat est” + n1FIN●Boucle REPETER TANT QUE Eva ANSERMIN & Romuald GRIGNON87

page 87

Page 88 : III. Langage CEva ANSERMIN & Romuald GRIGNON88

page 88

Page 89 : Tant que condition faire … Fin tant queRépéter … Tant que conditionBoucle TANT QUE do … while condition;while condition ...Eva ANSERMIN & Romuald GRIGNON89

page 89

Page 90 : ●Syntaxe :forinitialisation; condition; itération instructions;●Déroulement : 1.exécute initialisation2.vérifie condition, si faux - sortie3.exécute instructions4.exécute itération5.retour à 2Boucle POURfor i=1; i=n; i++ instructions;Eva ANSERMIN & Romuald GRIGNON90

page 90

Page 91 : Pour i de 1 à n faire … Fin pourBoucle POURfor i=1; in; i++ ...for i=1; i=n; i=i+2 ...Pour i de 1 à n+1 par pas de 2 faire … Fin pourEva ANSERMIN & Romuald GRIGNON91

page 91

Page 92 : Boucle POUR●Contrairement au pseudo-code, l’initialisation et l’itération de la boucle for peut contenir des blocs d’instructions. ●Les instructions de ces blocs doivent être séparés par des virgules.●Exemple :for i=1, j=-5; i=n; i=i+2, j=j3 ...Eva ANSERMIN & Romuald GRIGNON92

page 92

Page 93 : ApplicationVARIABLEn1: RéélDEBUT// Pas besoin d’initialiser n1REPETER ECRIRE “Donnez la note”LIREn1TANT QUEn1 STRICTEMENT INFERIEUR A 0 OU n1 STRICTEMENT SUPPERIEUR A 20ECRIRE“Le résultat est” + n1FINEva ANSERMIN & Romuald GRIGNON93

page 93

Page 94 : ApplicationVARIABLEn1: RéélDEBUT// Pas besoin d’initialiser n1REPETER ECRIRE “Donnez la note”LIREn1TANT QUEn1 STRICTEMENT INFERIEUR A 0 OU n1 STRICTEMENT SUPPERIEUR A 20ECRIRE“Le résultat est” + n1FINint mainfloat n1;doprintf“Donnez la note”;scanf“f”,&n1; whilen10 n1 20; printf“Le résultat est f”,n1;Eva ANSERMIN & Romuald GRIGNON94

page 94

Page 95 : Applicationint mainint i,n;printf“Donnez un nombre”;scanf“d”,&nfor i=1; i=n;i++printf“d”, ii;return 0;Eva ANSERMIN & Romuald GRIGNON95

page 95

Page 96 : Applicationint mainint i,n;printf“Donnez un nombre”;scanf“d”,&nfor i=1; i=n;i++printf“d”, ii;return 0;Ce code permet d’afficher le carré des n premiers nombres entiers.Eva ANSERMIN & Romuald GRIGNON96

page 96

Page 97 : Conclusion●Les boucles sont très utilisées en algorithmie : elles permettent de répéter des instructions plusieurs fois. ●Il existe plusieurs types de boucles différentes : POUR for, TANT QUE while et FAIRE … TANT QUE do … while. A chaque situation correspond le bon type de boucle.●Les boucles associées aux branchements conditionnels constituent la base de l’algorithmie !Eva ANSERMIN & Romuald GRIGNON97

page 97

Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97

Le contenu de cet article est la propriété exclusive de son auteur.