Ce chapitre va :
- s'intéresser à la structure des « variables tableaux » ou « variables indicées à deux dimensions »;
- expliquer pourquoi les boucles « pour imbriquées » sont intéressantes avec ces variables;
- expliquer le fonctionnement des boucles « pour imbriquées » et la façon de les mettre en œuvre;
- préparer à la manipulation et à l'utilisation de ces nouveaux éléments;
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 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|---|
0 | Périodes ↓ Jours → | Lundi | Mardi | Mercredi | Jeudi | Vendredi | Samedi | Dimanche |
1 | Matin | |||||||
2 | Midi | A... | ||||||
3 | Après-midi | |||||||
4 | Soir | B... |
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éesChaque 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.
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 :
- l'instruction Pour qui signale le début de la boucle;
- le nom de la variable qui va compter les « tours de la boucle »;
- la valeur de départ de la boucle, qui pourra être une valeur ou une variable contenant cette valeur;
- la valeur de fin de la boucle, qui pourra être une valeur ou une variable contenant cette valeur;
- l'incrémentation ou la décrémentation , qui indiquera s'il faut ajouter ou retrancher des valeurs* à la valeur de départ pour obtenir la valeur de fin;
- 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.