UNE MARCHE A SUIVRE, QU'EST-CE QUE C'EST ?
4. Retour sur les deux formes de structure répétitive
Nous avons retenu deux expressions différentes pour commander la répétition au sein des marches à suivre. Il s'agit de :
REPETER et TANT QUE ... FAIRE
... ...
JUSQU'A CE QUE ... suite suite
représentées graphiquement sous forme GNS par et
Le graphisme employé permet, à lui seul, de rendre compte des structures évoquées, et, dorénavant, j'omettrai d'y faire figurer explicitement les mots "REPETER ... JUSQU'A CE QUE ..." ou "TANT QUE ..."
Ces deux modes d'expression ont bien entendu des rapports que je vais à présent éclairer. Les exercices 2 et 3 ci-dessus avaient d'ailleurs pour objectif de préparer l'examen de ces liens et, en y apportant une solution, je préciserai ce qu'il faut en retenir.
Une première marche à suivre se présentait comme suit :
Entrez Buvez un petit verre
JUSQU'A CE QUE vous voyiez double
Asseyez-vous Entrez
REPETER
Buvez un petit verre
JUSQU'A CE QUE vous voyiez double Asseyez-vous
La traduction demandée sous forme d'organigramme suppose qu'on ait pris conscience de deux choses :
- la condition énoncée dit quand la répétition s'arrêtera (on arrêtera de boire lorsqu'on verra double);
Dès lors, dans le formalisme des organigrammes, on pourrait, par exemple, proposer :
Entrez
Vous voyez double? Asseyez-vous
Buvez un petit verre
Faux Vrai
La caractéristique importante de la structure REPETER ... JUSQU'A CE QUE ... est bien mise en évidence par ce formalisme : dans tous les cas, l'action (ou plus généralement, le morceau de marche à suivre) à répéter, est effectuée au moins une fois avant que ne soit posée la question de savoir si cela doit être repris. Ainsi, dans l'exemple, l'exécutant aura dans tous les cas droit à un premier verre et c'est seulement ensuite qu'il trouvera la question lui demandant s'il voit double. Dès lors, même dans l'hypothèse où l'exécutant voit double dès son entrée, la marche à suivre lui commande de prendre tout de même un verre avant qu'il ne s'interrompe et s'asseye en rencontrant la condition d'arrêt.
L'exercice 3.3 proposait une marche à suivre qui mettait aussi en jeu une structure répétitive, mais exprimée grâce à un TANT QUE.
Entrez Entrez
TANT QUE les élèves veulent travailler TANT QUE les élèves veulent travailler Donnez 5 minutes de cours Donnez 5 minutes de cours
Sortez Sortez
Remarquons, d'abord, qu'ici les actions à répéter sont reprises lorsque la condition énoncée est vraie (c'est l'inverse du REPETER, où l'on trouve derrière les mots JUSQU'A CE QUE la condition qui assure l'arrêt de la répétition). Ensuite, et la traduction sous forme d'organigramme va l'éclairer, on commence par poser la question avant même d'entamer une première fois le groupe d'actions à répéter. Ainsi, l'organigramme correspondant s'écrit :
Entrez Les élèves veulent
travailler?
Sortez
Donnez 5 minutes de cours Faux Vrai
En résumé, si la structure est
A
C
A représentant le morceau de marche à suivre à répéter et C la condition énoncée2,
alors le bloc A est toujours effectué au moins une première fois, avant que l'évaluation de la condition C fasse reprendre ou oblige à interrompre.
Si la structure est :
C
A
alors la condition est d'abord évaluée. Si elle est fausse, le bloc A n'est pas effectué une seule fois : on passe directement à ce qui suit; si elle est vraie, on effectue le bloc A et on revient à l'évaluation de la condition pour savoir si la répétition doit être poursuivie.
Ces remarques étant faites, nous sommes en mesure de transformer la structure REPETER ... JUSQU'A CE QUE ... en TANT QUE ... et réciproquement.
Revenant à l'exercice 3.2, on pourrait proposer l'équivalence :
2 Replacez bien à chaque fois, mentalement, les mots REPETER ..., JUSQU'A CE QUE ..., TANT QUE ... REPETER
A
JUSQU'A CE QUE C
TANT QUE C
Entrez Entrez Buvez un petit verre vous ne voyez pas double vous voyiez double Buvez un petit verre
Asseyez-vous Asseyez-vous
ou
Entrez REPETER
Buvez un petit verre
JUSQU'A CE QUE vous voyiez double Asseyez-vous
Entrez
TANT QUE vous ne voyez pas double Buvez un petit verre
Asseyez-vous
Le seul changement perceptible est la négation de la condition (puisque derrière JUSQU'A CE QUE, on énonce la condition qui provoque l'arrêt et, derrière TANT QUE, celle qui assure la reprise de la répétition). Cette solution n'est malheureusement pas correcte : les deux marches à suivre ci-dessus ne sont pas équivalentes, car elles ne conduisent pas à des exécutions identiques dans tous les cas.
En effet, dans le cas où, dès son entrée, l'exécutant voit déjà double, la première (qui met en jeu la structure REPETER ...) l'oblige à tout de même prendre un verre; la seconde (exprimée grâce à un TANT QUE) va le conduire à s'apercevoir d'abord qu'il voit déjà double et donc ne lui permet pas de boire le moindre verre.
Si l'on veut une expression grâce à la structure TANT QUE qui soit, dans tous les cas, identique à la première, il faut écrire :
Entrez
Entrez Buvez un petit verre
Buvez un petit verre vous ne voyez pas double vous voyiez double Buvez un petit verre
Asseyez-vous Asseyez-vous
ou
Entrez REPETER
Buvez un petit verre
JUSQU'A CE QUE vous voyiez double Asseyez-vous
Entrez Buvez un petit verre
TANT QUE vous ne voyez pas double Buvez un petit verre
Asseyez-vous
On peut vérifier sans peine que ces deux marches à suivre conduisent à des exécutions identiques, quel que soit l'état initial de l'exécutant-buveur.
Ainsi donc, en général, le GNS
A
A
non CC
peut se traduire en un GNS équivalent mettant en oeuvre l'autre structure répétitive sous la
forme