L’instruction BIPLET

Intégrammes : glossaire des instructions de programmation

Établit une relation d’antériorité précise entre deux items a et b, utilisant tous les deux une série C contenant une relation d’ordre. La série C permet d’indiquer une distance d constante, qui figure entre a et b.

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 de 14 ans s’entraîne 20 minutes de moins que Hugo.
L’ado qui pilote le char bleu a deux ans de plus que la personne qui s’entraîne pendant 30 minutes.

Il y a deux biplets dans cet exemple.

Les traits, rouges ou bleus, représentent les relations entre les cases par-delà les grilles, matérialisées par les booléens. Nous voyons ici que le booléen a2 est partagé par les deux propositions. En effet, nous n’avons pas utilisé le mode isolé lors de la génération des énoncés.

Traits rouges : la distance de saut entre deux items est de deux cases, ce qui représente un intervalle de 20mn dans la série Durée.
Traits bleus : la distance de saut  entre deux items est, là aussi, de deux cases, ce qui représente un intervalle de 2 ans 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, Hugo ne peut s’entraîner 20 ou 30 minutes, et le pilote du char bleu ne peut avoir 13 ou 14 ans.
Quand aux autres cases fausses, elles découlent aussi de l’énoncé : Hugo ne peut avoir 14 ans, et le pilote du char bleu ne peut s’entraîner 30 minutes.

Concepteur

Choisit aléatoirement un biplet : deux rangées  utilisant une même série. Établit une distance d entre chaque item correspondants, entre les deux rangées.

Le saut est la distance constante qui doit être indiquée en nombre de cases qui séparent deux items de chaque rangée. Le saut sera converti en unités spécifique à la série (années, minutes, etc.) lors de la génération des propositions formelles.
Une valeur de 0 permet au concepteur de choisir le saut aléatoirement. La valeur du saut est comprise entre 1 et n-2, n étant la taille de la rangée (5 cases le plus souvent).

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. Le cas du booléen a2 de notre exemple n’est alors plus possible.

Nombre maximum d’exécutions de cette instruction.

Proposition formelle générée

C : a → ± i → b

C: en-tête de la série partagée contenant une relation d’ordre.
a,b : items utilisant C
± i : valeur de l’intervalle, en unités de C. Si C est une série croissante, i est positif. Si C est une série décroissante, i est négatif.