L’instruction TRIPLET

Intégrammes : glossaire des instructions de programmation

Établit une relation d’antériorité précise entre trois items a, b, c, utilisant tous les trois une série D contenant une relation d’ordre. La série D permet d’indiquer deux distances d1 et d2 constantes, qui figurent entre a et b pour d1, b et c pour d2.

Pour l’utiliser il faut donc au moins une série ordonnée. La série n’a pas besoin d’être régulière.

Pour faciliter la résolution les booléens sont conseillés.

Série ordonnée: série contenant des valeurs qui sont toutes croissantes ou toutes décroissantes.
Série ordonnée régulière: série croissante ou décroissante dont les valeurs sont séparées par le même intervalle.

Énigme du char à voile

L’ado qui occupe le char noir a un an de plus que Chloé mais un an de moins que la personne qui s’entraîne pendant 40 minutes.

Les traits rouges représentent les relations entre les cases par-delà les grilles, matérialisées par les booléens. L’ordre par rapport à la série Âge est le suivant : Chloé < char noir < 40 mn. La distance de saut entre deux items est de une case, aussi bien entre Chloé et noir qu’entre noir et 40mn, ce qui représente deux intervalles de 1 an dans la série Âge.

Les signes faux

Ceux qui sont présents dans les rangées de booléens indiquent que ces positions ne sont pas disponibles. En effet, Chloé ne peut avoir 16 ou 17 ans, le pilote du char noir ne peut avoir 13 ou 17 ans, et la personne qui pilote pendant 40 minutes ne peut avoir 13 ou 14 ans.
Quand aux autres cases fausses, elles découlent aussi de l’énoncé : Chloé ne pilote pas de char noir, ne passe pas 40 minutes sur son char, et le pilote du char noir ne s’entraîne pas pendant 40 minutes.

Concepteur

Choisit aléatoirement un triplet  : trois rangées  utilisant une même série. Établit une distance d1 entre les items a et b, et une distance d2 entre b et c, dans les rangées

Les sauts sont les distances constantes qui doivent être indiquées en nombre de cases qui séparent deux items de chaque rangée. Le saut sera converti en unités spécifiques à la série (années, minutes, etc.) lors de la génération des propositions formelles. Le premier saut a lieu entre les items a et b, le second entre les items b et c.
Une valeur de 0 permet au concepteur de choisir le saut aléatoirement. La valeur du saut N°1 est comprise entre 1 et n-3, n étant la taille de la rangée (5 cases le plus souvent). La valeur du saut N°2 est comprise entre 1 et  n-saut1-2. Si vous mettez un 0 dans un des deux sauts, l’autre sera mis à 0 automatiquement.

Isolé: si l’instruction fonctionne en mode isolé, le concepteur ne choisit pas les rangées qui contiennent déjà des signes, y compris des booléens.

Nombre maximum d’exécutions de cette instruction.

Proposition formelle générée

D : a → ± i → b -> ± j → c
Âge : Chloé → + 1 → Noir → + 1  → 40mn

D: en-tête de la série partagée contenant une relation d’ordre.
a,b,c : items utilisant D
± i, ± j  : valeur des intervalles, en unités de D. Si D est une série croissante, i et j sont positifs. Si D est une série décroissante, i et j sont  négatifs.

Rédaction

On aime bien commencer par l’item b; cela permet de construire des phrases un peu difficiles à appréhender :

b est en avance de i sur a, mais en retard de j sur c.
L’ado qui occupe le char noir a un an de plus que Chloé mais un an de moins que la personne qui s’entraîne pendant 40 minutes.

Si i ou j sont négatifs, inverser avance et retard !