MathBêta
ALGORITHMIQUE ET PROGRAMMATION

Algorithmique et programmation

Niveau 3ᵉ · Cours

🔁 Ce que tu sais déjà

🎯 À la fin de ce chapitre, je sais : remettre des blocs dans l'ordre et prédire ce que fait un script · écrire un script complet avec événements, variables, conditions et boucles · décomposer un problème en blocs personnalisés · simuler une expérience aléatoire et compter les résultats.

Depuis la 4e, tu connais les quatre ingrédients d'un programme Scratch : l'ÉVÉNEMENT qui le déclenche, la VARIABLE qui garde une valeur, la CONDITION qui choisit, et la BOUCLE qui répète.

✏️ Exemple

[quand le drapeau vert est cliqué] → l'événement qui lance le script.

[mettre score à 0] puis [ajouter 2 à score] → la variable « score ».

[si (n > 5) alors … sinon …] → la condition.

[répéter 4 fois : [avancer de 100 ; tourner de 90°]] → la boucle (ici, un carré de côté 100).

📌 À retenir

Acquis de 4e : événement, variable, condition, boucle.

En 3e : lire et écrire des scripts complets, créer ses propres blocs, faire tourner des scripts en parallèle et simuler le hasard.

🔍 Lire et prédire un script

Avant d'écrire des programmes, il faut savoir les lire comme l'ordinateur : sans deviner, en exécutant les blocs UN PAR UN. Que fait [mettre x à 2] [répéter 3 fois : [mettre x à (x × 3)]] ? Impossible de répondre de tête sans méthode !

📖 Définition

Dérouler un script, c'est exécuter les instructions une par une, dans l'ordre, en notant la valeur des variables à chaque étape.

Le tableau d'état donne la valeur de chaque variable après chaque tour de boucle.

✏️ Exemple

Méthode : dérouler [mettre x à 2] [répéter 3 fois : [mettre x à (x × 3)]] avec un tableau d'état :

Départ : x = 2.

Tour 1 : x = 2 × 3 = 6. Tour 2 : x = 6 × 3 = 18. Tour 3 : x = 18 × 3 = 54.

Valeur finale : x = 54 (et non 2 × 3 = 6 !).

⚠️
Pièges de lecture
  • [ajouter 2 à score] augmente la variable de 2 ; [mettre score à 2] écrase tout et la remplace par 2.
  • Une boucle « répéter 3 fois » exécute TOUT son contenu 3 fois : ne lis pas la boucle d'un seul coup, déroule chaque tour.
📌 À retenir

Je déroule le script pas à pas, tour de boucle par tour de boucle.

Un tableau d'état (une colonne par tour) évite toutes les erreurs de calcul.

❓ Quiz — Lire un script

Question 1 — [mettre x à 3] [répéter 2 fois : [mettre x à (x × x)]]. Quelle est la valeur finale de x ?

Question 2 — [répéter 4 fois : [avancer de 50 ; tourner de 90°]]. Quelle figure le lutin trace-t-il ?

Question 3 — [mettre s à 0] [répéter 3 fois : [ajouter 4 à s ; ajouter 1 à s]]. Quelle est la valeur finale de s ?

✏️ Écrire un script

Comment programmer le tracé d'un triangle équilatéral ? On ne se jette pas sur les blocs : on DÉCOMPOSE d'abord le problème en étapes (combien de côtés ? quelle longueur ? de quel angle tourner ?), puis on traduit chaque étape en bloc.

✏️ Exemple

Méthode pour un polygone régulier à n côtés :

1) Une boucle « répéter n fois ».

2) Dans la boucle : [avancer de (longueur du côté)].

3) Puis [tourner de (360 ÷ n)°] : c'est l'angle dont TOURNE le lutin à chaque sommet.

Triangle équilatéral : répéter 3 fois, tourner de 120°. Carré : 4 fois, 90°. Pentagone : 5 fois, 72°.

⚠️
LE piège : 60° ou 120° ?
  • Pour un triangle équilatéral, on est tenté d'écrire [tourner de 60°] car ses angles mesurent 60°… mais la figure ne se referme pas !
  • Le lutin tourne de l'angle EXTÉRIEUR : 360° ÷ 3 = 120°. Vérifie toujours : la somme des rotations d'un tour complet fait 360°.
📖 Définition

La boucle « répéter jusqu'à (condition) » répète ses instructions tant que la condition est FAUSSE, et s'arrête dès qu'elle devient vraie.

On peut imbriquer des boucles : une boucle qui contient une autre boucle (utile pour répéter un motif complet).

✏️ Exemple

[mettre n à 5] [répéter jusqu'à (n > 20) : [ajouter 5 à n]] : n vaut 10, 15, 20… 20 n'est pas > 20, on continue : n = 25, et 25 > 20 arrête la boucle.

Ligne de 5 carrés : répéter 5 fois : [répéter 4 fois : [avancer de 20 ; tourner de 90°] ; relever le stylo ; avancer de 30 ; stylo en position d'écriture].

📌 À retenir

J'écris un script en décomposant : que faire ? combien de fois ? avec quelles valeurs ?

Polygone régulier à n côtés : répéter n fois, tourner de (360 ÷ n)° — l'angle dont tourne le lutin.

❓ Quiz — Écrire un script

Question 1 — Pour tracer un triangle équilatéral avec [répéter 3 fois : [avancer de 80 ; tourner de …°]], de combien le lutin doit-il tourner ?

Question 2 — Pour tracer un pentagone régulier (5 côtés), quel angle de rotation faut-il ?

Question 3 — [mettre n à 5] [répéter jusqu'à (n > 20) : [ajouter 5 à n]]. Quelle est la valeur finale de n ?

🧩 Blocs personnalisés et scripts en parallèle

Pour dessiner une frise de 5 motifs identiques, faut-il recopier 5 fois la même suite de blocs ? Non : on RANGE le motif dans un bloc personnalisé « motif », et le programme principal devient simplement [répéter 5 fois : [motif]].

📖 Définition

Un bloc personnalisé est un bloc que l'on crée soi-même : on le DÉFINIT une seule fois (la suite de blocs qu'il contient), puis on l'UTILISE autant de fois qu'on veut.

Décomposer un problème, c'est le découper en sous-problèmes simples, chacun traduit par un bloc personnalisé ou un script.

✏️ Exemple

Frise : définir [motif] = [répéter 4 fois : [avancer de 20 ; tourner de 90°] ; relever le stylo ; avancer de 30 ; stylo en position d'écriture].

Programme principal : [quand le drapeau vert est cliqué] [répéter 5 fois : [motif]] → la frise de 5 carrés.

⚠️
Pièges des blocs personnalisés
  • Définir un bloc ne l'exécute pas : il faut ensuite l'APPELER dans un script.
  • Le motif doit finir par un déplacement, sinon les 5 motifs se dessinent au même endroit, superposés.

Dernier outil de 3e : les scripts en PARALLÈLE. Plusieurs scripts portant chacun un bloc chapeau [quand le drapeau vert est cliqué] démarrent en même temps : c'est ainsi qu'on programme un jeu où deux lutins bougent simultanément.

📌 À retenir

Motif répété → je le range dans un bloc personnalisé, puis je le répète avec une boucle.

Plusieurs scripts avec le même événement fonctionnent en parallèle (jeux à deux lutins).

❓ Quiz — Blocs personnalisés

Question 1 — Le bloc personnalisé [motif] trace un motif complet. Pour une frise de 8 motifs, le programme principal est…

Question 2 — À quoi sert un bloc personnalisé ?

Question 3 — Deux scripts commencent chacun par [quand le drapeau vert est cliqué]. Que se passe-t-il au clic sur le drapeau ?

🎲 Simuler une expérience aléatoire

Lancer une pièce 1 000 fois à la main prendrait une heure… Un lutin le fait en une seconde ! Le bloc [nombre aléatoire entre 0 et 1] tire 0 ou 1 au hasard, comme pile ou face : il ne reste qu'à répéter et à COMPTER.

📖 Définition

Simuler une expérience aléatoire, c'est la faire réaliser un grand nombre de fois par un programme, en comptant les issues avec des variables compteurs.

La fréquence d'une issue = compteur ÷ nombre de répétitions.

✏️ Exemple

Méthode : compter les 0 et les 1 sur 100 tirages.

1) Préparer : [mettre compteur-0 à 0] [mettre compteur-1 à 0].

2) Répéter 100 fois : [mettre n à (nombre aléatoire entre 0 et 1)].

3) Compter : [si (n = 0) alors ajouter 1 à compteur-0] [si (n = 1) alors ajouter 1 à compteur-1].

À la fin, compteur-0 + compteur-1 = 100, et chaque compteur vaut environ 50.

⚠️
Le hasard, oui, mais…
  • Deux exécutions du même programme ne donnent pas les mêmes compteurs : c'est normal, le tirage est aléatoire.
  • Oublier de remettre les compteurs à zéro au départ fausse toute la simulation.

Pont avec le chapitre sur les probabilités : sur 100 tirages, la fréquence du 1 peut valoir 0,47 ou 0,55… mais plus on augmente le nombre de tirages, plus elle se STABILISE près de la probabilité 1/2. La simulation permet de le vérifier expérimentalement.

📌 À retenir

Simuler = répéter (boucle) + tirer au hasard (nombre aléatoire) + compter (compteurs et conditions).

Plus le nombre de tirages est grand, plus les fréquences se stabilisent vers les probabilités.

❓ Quiz — Simulation

Question 1 — Quel bloc simule un tirage à deux issues 0 ou 1 (pile ou face) ?

Question 2 — Après [répéter 100 fois : [tirage 0 ou 1 ; compter dans compteur-0 ou compteur-1]], que vaut compteur-0 + compteur-1 ?

Question 3 — Sur un très grand nombre de tirages 0/1, la fréquence du nombre 1…

🏆
Cours terminé !

Ton mémo complet est dans l’encadré « Mémo ». Prêt·e pour les défis ?

📌 Mémo
🔍 Lire un script
  • Dérouler pas à pas, tour par tour
  • Tableau d'état : la variable après chaque tour
  • ajouter ≠ mettre (écrase la valeur)

x=2 ; ×3 ; ×3 ; ×3 → 54

✏️ Écrire un script
  • Décomposer en étapes avant de coder
  • Polygone n côtés : tourner de (360 ÷ n)°
  • répéter jusqu'à : stop quand c'est VRAI

Triangle 120° · carré 90° · pentagone 72°

🧩 Blocs personnalisés
  • Motif répété → bloc personnalisé
  • Définir une fois, appeler partout
  • Même événement → scripts en parallèle

Frise : répéter 5 fois [motif]

🎲 Simulation
  • nombre aléatoire entre 0 et 1
  • Compteurs à 0, puis répéter + compter
  • Fréquence = compteur ÷ nb de tirages

Beaucoup de tirages → fréquences vers 1/2

S'entraîner sur Mathoo (gratuit) →
Le cours est lu, place aux exercicesDes exercices de 3e corrigés sur ce chapitre, avec la méthode et le corrigé détaillé. Gratuit, sans inscription.
Exercices corrigés →