Aller au contenu

J’apprends à programmer : les boucles

Apprendre la programmation : les boucles

<<< Article précédent : Mon premier programme

Les boucles

Dans un programme, comme dans la vraie vie, il faut parfois faire des opérations répétitives comme :

  • j’ajoute des tomates dans mon panier jusqu’à ce que celui-ci soit plein,
  • j’épelle chacune des lettres de mon nom pour bien me faire comprendre,
  • pour mon jogging, il faut que je fasse 5 fois le tour du parc,
  • etc …

Regardons ces différents types de boucles.

La boucle « Tant que … »

Une boucle « Tant que » existe dans pratiquement tous les langages (en tout cas, je ne connais pas de langage qui n’ont pas cette boucle dans leurs instructions).

Tant que, se traduit par While. On va donc utiliser une instruction While qui va réaliser une boucle tant qu’une condition est vraie. Quand la condition n’est plus vraie (qu’elle est fausse), la boucle while s’arrête et le programme continue après la fin de la boucle.

Syntaxe du While

Tout commence par le mot clé : « while » suivi d’une condition et terminé par « : ». Si je met un peu de couleur, ça donne ça :

while condition :

ligne à exécuter

On pourrait traduire cela comme ça :

Tant que condition est vraie alors exécute ce qui suit.

Exemple :

ligne 1
ligne 2
while condition:
    ligne boucle1
    ligne boucle2
ligne 3

Dans l’exemple ci-dessus, c’est assez facile et je pense que vous aurez compris que :

  • Les lignes 1 et 2 sont exécutées,
  • Puis si la condition est vraie, alors les lignes à l’intérieur de la boucle (boucle1 et boucle2) sont éxécutées : pour l’instant, c’est comme une condition !
  • Mais à la différence d’une instructions IF, les instructions à l’intérieur seront exécutées plusieurs fois, tant que la condition est vraie.
  • puis lorsque la condition n’est plus vraie, on sort de la boucle, le programme continue et la ligne 3 est exécutée.

Rappel important:

Seules les lignes indentées font partie de la boucle. Je vous invite à relire la partie sur l’indentation.

A vous de jouer

Reprenons notre exemple du panier de tomates.

Imaginons que notre panier peut contenir 8 tomates (oui, c’est un petit panier, ou de grosses tomates 😉 ).

Nous allons faire une boucle pour remplir notre panier. Maintenant que vous êtes devenus des PROS de la programmation, plutôt que de vous donner la solution, je vais vous énoncer le cahier des charges de notre programme et ce sera à vous de jouer.

Voici le programme qu’il faut réaliser :

  • au départ notre panier ne contient pas de tomate
  • à chaque fois que j’ajoute une tomate, j’affiche le nombre de tomates contenues dans mon panier. (c’est ici qu’il faut ajouter votre boucle While)
  • une fois que le panier est plein (8 tomates), j’affiche que mon panier est plein car il contient 8 tomates et c’est la fin du programme.

N’oubliez pas de lancer votre environnement de développement : en cliquant ici : https://www.jdoodle.com/python-programming-online.

Avant de regarder la solution du programme, je vous conseille d’essayer de le réaliser vous-même.

Allez ne trichez pas …

C’est bon, vous avez réussi ?

La solution

Voici la solution de ce petit programme :

tomate = 0;
while tomate < 8:
 print "mon panier contient",tomate,"tomates";
 tomate = tomate + 1;
print;
print "mon panier est plein, il contient",tomate,"tomates !";

Et voici le résultat de l’exécution :

programmation boucle

Attention

Le piège à éviter à tout prix dans une boucle : C’est la boucle qui ne s’arrête jamais !

Lorsque vous programmez une boucle, pensez toujours à prévoir la condition qui permettra d’en sortir, sinon votre programme tournera en rond et il faudra le planter pour l’arrêter. Croyez-moi, c’est du vécu ! 🙁

 

La Boucle  » jusqu’à ce que »

Il existe une autre boucle qui ressemble beaucoup à la boucle « répète tant que … », il s’agit de la boucle « répète jusqu’à ce que … »

A la différence de la boucle tant que, la boucle répète jusqu’à, s’exécute au moins une fois, puisque la condition est testée à la fin.
Voici la différence entre les 2 fonctionnements :

Exemple 1 : Tant que Exemple 2 : Jusqu’à
variable = 1
tant que variable > 1
  affiche variable
  variable = variable - 1
fin du tant que
variable = 1
répète
   affiche variable
   variable = variable - 1
jusqu'à ce que variable < 1
Dans l’exemple du dessus, le contenu de la boucle ne sera jamais exécuté.
Donc la valeur de la variable ne sera jamais affichée.
Dans l’exemple du dessus, le contenu de la boucle sera exécuté.
Et donc la valeur de la variable sera jamais affichée une fois.Notez aussi que la condition n’est plus la même que dans la boucle précédente.

PS : Je vous parle de la boucle : « Repète … jusqu’à ce … » mais elle n’existe pas dans tous les langages. C’est le cas du Python à l’heure où j’écris ces lignes.
Vous pourrez trouver plus d’informations en recherchant des informations sur les boucles : repeat … until, ou do … until


 

La boucle « For »

La boucle For existe dans pratiquement tous les langages. Sa syntaxe et son fonctionnement peuvent être légèrement différents, mais, la plupart du temps, cette boucle For veut dire : « Pour tous les éléments compris entre « début » et « fin » exécute les instructions qui suivent. »

Voici comment cela s’écrit en Python, dans le cas d’un entier (ici le début est 2 et la fin est 8). Nous aurons donc :

for i in range(2,8):
    print(i);
print "la boucle est finie";

Et voici le résultat :

programmation les boucles

Vous voyez que même si l’étendue indiquée (range) va de 2 à 8, la dernière valeur de l’étendue (8) n’est pas utilisée dans la boucle. Enfin, il faut noter que si vous n’indiquez qu’une seule valeur dans le range (exemple : range (8) ) , Python considérera qu’il s’agit de la valeur de fin et la boucle commencera avec la valeur 0.
Dans beaucoup de langages, la valeur fin est aussi utilisée dans la boucle.

Avec le mot clé Range, on utilise toutes les valeurs comprises entre le début et la fin.

Voici la même boucle sans le mot clé « Range ». Le résultat se passe de commentaire, seules les valeurs présentes sont utilisées.

for i in (2,8,7):
  print(i);
print "la boucle est finie";

ce qui donne :

programmation les boucles

Boucle avec autre chose que des entiers

Ce qui fonctionne avec des entiers, peut également fonctionner avec des caractères :

print "Je vais epeler mon prenom";
for c in "Pierre":
 print(c);
print "et voila !";

Vous noterez qu’à la différence de la boucle While, les limites de la boucle For sont toujours définies et connues dès le départ de la programmation. Il n’est pas généralement pas nécessaire de se soucier de la sortie de la boucle et il est nettement plus rare de faire une boucle infinie avec un FOR.

débutant en programmation boucles

Nous sommes arrivés à la fin de ces cours de programmation !

Le but de cette série d’article était de vous apprendre les bases de la programmation pas à pas. J’espère que vous avez compris le principe et que je vous ai donné envie d’aller plus loin. Nous n’avons fait que survoler le langage Python, mais, vous avez les bases maintenant et vous pouvez aller très loin en cherchant des compléments de formation sur Internet : il y en a plein et je ne vais pas faire du copier/coller.

Une remarque importante : J’utilisais volontairement un interpréteur de Python en ligne car je ne voulais pas vous rebuter dès le départ avec l’installation d’un nouveau logiciel sur votre ordinateur. Si vous continuez les cours, je vous conseille d’installer un interpréteur Python directement sur votre ordinateur. Il vous permettra d’enregistrer vos programmes et de les exécuter directement dans l’environnement. Pour savoir comment faire : Comment installer Python sur mon ordinateur ?

Retrouvez l’ensemble des articles sur la programmation :

 

Comme d'habitude, tous les commentaires sont les bienvenus.
Inscrivez-vous à la lettre d'information. Celle-ci vous parviendra dès la parution de nouveaux articles. Vous trouverez la zone d'inscription à la lettre d'information en haut à droite de l'écran.
 
Et enfin, pour toutes vos questions techniques, utilisez le forum. D 'autre utilisateurs pourront vous répondre et vous aider. Cliquez ici pour accéder au forum...

2 commentaires sur “J’apprends à programmer : les boucles”

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
100% Free SEO Tools - Tool Kits PRO