FicheNiveau : 5E → 3E

Programmes de calcul et scripts Scratch

Appliquer un programme de calcul, retrouver le nombre de départ, l’écrire en fonction de x, et lire un script Scratch de déplacement ou une variable.

L’essentiel

  • Un programme de calcul est une suite d’instructions à appliquer dans l’ordre, de la première à la dernière, à un nombre de départ.
  • Si le nombre de départ est négatif, on l’écrit entre parenthèses : (−3)×4(-3) \times 4, (−3)2(-3)^2.
  • En appelant xx le nombre de départ, on écrit le résultat sous forme d’une expression en xx. Elle permet de prouver une propriété valable pour tous les nombres.
  • Un script Scratch est aussi un programme : le lutin exécute les blocs de haut en bas, et une boucle « répéter » refait les blocs qu’elle contient.

Appliquer un programme

Programme A :

  • choisir un nombre ;
  • ajouter 33 ;
  • multiplier par 44 ;
  • soustraire 55.

Avec 22 : 2+3=52 + 3 = 5, puis 5×4=205 \times 4 = 20, puis 20−5=1520 - 5 = \boxed{15}.

Avec −7-7 : (−7)+3=−4(-7) + 3 = -4, puis (−4)×4=−16(-4) \times 4 = -16, puis −16−5=−21-16 - 5 = \boxed{-21}.

Appliquer un programme de calculS’entraîner

Retrouver le nombre de départ

On remonte le programme : on part du résultat et on applique les opérations inverses, de la dernière instruction à la première.

Instruction Opération inverse
ajouter 33 soustraire 33
soustraire 55 ajouter 55
multiplier par 44 diviser par 44
diviser par 22 multiplier par 22

Avec le programme A, on obtient 3131. On remonte : 31+5=3631 + 5 = 36, puis 36÷4=936 \div 4 = 9, puis 9−3=69 - 3 = 6. Le nombre de départ est 6\boxed{6}.

On vérifie toujours dans le bon sens : 6+3=96 + 3 = 9, 9×4=369 \times 4 = 36, 36−5=3136 - 5 = 31.

Retrouver le nombre de départ d’un programmeS’entraîner

Écrire le résultat en fonction de x

On applique le programme à la lettre xx, en mettant des parenthèses dès qu’une opération porte sur tout le résultat précédent. Avec le programme A :

4(x+3)−5=4x+12−5=4x+74(x + 3) - 5 = 4x + 12 - 5 = \boxed{4x + 7}

On contrôle avec un nombre déjà testé : pour x=2x = 2, 4×2+7=154 \times 2 + 7 = 15. C’est bien le résultat trouvé plus haut.

Écrire un programme de calcul en fonction de xS’entraîner

Montrer qu’un programme donne toujours le même résultat

Programme B : choisir un nombre, ajouter 55, multiplier par 22, soustraire le double du nombre de départ.

2(x+5)−2x=2x+10−2x=102(x + 5) - 2x = 2x + 10 - 2x = \boxed{10}

Quel que soit le nombre choisi, le résultat est 1010. Essayer quelques nombres ne suffit pas : seul le calcul avec xx le prouve.

Montrer que deux programmes sont équivalents

On écrit les deux expressions et on les développe : si on obtient la même expression réduite, les deux programmes donnent toujours le même résultat. Pour montrer qu’ils ne sont pas équivalents, un seul contre-exemple suffit.

Lire un script Scratch

Déplacer le lutin

Le lutin se repère par son abscisse xx (horizontale) et son ordonnée yy (verticale).

  • « aller à x : −100-100 y : 00 » place le lutin au point (−100 ; 0)(-100 \,;\, 0) ;
  • « ajouter 3030 à x » le déplace de 3030 vers la droite (avec −30-30 : vers la gauche) ;
  • « ajouter 2020 à y » le déplace de 2020 vers le haut ;
  • « répéter 44 fois » exécute 44 fois les blocs placés à l’intérieur.

Une variable

Une variable est une case qui garde un nombre en mémoire, et sa valeur peut changer pendant le script. « mettre nombre à 55 » lui donne la valeur 55 ; « ajouter 33 à nombre » augmente sa valeur de 33 ; « mettre nombre à nombre ×2\times 2 » double sa valeur. Dans Scratch, la multiplication s’écrit avec le symbole *.

Exemples corrigés

Avec un carré. Programme : choisir un nombre, le mettre au carré, ajouter 11. Avec −3-3 : (−3)2+1=9+1=10(-3)^2 + 1 = 9 + 1 = \boxed{10}.

Deux programmes. Programme C : choisir xx, multiplier par 33, ajouter 66, ce qui donne 3x+63x + 6. Programme D : choisir xx, ajouter 22, multiplier par 33, ce qui donne 3(x+2)=3x+63(x + 2) = 3x + 6. Les deux expressions sont égales : les programmes donnent toujours le même résultat.

En 3e, avec un carré. Programme : choisir xx, ajouter 11, mettre au carré, soustraire le carré du nombre de départ.

(x+1)2−x2=x2+2x+1−x2=2x+1(x + 1)^2 - x^2 = x^2 + 2x + 1 - x^2 = \boxed{2x + 1}

Pour x=4x = 4 : 52−42=25−16=95^2 - 4^2 = 25 - 16 = 9, et 2×4+1=92 \times 4 + 1 = 9.

Script de déplacement. Le script suivant :

  • « aller à x : 00 y : 00 » ;
  • « répéter 33 fois » :
    • « ajouter 2020 à x » ;
    • « ajouter −10-10 à y ».

À la fin, l’abscisse vaut 0+3×20=600 + 3 \times 20 = 60 et l’ordonnée 0+3×(−10)=−300 + 3 \times (-10) = -30 : le lutin est au point (60 ; −30)\boxed{(60 \,;\, -30)}.

Suivre un script ScratchS’entraîner

Une variable. Le script « mettre nombre à 55 », puis « mettre nombre à nombre ×2\times 2 », puis « ajouter 33 à nombre » fait passer la variable de 55 à 1010, puis à 13\boxed{13}.

Les pièges

  • Oublier les parenthèses autour d’un négatif. (−3)2=(−3)×(−3)=9(-3)^2 = (-3) \times (-3) = 9, alors que −32=−9-3^2 = -9 : sans parenthèses, le carré ne porte que sur le 33.
  • Changer l’ordre des instructions. Avec 55 : « multiplier par 22 puis ajouter 33 » donne 1313, mais « ajouter 33 puis multiplier par 22 » donne 1616.
  • Oublier les parenthèses en écrivant avec xx. « Ajouter 33 puis multiplier par 44 » s’écrit 4(x+3)4(x + 3), et non x+3×4x + 3 \times 4.
  • Remonter dans le mauvais sens. Pour retrouver le nombre de départ, on commence par l’inverse de la dernière instruction.
  • Une boucle qui ne modifie qu’une coordonnée. Si la boucle ne contient que « ajouter 3030 à x », l’ordonnée ne change pas : elle garde la valeur donnée par « aller à ».