Aller au contenu

L'Établi des Maths Cours

Outils pour apprendre et pratiquer

4e · Pensée Informatique · 4A1

Cours et exercices corrigés de 4e : Algorithmique : instructions conditionnelles et variables Scratch

Structures conditionnelles « si alors sinon », création et modification de variables numériques dans Scratch, résolution de défis géométriques.

Objectifs du chapitre

Le cours

1. Les Variables dans Scratch

Une variable est une case mémoire étiquetée qui stocke une valeur (un nombre ou un texte) pouvant changer au cours de l'exécution du programme.

  • « mettre [Score] à 0 » : écrase la valeur précédente et stocke 0 (initialisation).
  • « ajouter 1 à [Score] » : prend l'ancienne valeur du score et lui ajoute 1 (incrémentation : x←x+1x \leftarrow x + 1).

Exemple : si Score vaut 5, « ajouter 2 à Score » donne 7. « mettre Score à 2 » donnerait 2 !

2. Structures conditionnelles « Si ... alors ... sinon »

Le bloc conditionnel teste une condition booléenne (Vraie ou Fausse) :

  • Si la condition est VRAIE, le programme exécute le premier bloc d'instructions.
  • Si la condition est FAUSSE, le programme exécute le bloc situé sous le « sinon ».

Opérateurs de comparaison fréquents : < (inférieur strict), > (supérieur strict), = (égal).

3. Interaction utilisateur : Demander et Réponse

  • Le bloc « demander [Quel est ton âge ?] et attendre » affiche une boîte de saisie à l'écran et met le programme en pause jusqu'à validation par l'utilisateur.
  • Le bloc bleu ciel « réponse » contient la valeur tapée par l'utilisateur. On la stocke généralement immédiatement dans une variable dédiée : « mettre [Age] à (réponse) ».

4. Répétitions et tracés géométriques

Pour tracer un polygone régulier à NN côtés égaux avec le stylo de Scratch :

  • On répète NN fois : « avancer de côté » puis « tourner de (360/N)(360 / N) degrés ».
  • Pour un triangle équilatéral (N=3N=3) : tourner de 3603=120∘\frac{360}{3} = 120^\circ.
  • Pour un carré (N=4N=4) : tourner de 3604=90∘\frac{360}{4} = 90^\circ.
  • Pour un hexagone (N=6N=6) : tourner de 3606=60∘\frac{360}{6} = 60^\circ.

À retenir

  • Une variable stocke une valeur ; « mettre à » remplace la valeur, « ajouter à » la modifie.
  • « si … alors … sinon … » : un seul des deux blocs est exécuté.
  • « répéter nn fois » : nombre de tours connu ; « répéter jusqu'à » : on s'arrête quand la condition devient vraie.
  • Polygone régulier à NN côtés : tourner de 360∘N\dfrac{360^\circ}{N} à chaque sommet.
  • Pour prévoir un script : un tableau de suivi des variables, ligne par ligne.

Méthodes et exemples rédigés

Méthode : Suivre pas à pas l'évolution d'une variable dans un script

Exemple

Soit le script : mettre [x] à 5 ; ajouter 3 à [x] ; mettre [y] à 2 * x ; si y > 15 alors ajouter 1 à [x] sinon ajouter 2 à [y]. Quelles sont les valeurs finales ?

  1. Ligne 1 : x=5x = 5.

  2. Ligne 2 : x=5+3=8x = 5 + 3 = 8.

  3. Ligne 3 : y=2×8=16y = 2 \times 8 = 16.

  4. Ligne 4 (Test conditionnel) : Est-ce que y>15y > 15 ? Oui car 16>1516 > 15 (VRAI).

  5. Ligne 5 (Exécution bloc 'alors') : x=8+1=9x = 8 + 1 = 9. Le bloc 'sinon' est ignoré.

  6. Valeurs finales : x=9x = 9 et y=16y = 16.

Méthode : Suivre une boucle « répéter » avec un tableau de suivi

Exemple

Script : « mettre n à 1 ; mettre S à 0 ; répéter 4 fois : ajouter n à S, puis ajouter 2 à n ». Quelles sont les valeurs finales de S et de n ?

  1. Avant la boucle : n=1n = 1 et S=0S = 0.

  2. Tour 1 : S=0+1=1S = 0 + 1 = 1 ; n=1+2=3n = 1 + 2 = 3.

  3. Tour 2 : S=1+3=4S = 1 + 3 = 4 ; n=5n = 5.

  4. Tour 3 : S=4+5=9S = 4 + 5 = 9 ; n=7n = 7.

  5. Tour 4 : S=9+7=16S = 9 + 7 = 16 ; n=9n = 9.

  6. Conclusion : S=16S = 16 et n=9n = 9. Le script additionne les 4 premiers nombres impairs (1+3+5+7=16=421 + 3 + 5 + 7 = 16 = 4^2).

Pièges fréquents

Questions de révision

Essaie de répondre de tête avant d'afficher la réponse.

Quelle est la différence entre « mettre x à 10 » et « ajouter 10 à x » ?

« Mettre à 10 » donne la valeur 10 à xx. « Ajouter 10 » additionne 10 à la valeur déjà contenue dans xx.

De quel angle doit tourner le lutin pour tracer un hexagone régulier (6 côtés) ?

360∘÷6=60∘360^\circ \div 6 = 60^\circ

Où est stockée la saisie de l'utilisateur après le bloc « demander ... et attendre » ?

Dans la bulle de capteur bleue « réponse ».

Si x = 7, que vaut x après l'instruction : Si x < 5 alors ajouter 2 à x sinon mettre x à 20 ?

x=20x = 20 (car la condition 7<57 < 5 est fausse, donc on exécute la branche 'sinon').

Quelle boucle utilise-t-on quand on ne connaît pas à l'avance le nombre d'itérations ?

La boucle conditionnelle « répéter jusqu'à <condition> ».

Combien de fois le corps de la boucle « répéter jusqu'à x > 10 » est-il exécuté si x part de 4 et qu'on ajoute 3 à x à chaque tour ?

3 fois : x passe à 7, puis 10, puis 13 ; on s'arrête car 13 > 10.

Exercices corrigés

Exercice 1 Valeur d'une variable après affectation

Palier 1 · découverte

Dans un script Scratch : « mettre V à 8 », puis « ajouter 7 à V ». Quelle est la valeur finale de la variable V ?

Un indice

La variable commence à 8 puis augmente de 7.

Voir la correction

Réponse attendue : 15

V=8+7=15V = 8 + 7 = 15

Exercice 2 Instruction conditionnelle « Si ... alors ... sinon »

Palier 2 · application

On exécute le bloc : « Si N > 10 alors mettre R à 20 sinon mettre R à 5 ». Si la variable N vaut 7, quelle sera la valeur de R ?

Un indice

Le test 7 > 10 est FAUX, donc on exécute la branche « sinon ».

Voir la correction

Réponse attendue : 5

Comme 7 n'est pas supérieur à 10, la condition est fausse et la variable RR prend la valeur 5.

Exercice 3 Programme de calcul Scratch

Palier 3 · approfondissement

Un script Scratch demande un nombre xx. Si x≥0x \ge 0, il calcule 2x2x, sinon il calcule x+10x + 10. Quelle est la valeur de sortie pour x=−4x = -4 ?

Un indice

−4<0-4 < 0, donc la condition x≥0x \ge 0 est fausse. Calcule −4+10-4 + 10.

Voir la correction

Réponse attendue : 6

Comme −4<0-4 < 0, on effectue le calcul de la branche sinon : −4+10=6-4 + 10 = 6.

Exercice 4 Défi : Boucle conditionnelle avec compteur

Palier 4 · défi

Compteur commence à 0. On exécute : « répéter jusqu'à Compteur >= 25 : ajouter 6 à Compteur ». Quelle est la valeur finale de Compteur à la fin de la boucle ?

Un indice

Écris les valeurs successives du compteur (0, 6, 12, …) et teste la condition « Compteur ≥ 25 » après chaque ajout : la boucle s'arrête dès qu'elle est vraie.

Voir la correction

Réponse attendue : 30

À 24, la condition 24≥2524 \ge 25 est fausse, on ajoute encore 6 : Compteur passe à 30 (30≥2530 \ge 25 est vrai, la boucle s'arrête).