Chapitre 6-8 : les boucles « pour imbriquées »

Ce chapitre va :

  1. s'intéresser à la structure des « variables tableaux » ou « variables indicées à deux dimensions »;
  2. expliquer pourquoi les boucles « pour imbriquées » sont intéressantes avec ces variables;
  3. expliquer le fonctionnement des boucles « pour imbriquées » et la façon de les mettre en œuvre;
  4. préparer à la manipulation et à l'utilisation de ces nouveaux éléments;
 Les variables tableau ou indicées à deux dimensions 

Prenons le cas d'un agenda par exemple. Nous aurons deux types d'informations : les jours de la semaine et les périodes de la journée. Il s'agit donc bien d'une variable à deux dimensions dont les lignes et les colonnes peuvent chacune être identifiées par un indice.

agenda  01234567
0  Périodes ↓ Jours → Lundi  Mardi  Mercredi  Jeudi  Vendredi  Samedi  Dimanche 
1  Matin
2  MidiA...
3  Après-midi
4  SoirB...

Chaque "case" aura donc besoin de deux indices pour être identifiée, c'est le cas de l'activité "A" du mardi midi. L'accès à cette case s'écrira : agenda [ 2 , 2 ].

En ce qui concerne l'activité "B" du samedi soir, un problème se pose : dans quel ordre dois-je écrire les indices ? Dois-je écrire agenda[4,6] ou agenda[6,4] ?

Et bien, cela n'a aucune importance pour autant que cet ordre soit respecté dans l'absolue totalité du programme. Tout changement d'ordre provoquera des erreurs d'identification.

Afin d'éviter les erreurs, nous ferons un choix qui est celui de privilégier (de placer d'abord) dorénavant les lignes. Pour le samedi soir, nous écrirons donc agenda[4,6].

 Les boucles pour imbriquées 

Chaque case nécessitant deux indices pour être identifiée, le balayage de tout le tableau nécessitera donc deux boucles pour imbriquées. Voici un exemple pour agenda.

Boucles pour imbriquées

Nous voyons que, par rapport au chapitre précédent, la syntaxe s'est un peu sophistiquée afin de pouvoir gérer plus finement les boucles dans les futurs exercices.

À partir de maintenant, pour que chaque boucle pour puisse fonctionner correctement, il faut lui fournir 6 éléments :

  1. l'instruction Pour qui signale le début de la boucle;
  2. le nom de la variable qui va compter les « tours de la boucle »;
  3. la valeur de départ de la boucle, qui pourra être une valeur ou une variable contenant cette valeur;
  4. la valeur de fin de la boucle, qui pourra être une valeur ou une variable contenant cette valeur;
  5. l'incrémentation Incrémentation ou la décrémentation Décrémentation, qui indiquera s'il faut ajouter ou retrancher des valeurs* à la valeur de départ pour obtenir la valeur de fin;
  6. et, pour terminer, l'instruction Fais qui termine la ligne d'informations concernant la boucle Pour.

* Il est possible d'ajouter ou retrancher une "certaine" valeur à chaque tour de boucle. Dans nos futurs exercices, ces valeurs se limiteront à +1 ou -1. Il faut juste savoir que c'est possible si, dans votre futur informatique, un cas spécial pouvait se présenter.

 L'ordre des « pour » 

L'ordre dans lequel les pour vont se succéder aura une influence sur la façon dont la variable à deux dimensions sera balayée. Il est important de bien comprendre ce phénomène afin de pouvoir le maîtriser quand cela s'avèrera nécessaire. Il te sera demandé dans l'exercice d'expérimenter la chose.

Il ne te reste plus maintenat qu'à faire l'exercice de la "mosaïque" pour terminer cet ensemble des 8 tours de main.

Bonne réalisation.