Aller au contenu

Maths · Brevet

Scratch : lire un script au brevet

Un script Scratch est une suite de blocs exécutés dans un ordre précis. Une variable mémorise une valeur. Une boucle répète des instructions. Une condition décide si des blocs sont exécutés. Pour comprendre un script au brevet, suis chaque bloc et note la valeur des variables après chaque modification.

Les blocs à distinguer

mettre … à : remplacer une valeur ; ajouter … à : modifier une valeur ; répéter : recommencer ; si … alors : tester

À retenir

  • « mettre score à 5 » remplace la valeur de score par 5. « ajouter 5 à score » augmente sa valeur actuelle de 5.
  • « répéter 10 fois » exécute dix fois les blocs contenus dans la boucle. Les blocs placés après la boucle ne sont pas répétés.
  • « si … alors » exécute les blocs qu'il contient seulement si la condition est vraie au moment du test.
  • « avancer de 40 pas » déplace le lutin dans sa direction actuelle. « tourner de 90 degrés » change sa direction, sans le faire avancer.
  • Pour tracer, ajoute l'extension Stylo et utilise « stylo en position d'écriture ». Le lutin dessine alors pendant ses déplacements.

Comment suivre un script sans perdre le fil

  1. 1

    Lis les valeurs initiales

    Repère les variables et les blocs « mettre … à ». Ne suppose pas qu'une variable vaut zéro si le script ne le précise pas.

  2. 2

    Repère les blocs imbriqués

    Observe ce qui se trouve à l'intérieur de chaque boucle ou condition. Dans les scripts ci-dessous, le retrait des lignes représente cette imbrication.

  3. 3

    Suis chaque passage

    Fais un tableau avec une colonne pour le numéro du passage et une colonne par variable. Mets les valeurs à jour dans l'ordre des blocs.

  4. 4

    Teste avec la valeur actuelle

    Évalue chaque condition au moment où le script l'atteint. Après une boucle, poursuis avec les blocs suivants une seule fois, sauf s'ils appartiennent eux-mêmes à une autre boucle.

Exemple corrigé pas à pas

La variable score est créée. Exécute cette pile de blocs. Quelle est sa valeur finale ? mettre score à 2 répéter 3 fois ajouter 4 à score si score > 10 alors ajouter −3 à score

Au départ, score vaut 2. Premier passage dans la boucle : 2 + 4 = 6. Deuxième passage : 6 + 4 = 10. Troisième passage : 10 + 4 = 14. Le test a lieu après la boucle. Comme 14 > 10, le bloc de la condition s'exécute. Ajouter −3 revient à soustraire 3 : score = 14 − 3 = 11. La valeur finale de score est 11.

Exemple type brevet

Le lutin part du centre de la scène, orienté vers la droite. L'extension Stylo est ajoutée et le bloc tourner est réglé dans le sens horaire. stylo en position d'écriture répéter 4 fois avancer de 60 pas tourner de 90 degrés Quelle figure trace-t-il ? Quelle distance parcourt-il ? Retrouve-t-il sa position et sa direction initiales ?

Chaque passage trace un segment de 60 pas puis effectue un quart de tour. Les quatre segments forment un carré de côté 60 pas. La distance parcourue est 4 × 60 = 240 pas. Après le quatrième déplacement, le lutin revient au point de départ. Les quatre rotations totalisent 4 × 90° = 360° : après la dernière rotation, il retrouve aussi sa direction initiale. La rotation de 90° est le changement de direction à chaque sommet.

Erreurs fréquentes

✗ Confondre « mettre score à 3 » et « ajouter 3 à score ».

✓ Si score vaut 8, le premier bloc donne 3 et le second donne 11.

✗ Compter la valeur initiale comme un passage de boucle.

✓ L'initialisation précède la boucle. « répéter 3 fois » provoque ensuite trois exécutions complètes de son contenu.

✗ Évaluer la condition avec une ancienne valeur.

✓ Utilise la valeur au moment du test. Dans l'exemple, score vaut 14 quand on vérifie score > 10, même s'il valait 2 au départ.

Entraîne-toi

  1. 1. Une variable n vaut 3. Le script exécute « répéter 10 fois » avec « ajouter 2 à n » à l'intérieur. Quelle est la valeur finale de n ?

    Voir la correction

    La boucle ajoute 2 dix fois, soit 10 × 2 = 20. La valeur initiale est 3, donc n vaut finalement 3 + 20 = 23.

  2. 2. Le script met n à 4, puis exécute « si n > 4 alors » avec « ajouter 7 à n » à l'intérieur. Quelle valeur obtient-on ?

    Voir la correction

    La condition 4 > 4 est fausse, car le signe > indique une inégalité stricte. L'ajout n'est pas exécuté. La variable n reste égale à 4.

  3. 3. Le script met n à 3, puis répète trois fois « mettre n à (n * 2) ». Donne les valeurs successives.

    Voir la correction

    Chaque passage remplace n par le double de sa valeur actuelle. On obtient 6, puis 12, puis 24. La valeur finale est 24. Le calcul n'est pas 3 × 2 × 3 : la multiplication par 2 est répétée trois fois.

  4. 4. Un script met total à 0, répète quatre fois « ajouter 5 à total », puis exécute « ajouter 2 à total » après la boucle. Quelle est la valeur finale ?

    Voir la correction

    Les quatre passages donnent 5, 10, 15 puis 20. Le dernier ajout est hors de la boucle : il s'exécute une fois. La valeur finale est 20 + 2 = 22.

Questions fréquentes

À quoi sert une variable ?

Elle mémorise une valeur que le script peut consulter et modifier. Pour un programme de calcul, elle peut contenir un nombre de départ puis les résultats successifs.

Une condition se répète-t-elle toute seule ?

Non. Le bloc « si … alors » effectue un test lorsqu'il est atteint. Il sera testé à nouveau seulement si le déroulement du script y revient, par exemple dans une boucle.

Comment soustraire avec le bloc ajouter ?

Ajoute un nombre négatif. Si score vaut 9, « ajouter −4 à score » donne 5.

Comment tracer un carré avec Scratch ?

Mets le stylo en position d'écriture, puis répète quatre fois : avancer de la même longueur et tourner de 90 degrés dans le même sens. Pour ce tracé, pars assez loin des bords de la scène.

Comment calculer la distance parcourue ?

Additionne les déplacements. Si le lutin avance quatre fois de 60 pas, il parcourt 240 pas. Un retour au point de départ n'annule pas cette distance.

Révise l'algorithmique avec Graduo

Entraîne-toi à suivre les étapes d'un programme avec des fiches et des quiz.