Canopée Toutes les notions de cinquième

Instructions conditionnelles

Écrire un test « si, alors, sinon », et prévoir la branche qui s'exécute.

Avant celle-ci

Cette notion s'appuie sur 2 autres, parfois d'un niveau plus bas. Si ça coince ici, c'est souvent là que ça se joue.

Jusqu’ici, le programme faisait toujours la même chose

Dans un programme sans test, toutes les lignes défilent, dans l’ordre, à chaque exécution. Tu changes les nombres de départ : les résultats changent, le chemin ne change pas.

Une instruction conditionnelle casse cette régularité. Deux exécutions du même programme, avec des données différentes, ne passent pas par les mêmes lignes.

Ce n’est pas un défaut du programme. C’est exactement ce qu’on lui demande : réagir à ce qu’il reçoit.

Si, alors, sinon : deux branches

Un test s’écrit en trois morceaux. Une condition après si, une ligne après alors, une ligne après sinon.

La condition est une question sur une variable, à laquelle on répond par oui ou par non. On y répond avec la valeur du moment, celle que la boîte contient juste avant le test.

Le programme évalue la condition, puis part dans une seule branche. L’autre branche n’est pas parcourue. Elle ne calcule rien et ne change aucune valeur.

D’abord la condition, ensuite la branche

Pour prévoir la valeur finale, tu travailles toujours dans cet ordre. La condition en premier, le calcul en second.

Tant que tu n’as pas répondu à la question du si, tu ne sais pas quelle ligne lire. Donc tu ne calcules rien : tu comparerais deux nombres pour rien.

Voici où presque tout le monde se trompe

L’erreur la plus fréquente est d’exécuter les deux branches, l’une après l’autre. Elle ne vient pas d’un manque d’attention.

Depuis que tu sais lire, lire un texte c’est parcourir toutes ses lignes, de haut en bas. Cette habitude a toujours marché, y compris sur les programmes des chapitres précédents.

Le si est le premier endroit où elle cesse de marcher. Une ligne écrite peut n’être jamais parcourue, et rien dans son apparence ne le signale.

L’autre version de la même erreur : choisir une branche sans avoir évalué la condition. La parade est la même dans les deux cas. Réponds à la question du si, à voix haute, avant de toucher au calcul.

À retenir

  • Un test si, alors, sinon ouvre deux branches. Une seule est parcourue.
  • Tu évalues la condition en premier. Elle désigne la branche, avant tout calcul.
  • La branche non choisie n’est pas exécutée. Elle ne change aucune valeur.

Un exercice, tout de suite

Cherche d'abord, ouvre la correction ensuite. Se tromper ici ne coûte rien.

Exercice 1

Voici un programme. Lis-le avant de calculer.

n prend la valeur 34

si n est plus grand que 30 alors n prend la valeur n plus 7

sinon n prend la valeur n moins 7

Quelle valeur contient n à la fin du programme ?

Voir la correction

On lit la ligne du si avant de calculer quoi que ce soit.

n contient 34. La condition demande si n est plus grand que 30.

34 est plus grand que 30: la condition est vérifiée. C’est la ligne du alors qui s’exécute.

Cette ligne calcule 34 plus 7 égale 41.

L’autre ligne n’est pas parcourue. Elle ne touche pas à n. À la fin, n contient 41.

Ce que ça ouvre ensuite

Vous êtes parent ? Cette page dit ce qu'il faut savoir. Elle ne dit pas si votre enfant le sait. C'est la question à laquelle Canopée répond dans son atelier : une notion ne compte comme acquise que le jour où l'élève réussit seul, sans indice, et qu'elle tient encore plusieurs jours plus tard. L'atelier ouvre aujourd'hui la sixième ; le parcours de troisième arrivera avec la prépa brevet 2027. Voir comment.