Retour à la page d'accueilMathématiques · 3e · Changer de matière
Commencer gratuitement
3e · Mathématiques
Compléments du programme de 3e : racines, trigonométrie, homothétie, grandeurs et équations · Algorithmique et programmation

Programmes, variables et boucles

Lucas veut programmer un jeu où son lutin dessine une étoile, compte ses points et lance un dé. Pour y arriver, il doit savoir lire un script, c'est-à-dire suivre ce que fait l'ordinateur instruction après instruction. À la fin de la page, tu sauras prédire ce que fait n'importe quel script de ce type, comme dans les exercices du brevet.

Variables et affectations

Une variable est une « boîte » qui porte un nom (par exemple $x$) et qui contient une valeur. Le script peut changer cette valeur à tout moment.

Une variable x est une boîte qui contient la valeur 5, puis 8 après l'instruction ajouter 3 à x. x = 5 ajouter 3 à x x = 8 mettre x à x × 2 x = 16

Deux instructions à bien distinguer :

  • « mettre $x$ à $5$ » : on écrase l'ancienne valeur par $5$ ;

  • « ajouter $3$ à $x$ » : la nouvelle valeur est l'ancienne valeur $+\,3$.

Les instructions s'exécutent dans l'ordre, de haut en bas.

Un programme peut aussi demander un nombre à l'utilisateur et afficher un résultat : c'est un programme de calcul. Par exemple, « demander $n$ ; calculer $2n+1$ ; afficher le résultat » affiche $11$ pour $n=5$.

Entraîne-toi★☆☆Pas commencé
Un script Scratch effectue : « mettre $x$ à $5$ », « ajouter $3$ à $x$ », « mettre $x$ à $x\times2$ ». Quelle est la valeur finale de $x$ ?

Un script Scratch effectue : « mettre $x$ à $5$ », « ajouter $3$ à $x$ », « mettre $x$ à $x\times2$ ».

Quelle est la valeur finale de $x$ ?

Résoudre
Entraîne-toi★☆☆Pas commencé
Un programme demande un nombre $n$, puis calcule $3n-4$ et affiche le résultat. a) Que s'affiche-t-il pour $n=6$ ? b) Pour quelle valeur de $n$ s'affiche-t-il $23$ ?

Un programme demande un nombre $n$, puis calcule $3n-4$ et affiche le résultat.

  1. a) Que s'affiche-t-il pour $n=6$ ?
  1. b) Pour quelle valeur de $n$ s'affiche-t-il $23$ ?
Résoudre

Boucles « répéter » et dessins

Quand une suite d'instructions se répète, on utilise une boucle. « Répéter $4$ fois » exécute $4$ fois de suite les instructions qu'elle contient.

Le lutin de Scratch se déplace avec « avancer de … pas » et « tourner de … degrés ». Voici un carré de côté $50$ pas :

« répéter $4$ fois : avancer de $50$ pas, tourner à droite de $90°$ ».

Un carré tracé par un lutin : quatre côtés de 50 pas et quatre rotations de 90 degrés. départ 50 pas 90°

Pourquoi $90°$ ? Après $4$ virages identiques, le lutin doit avoir fait un tour complet, soit $360°$ : $360\div4=90$.

Pour un triangle équilatéral : $\dfrac{360}{3}=120°$. Attention : l'angle du triangle est $60°$, mais le lutin tourne de $120°$ (angle extérieur).

Pour une rosace, on répète une figure en tournant entre chaque copie : avec $6$ triangles, on tourne de $\dfrac{360}{6}=60°$ entre deux triangles. Chaque triangle est l'image du précédent par une rotation d'angle $60°$ autour d'un même centre, le centre de la rosace (le point autour duquel on fait tourner les triangles), comme dans le cours de géométrie.

Entraîne-toi★☆☆Pas commencé
Un lutin se trouve en $(0\,;\,0)$ orienté à $90°$ (vers la droite). Le script est : « répéter $4$ fois : avancer de $50$ pas, tourner à droite de $90°$ ». a) Quelle…

Un lutin se trouve en $(0\,;\,0)$ orienté à $90°$ (vers la droite). Le script est : « répéter $4$ fois : avancer de $50$ pas, tourner à droite de $90°$ ».

  1. a) Quelle figure le lutin trace-t-il ?
  1. b) Quel est le périmètre de cette figure, en pas ?
Résoudre
Entraîne-toi★★☆Pas commencé
On souhaite tracer un triangle équilatéral de côté $80$ pas avec un lutin, puis le répéter pour dessiner une rosace de $6$ triangles. a) De quel angle faut-il tourner…

On souhaite tracer un triangle équilatéral de côté $80$ pas avec un lutin, puis le répéter pour dessiner une rosace de $6$ triangles.

  1. a) De quel angle faut-il tourner entre deux côtés d'un triangle ?
  1. b) Écrire le script de la figure complète en précisant l'angle de rotation entre deux triangles.
Résoudre

Boucles avec compteur et blocs personnalisés

Une boucle « pour $i$ allant de $1$ à $5$ » exécute ses instructions $5$ fois, avec $i=1$, puis $2$, $3$, $4$, $5$. On peut utiliser $i$ dans les calculs.

Un bloc personnalisé est un mini-programme auquel on donne un nom, avec éventuellement un paramètre. Par exemple, « carré(c) » :

« définir carré(c) : répéter $4$ fois : avancer de $c$ pas, tourner à droite de $90°$ ».

Ensuite, « carré($20$) » trace un carré de côté $20$, « carré($40$) » un carré de côté $40$. On écrit le bloc une fois et on le réutilise : c'est plus court et moins risqué.

Entraîne-toi★★☆Pas commencé
Script : « mettre $s$ à $0$ ; pour $i$ allant de $1$ à $5$ : ajouter $i\times i$ à $s$ ; afficher $s$ ». a) Détailler la valeur de $s$ après chaque tour de boucle. b)…

Script : « mettre $s$ à $0$ ; pour $i$ allant de $1$ à $5$ : ajouter $i\times i$ à $s$ ; afficher $s$ ».

  1. a) Détailler la valeur de $s$ après chaque tour de boucle.
  1. b) Quelle valeur est affichée ?
Résoudre
Entraîne-toi★★☆Pas commencé
Un bloc personnalisé « carré(c) » trace un carré de côté $c$ pas. a) Écrire le script du bloc « carré(c) ». b) Écrire un script qui utilise ce bloc pour tracer trois…

Un bloc personnalisé « carré(c) » trace un carré de côté $c$ pas.

  1. a) Écrire le script du bloc « carré(c) ».
  1. b) Écrire un script qui utilise ce bloc pour tracer trois carrés de côtés $20$, $40$ et $60$ pas ayant un même coin de départ.
  1. c) Quelle est la somme des périmètres des trois carrés ?
Résoudre

« Tant que » et conditions

Quand on ne sait pas à l'avance combien de fois répéter, on utilise « tant que (condition) ». On teste la condition avant chaque tour ; dès qu'elle est fausse, la boucle s'arrête.

L'instruction conditionnelle « si (condition) alors … sinon … » choisit entre deux actions. Exemple avec la réciproque du théorème de Pythagore : si $c$ est le plus grand côté et que $a^2+b^2=c^2$, alors le triangle est rectangle.

« demander $a$, $b$, $c$ ; si $a\times a+b\times b=c\times c$ alors dire "rectangle" sinon dire "pas rectangle" ».

Pour $(3\,;4\,;5)$ : $9+16=25=5^2$, donc « rectangle ».

Entraîne-toi★★★Pas commencé
Un programme : « mettre $a$ à $1$ ; mettre $n$ à $0$ ; tant que $a<100$ : mettre $a$ à $a\times2$ ; ajouter $1$ à $n$ ; fin ; afficher $n$ ». a) Dérouler le programme en…

Un programme : « mettre $a$ à $1$ ; mettre $n$ à $0$ ; tant que $a<100$ : mettre $a$ à $a\times2$ ; ajouter $1$ à $n$ ; fin ; afficher $n$ ».

  1. a) Dérouler le programme en donnant les valeurs de $a$ et $n$ à chaque étape.
  1. b) Que représente $n$ ?
  1. c) Que s'afficherait-il si l'on remplaçait $100$ par $1\,000$ ?
Résoudre
Entraîne-toi★★★Pas commencé
Un programme demande trois nombres positifs $a$, $b$, $c$ avec $c$ le plus grand, et affiche « rectangle » si $a^2+b^2=c^2$, sinon « pas rectangle ». a) Écrire le script…

Un programme demande trois nombres positifs $a$, $b$, $c$ avec $c$ le plus grand, et affiche « rectangle » si $a^2+b^2=c^2$, sinon « pas rectangle ».

  1. a) Écrire le script avec une instruction conditionnelle.
  1. b) Qu'affiche-t-il pour $(a,b,c)=(9,12,15)$ ? et pour $(5,6,8)$ ?
  1. c) Quelle propriété du cours le programme utilise-t-il ? L'énoncer.
Résoudre

Simuler le hasard

Le bloc « nombre aléatoire entre $1$ et $6$ » simule un dé. Pour estimer une probabilité, on répète l'expérience un grand nombre de fois et on compte :

« mettre $c$ à $0$ ; répéter $1\,000$ fois : mettre $d$ à nombre aléatoire entre $1$ et $6$ ; si $d\geqslant5$ alors ajouter $1$ à $c$ ».

La fréquence observée est $\dfrac{c}{1\,000}$. Quand le nombre d'essais augmente, elle se rapproche de la probabilité théorique (stabilisation des fréquences). Ici, il y a $2$ issues favorables (5 et 6) sur $6$ : $P=\dfrac{2}{6}=\dfrac13\approx0{,}333$. On attend donc $c$ proche de $333$.

Entraîne-toi★★★Pas commencé
On simule le lancer d'un dé équilibré à six faces avec le bloc « nombre aléatoire entre $1$ et $6$ ». Un script répète $1\,000$ fois le lancer et compte le nombre $c$ de…

On simule le lancer d'un dé équilibré à six faces avec le bloc « nombre aléatoire entre $1$ et $6$ ». Un script répète $1\,000$ fois le lancer et compte le nombre $c$ de fois où le résultat est supérieur ou égal à $5$.

  1. a) Écrire le script.
  1. b) Quelle valeur approximative de $c$ peut-on attendre ? Justifier avec la probabilité théorique.
  1. c) Après une exécution, on obtient $c=348$. Calculer la fréquence observée et la comparer à la probabilité théorique.
Résoudre

Retour au début : pour que le lutin de Lucas dessine, compte et lance un dé, il suffit de combiner variables, boucles, conditions et blocs, en suivant les instructions dans l'ordre.

L'essentiel

  • Une variable contient une valeur ; « mettre à » remplace, « ajouter à » modifie. Les instructions s'exécutent dans l'ordre.

  • Pour comprendre un script, on le déroule avec un tableau de suivi (valeur de chaque variable à chaque tour).

  • « Répéter $n$ fois » : pour un polygone régulier à $n$ côtés, on tourne de $\dfrac{360}{n}\,°$.

  • Un bloc personnalisé avec paramètre évite de recopier un script.

  • « Tant que » s'arrête quand la condition devient fausse ; « si … alors … sinon » choisit entre deux actions.

  • Une simulation aléatoire donne une fréquence proche de la probabilité théorique.

Voir tous les exercices de cette partie