← Retour aux ressources
Mathématiques · Classe de 5ᵉ

Initiation à la programmation (Scratch)

Algorithmes, boucles, variables et repérage dans le plan

À propos de cette page
Ces problèmes corrigés sur « Initiation à la programmation (Scratch) » en cinquième permettent d'appliquer le cours à des situations concrètes en mathématiques. Ils suivent le programme officiel de cinquième et se résolvent étape par étape. Au programme : Qu'est-ce qu'un algorithme ?, La séquence : enchaîner les instructions, Se repérer dans le plan : les coordonnées, Déplacements et nombres relatifs. Cherche au brouillon, saisis ta réponse puis clique sur « Vérifier » pour te corriger. Idéal pour développer le raisonnement, la rigueur et la confiance avant une évaluation. Problèmes gratuits proposés par un professeur particulier à Marseille pour progresser en mathématiques en cinquième.

Des situations concrètes de programmation, classées par niveau. Déroule bien le programme à la main (avec un crayon) avant de regarder la correction.

Facile
Pb 1Nina veut décrire l'algorithme pour aller du collège chez elle : 1) sortir du collège, 2) tourner à droite, 3) avancer jusqu'à la boulangerie, 4) tourner à gauche. Elle écrit l'étape 4 avant l'étape 2. Que se passe-t-il ? Pourquoi l'ordre est-il important ?
Si elle tourne à gauche avant d'être sortie et d'avoir avancé, elle ne suit plus le bon chemin : elle se perd. Dans un algorithme, les instructions doivent être exécutées dans l'ordre prévu ; changer l'ordre change le résultat.
Pb 2Sur Scratch, le lutin part du centre (0 ; 0). On exécute : aller à x : 120 y : 0 puis aller à x : 120 y : -90. Décris son trajet et donne sa position finale.
Il va d'abord vers la droite jusqu'en (120 ; 0), puis descend jusqu'en (120 ; -90) (y négatif = vers le bas). Position finale : (120 ; -90).
Pb 3Léo veut faire avancer son lutin de 25 pas, et répéter ça 8 fois. Il a recopié 8 fois le bloc avancer de 25. Propose un programme plus court, et calcule la distance totale parcourue.
Plus court avec une boucle :
répéter 8 fois
   avancer de 25 pas.
Distance totale : 8 × 25 = 200 pas.
Pb 4Un jeu compte les pièces ramassées dans une variable pièces, qui vaut 0 au départ. Le joueur ramasse 4 pièces, puis 3 pièces, puis en perd 2 (on retire 2). Que vaut pièces à la fin ? Écris les instructions utilisées.
mettre pièces à 0
ajouter 4 à pièces (→ 4)
ajouter 3 à pièces (→ 7)
ajouter -2 à pièces (→ 5).
À la fin, pièces = 5.
Moyen
Pb 5Maïa programme le tracé d'un drapeau : un carré de côté 70. Écris le programme avec une boucle, donne l'angle de rotation et le périmètre du carré.
stylo en position d'écriture
répéter 4 fois
   avancer de 70 pas
   tourner ↻ de 90 degrés.
Angle : 360 ÷ 4 = 90°. Périmètre : 4 × 70 = 280 pas.
Pb 6Un lutin part de (-60 ; 50) et doit dessiner un trait jusqu'au point (60 ; 50). On utilise une boucle répéter 6 fois avec à chaque tour ajouter ... à x. Quelle valeur faut-il ajouter à x à chaque tour ?
x doit passer de -60 à 60, soit un déplacement de 60 − (−60) = 120. En 6 tours égaux : 120 ÷ 6 = 20. On écrit donc ajouter 20 à x dans la boucle (y reste à 50).
Pb 7Hugo écrit ce programme pour tracer une « rosace » de carrés :
répéter 6 fois
   répéter 4 fois
      avancer de 50
      tourner ↻ de 90
   tourner ↻ de 60
Combien de carrés trace-t-il ? Combien de fois le bloc avancer est-il exécuté ?
La boucle intérieure (4 fois) trace 1 carré ; elle est répétée 6 fois → 6 carrés, chacun pivoté de 60°. Le bloc avancer est exécuté 6 × 4 = 24 fois.
Pb 8Une variable distance vaut 0. À chaque tour d'une boucle répéter 5 fois, le lutin avance et on exécute ajouter 30 à distance. Que vaut distance à la fin ? Et si on faisait répéter 10 fois ?
Avec 5 tours : 5 × 30 = 150. Avec 10 tours : 10 × 30 = 300. La variable additionne 30 à chaque passage dans la boucle.
Difficile
Pb 9On veut tracer un triangle équilatéral de côté 90, puis, sans lever le stylo, un carré de côté 90 juste à côté. Écris un programme (en texte) qui enchaîne les deux figures. Indique les deux angles utilisés.
répéter 3 fois
   avancer de 90
   tourner ↻ de 120 degrés  (360 ÷ 3)
répéter 4 fois
   avancer de 90
   tourner ↻ de 90 degrés  (360 ÷ 4).
On utilise 120° pour le triangle et 90° pour le carré.
Pb 10Un programme de score :
mettre score à 0
mettre niveau à 1
répéter 4 fois
   ajouter (niveau × 10) à score
   ajouter 1 à niveau
Déroule-le et donne la valeur finale de score.
Tour 1 : score = 0 + 1×10 = 10, niveau = 2.
Tour 2 : score = 10 + 2×10 = 30, niveau = 3.
Tour 3 : score = 30 + 3×10 = 60, niveau = 4.
Tour 4 : score = 60 + 4×10 = 100, niveau = 5. → score = 100.
Pb 11Le lutin part de (0 ; 0) et doit atteindre au moins x = 100 par bonds de 15. On écrit :
mettre x à 0
répéter jusqu'à ce que x ≥ 100
   ajouter 15 à x
Combien de bonds fait-il, et quelle est la valeur finale de x ?
x : 15, 30, 45, 60, 75, 90, 105. On s'arrête quand x ≥ 100, donc à x = 105. Il a fait 7 bonds (105 ÷ 15 = 7).
Pb 12Sarah veut un programme qui trace un polygone régulier dont elle choisit le nombre de côtés grâce à une variable n. Elle écrit :
mettre n à 5
répéter n fois
   avancer de 60
   tourner ↻ de (360 ÷ n) degrés
a) Quelle figure obtient-elle ? b) Que doit-elle changer pour un octogone (8 côtés) ? c) L'angle se met-il à jour tout seul ?
a) n = 5 → un pentagone régulier (angle 360 ÷ 5 = 72°).
b) Il suffit de remplacer mettre n à 5 par mettre n à 8.
c) Oui : comme l'angle est calculé avec 360 ÷ n, il devient automatiquement 360 ÷ 8 = 45°. C'est l'intérêt d'utiliser une variable : un seul réglage suffit.
Continuer ce chapitre