Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Machine Learning et Deep Learning
  3. Les boucles
Extrait - Machine Learning et Deep Learning Des bases à la conception avancée d'algorithmes (exemples en Python et en JavaScript)
Extraits du livre
Machine Learning et Deep Learning Des bases à la conception avancée d'algorithmes (exemples en Python et en JavaScript)
1 avis
Revenir à la page d'achat du livre

Les boucles

Introduction

Un bébé se lève, fait un pas dans la direction de sa maman et tombe. Il se relève, refait un pas et retombe. Et ainsi de suite. Après le cinquième pas, il arrive à votre niveau. Ce bébé, qui apprend à marcher, vient d’utiliser l’algorithme des boucles.

Une boucle est l’une des structures de base de l’algorithmique. Elle consiste à créer un sous-programme qui se répète. On parle de structure itérative ou répétitive. 

Les programmeurs n’aiment pas trop se répéter. Et dans un programme qui peut faire des millions de lignes, les occasions de se répéter ne manquent pas. Pour éviter cela, deux types de boucles sont principalement utilisées : la boucle Pour et la boucle Tant que.

La boucle Pour

Une boucle fonctionne par itération.

Si on connaît le nombre de fois qu’on veut effectuer une tâche, la boucle Pour, qui correspond à l’instruction for en Python et JavaScript, est la plus adaptée.

Pour variable allant de valeurDeDebut à valeurDeFin avec un pas de valeurDuPas 
Instructions 
Fin 

Reprenons l’exemple du bébé qui doit faire cinq pas avant d’atteindre son papa ou sa maman. L’algorithme est le suivant :

Algorithme : Aller jusqu'à papa ou maman 
Variables : 
     entier :  nombreDePas, compteur  
Début : 
     Pour compteur allant de 1 à 5 avec un pas de 1 
          nombreDePas  compteur 
     Afficher “Bébé a fait”, nombreDePas, “pas pour arriver 
jusqu'à papa ou maman” 
Fin 

Ici, nous créons deux variables :

  • nombreDePas : enregistre le nombre de pas effectués par le bébé.

  • compteur : prend les valeurs de chaque itération ou tour de la boucle. Il prendra donc successivement les valeurs 1, 2, 3, 4 et 5. C’est extrêmement commun d’utiliser une telle variable dans une boucle Pour. Son nom est souvent i (pour...

La boucle Tant que

La boucle Tant que est la petite (ou grande) soeur de la boucle Pour. Là où la boucle Pour est à privilégier quand on connaît le nombre d’itérations à effectuer, la boucle Tant que est très pratique quand on ignore le nombre de tours à opérer. Comment fait-on pour indiquer le nombre de tours ?

On se sert des opérateurs logiques et de comparaison. Comme vous le savez, le résultat quand on applique ces opérations est une variable booléenne True ou False. Tout comme les structures conditionnelles s’exécutent si la condition est True, la boucle Tant que s’exécute si l’expression qu’elle contient est True, et sort de la boucle si elle devient False. Voici comment on écrit une boucle Tant que :

Tant que expression 
     instructions 
Fin 

Écrivons l’algorithme Aller jusqu’à papa ou maman avec la structure Tant que.

Algorithme : Aller jusqu'à papa ou maman 
Variables : 
     entier :  nombreDePas, compteur 
Début : 
     compteur  1 
     Tant que compteur <= 5 
          nombreDePas  compteur 
          compteur...

La boucle infinie

Il est très important de faire en sorte que l’expression devienne False au moins une fois, sinon on ne sort jamais de la boucle : c’est ce qu’on appelle une boucle infinie. On doit donc bien penser à modifier l’expression de la boucle.

La boucle infinie, c’est un peu le piège classique dans lequel tombent tous les apprentis programmeurs qui utilisent la boucle Tant que. Voici un exemple d’une boucle infinie :

Algorithme : Vers l'infini et au-delà 
Variables : 
     entier :  compteur 
Début : 
     compteur  1 
     Tant que compteur <= 10 
          Afficher compteur 
     Afficher “On est sorti de la boucle” 
Fin 

Le programme affiche un nombre infini de fois le nombre 1. En effet, c’est celui avec lequel est initialisée la variable compteur. La phrase "On est sorti de la boucle" ne s’affiche donc jamais. Pour régler ce problème, c’est simple :

Algorithme : On compte jusqu'à 10 
Variables : 
     entier :  compteur 
Début : 
     compteur  1 
     Tant...

Les boucles imbriquées

Comme il existe des conditions imbriquées, il existe des boucles imbriquées. À quoi peuvent-elles bien servir ?

De la même façon qu’on peut utiliser des sous-conditions, par exemple pour différencier les catégories de mineurs (bébé, enfant, adolescent), on peut avoir besoin de faire appel à des imbrications de boucles. C’est ce qu’on vous a expliqué quand on vous a appris à lire l’heure.

images/07RI02.png

En effet, pour passer des secondes aux minutes, il faut que l’aiguille des secondes fasse une boucle de 60 itérations, et pour passer des minutes aux heures, il faut que l’aiguille des minutes fasse une boucle de 60 itérations. Et pour passer des heures aux jours, il faut que l’aiguille des heures fasse une boucle de 24 itérations… Il s’agit de boucles imbriquées.

Voici l’algorithme :

Algorithme : Combien de minutes se sont écoulées ? 
Variables : 
     entier :  nombreDeSecondesTotal, seconde, minute, 
Début : 
          minute  0 
     Afficher “Saisissez un nombre de seconde(s) et je vous dirai 
combien de minute(s) cela représente” 
     Saisir...