Programmer : lire un programme et modifier ses paramètres
Rappels de 6e sur la séquence d’instructions ; lire un programme par blocs et le traduire en algorithme en langage naturel ; l’événement qui déclenche un script ; les entrées (boutons, capteurs) et les sorties (écran, DEL, buzzer, moteur) d’un programme, les données utilisées et produites ; modifier un paramètre et prévoir son effet sur le fonctionnement de l’objet
À propos de cette page
Des exercices corrigés de programmation par blocs, classés par cas et par difficulté : vocabulaire (algorithme, instruction, événement, paramètre), durée et état d’une DEL à un instant donné, scripts déclenchés par les boutons A et B, entrées et sorties d’un terrarium et d’un télémètre, distance parcourue par un robot, bip de cadence, barrière à servomoteur et conversion des millisecondes.
12 exercices, classés par cas comme le cours. Écris ta réponse, puis « Vérifier ».
Cas 1Lire un programme : une séquence d’instructions
Réflexe — je lis de haut en bas ; durée d’un passage = somme des « attendre » et des « pendant … s », puis × nombre de répétitions. Revoir la méthode →
Exercice 1★★★Facile
Complète avec le mot du cours.
Une suite d’instructions qui décrit, étape par étape, comment réaliser une tâche est un .
Un algorithme peut s’écrire en langage naturel, avec des phrases.
Dans un programme par blocs, chaque bloc est une .
Chaque bloc donne un ordre à la carte : c’est une instruction.
Des blocs emboîtés les uns sous les autres forment une d’instructions.
Une séquence d’instructions s’exécute dans l’ordre.
La carte exécute les blocs un par un, de haut en .
Ordre d’exécution : de haut en bas.
Pour laisser du temps entre deux actions, on place le bloc « … s ».
Sans « attendre », les instructions s’enchaînent en une fraction de seconde.
Le bloc qui recommence sans fin les blocs placés à l’intérieur s’appelle « répéter ».
« Répéter indéfiniment » s’appelle « toujours » sur la carte micro:bit.
Exercice 2★★★Moyen
Le clignotant du casque de vélo de Yanis est commandé par ce programme. Réponds aux questions.
au démarragerépéter 4 foisallumer la DELattendre 0,5 séteindre la DELattendre 1,5 safficher OK
Combien de fois la DEL s’allume-t-elle ?
La boucle est répétée 4 fois et la DEL s’allume une fois par passage.
Durée d’un passage dans la boucle : s
0,5 + 1,5 = 2 s.
Combien de secondes après le démarrage « OK » s’affiche-t-il ? s
4 passages de 2 s : 4 × 2 = 8 s ; « afficher » s’exécute aussitôt après.
Pendant combien de secondes au total la DEL est-elle allumée ? s
4 éclats de 0,5 s : 4 × 0,5 = 2 s.
À l’instant t = 2,25 s, la DEL est (allumée ou éteinte).
Le deuxième passage commence à 2 s ; la DEL reste allumée jusqu’à 2,5 s : allumée.
À l’instant t = 7 s, la DEL est (allumée ou éteinte).
Le quatrième passage commence à 6 s : allumée de 6 s à 6,5 s, puis attente jusqu’à 8 s : éteinte.
Exercice 3★★★Difficile
Inès traduit en blocs cet algorithme de minuteur : « Au démarrage, afficher 3, attendre 1 seconde, afficher 2, attendre 1 seconde, afficher 1, attendre 1 seconde, puis faire sonner le buzzer pendant 2 secondes. »
Combien de blocs « attendre » son programme contient-il ?
Un après chaque nombre affiché : 3.
Combien de secondes s’écoulent entre le démarrage et le début de la sonnerie ? s
Trois attentes de 1 s : 3 s.
À quel instant la sonnerie s’arrête-t-elle ? t = s
3 s d’attente + 2 s de sonnerie : 5 s.
Que montre l’écran à l’instant t = 1,5 s ?
« 2 » s’affiche à 1 s et reste jusqu’à 2 s : l’écran montre 2.
Inès place par erreur « faire sonner le buzzer pendant 2 secondes » tout en haut, avant « afficher 3 ». À quel instant la sonnerie commence-t-elle alors ? t = s
Le bloc est le premier de la séquence : la sonnerie commence dès le démarrage, à 0 s.
Dans ce programme erroné, à quel instant le « 3 » s’affiche-t-il ? t = s
Il faut d’abord attendre la fin de la sonnerie de 2 s : le 3 s’affiche à 2 s. L’ordre des blocs change le fonctionnement.
Cas 2L’événement qui déclenche une séquence
Réflexe — je cherche le bloc chapeau qui correspond à ce qui se produit, puis je lis seulement son script ; « au démarrage » ne s’exécute qu’une fois. Revoir la méthode →
Exercice 4★★★Facile
Complète avec le mot du cours.
Ce qui se produit et que la carte sait repérer (un appui sur un bouton, une secousse) est un .
Un événement déclenche un script.
Le bloc arrondi placé tout en haut d’un script, qui indique l’événement, est le bloc .
On l’appelle le bloc chapeau.
Les blocs placés sous « au démarrage » s’exécutent fois.
Une seule fois, à la mise sous tension : une fois.
Les blocs placés sous « quand le bouton A est pressé » s’exécutent à chaque sur A.
À chaque appui sur le bouton A.
Une séquence accrochée sous un bloc chapeau s’appelle un .
Un programme peut contenir plusieurs scripts.
Des blocs accrochés à aucun bloc chapeau ne s’exécutent .
Aucun événement ne les déclenche : ils ne s’exécutent jamais.
Exercice 5★★★Moyen
Voici le programme de la lampe de lecture de Malik. Pour chaque question, la carte vient d’être mise sous tension.
au démarrageéteindre la DELafficher Zzzquand le bouton A est presséallumer la DELafficher ONquand le bouton B est pressééteindre la DELafficher OFFquand la carte est secouéeallumer la DELattendre 3 séteindre la DEL
Juste après la mise sous tension, l’écran affiche .
Seul le script « au démarrage » s’exécute : Zzz.
On appuie sur A : l’écran affiche .
Le script du bouton A affiche ON et allume la DEL.
On appuie sur A, puis sur B : la DEL est (allumée ou éteinte).
Le script du bouton B éteint la DEL : éteinte.
Quel événement allume la DEL pendant 3 s seulement ? « quand la carte est »
Le script « quand la carte est secouée » allume, attend 3 s, puis éteint.
On appuie trois fois sur A. Combien de fois en tout le script « au démarrage » s’est-il exécuté depuis la mise sous tension ?
Il ne s’exécute qu’à la mise sous tension : 1 fois, quels que soient les appuis.
On secoue la carte, puis on attend 5 s sans rien toucher : la DEL est (allumée ou éteinte).
Elle s’est allumée 3 s, puis le script l’a éteinte : éteinte.
Exercice 6★★★Difficile
Choisir ou corriger l’événement.
Léa a posé le bloc « afficher Bonjour » seul, sans bloc chapeau au-dessus. Combien de fois « Bonjour » s’affiche-t-il ?
Aucun événement ne le déclenche : 0 fois.
Le badge de Tom doit afficher « Tom » une seule fois, dès la mise sous tension. Bloc chapeau à choisir : « »
« au démarrage » s’exécute une seule fois, à la mise sous tension.
Une maraca électronique doit jouer un son chaque fois qu’on l’agite. Bloc chapeau : « quand la carte est »
L’accéléromètre repère la secousse : « quand la carte est secouée ».
Sous « quand le bouton A est pressé » : « faire sonner le buzzer pendant 2 s ». On appuie 3 fois sur A, en attendant chaque fois la fin du son. Durée totale de sonnerie : s
Le script s’exécute à chaque appui : 3 × 2 = 6 s.
Sous « au démarrage » : « afficher 5 » ; sous « quand le bouton B est pressé » : « afficher 9 ». On allume la carte, puis on appuie deux fois sur A. L’écran affiche .
Aucun script n’est prévu pour le bouton A : l’écran garde 5.
Dans Scratch, le bloc chapeau qui lance un script au clic sur le drapeau vert s’écrit « quand le drapeau vert est ».
« quand le drapeau vert est cliqué » : c’est l’événement de départ vu en 6e.
Cas 3Entrées, sorties et données d’un programme
Réflexe — vers la carte → entrée (bouton, capteur) ; de la carte vers l’extérieur → sortie. Donnée utilisée = ce que le programme lit ; donnée produite = ce qu’il fabrique. Revoir la méthode →
Exercice 7★★★Facile
Pour chaque composant relié à la carte programmable, écris « entrée » ou « sortie ».
Le bouton poussoir d’une sonnette :
Il envoie un appui à la carte : entrée.
L’écran de DEL qui affiche l’heure :
La carte lui envoie ce qu’il faut afficher : sortie.
Le capteur de lumière d’un éclairage de jardin :
Il envoie une mesure à la carte : entrée.
Le buzzer d’un détecteur de fumée :
Il émet le son commandé par la carte : sortie.
Le moteur des roues d’un robot :
Il reçoit l’ordre « avancer » : sortie.
Le microphone d’un sonomètre :
Il mesure le bruit et envoie la mesure à la carte : entrée.
Exercice 8★★★Moyen
Le terrarium du lézard de la classe est surveillé par ce programme. La carte est reliée à deux boutons, une sonde de température plantée dans le sol, un écran et une lampe chauffante.
quand le bouton A est presséafficher température du solquand le bouton B est presséallumer la lampe chauffanteattendre 10 séteindre la lampe chauffante
Combien d’entrées ce programme utilise-t-il ?
Le bouton A, le bouton B et la sonde de température : 3 entrées.
Combien de sorties ?
L’écran et la lampe chauffante : 2 sorties.
La sonde mesure 28,5 °C au moment où l’on appuie sur A. Nombre affiché :
Quel événement allume la lampe chauffante ? Un appui sur le bouton .
C’est le script du bouton B.
Pendant combien de secondes la lampe chauffe-t-elle à chaque appui ? s
Allumer, attendre 10 s, éteindre.
Dans la chaîne d’information, l’écran réalise la fonction .
Il transmet une information à l’utilisateur : communiquer.
Exercice 9★★★Difficile
Algorithme d’un télémètre de poche : « Quand on appuie sur le bouton A, mesurer la distance de l’obstacle avec le capteur à ultrasons, afficher cette distance sur l’écran, puis faire sonner le buzzer pendant 1 seconde. »
Nombre d’entrées utilisées par ce programme :
Le bouton A et le capteur à ultrasons : 2.
Nombre de sorties :
L’écran et le buzzer : 2.
Le son émis par le buzzer est une donnée par le programme (utilisée ou produite).
Le programme envoie l’ordre de sonner vers le buzzer : le son est une donnée produite.
Le capteur mesure 85 cm. L’obstacle se rapproche de 23 cm, puis on appuie de nouveau sur A. Nombre affiché :
Le programme lit la distance au moment de l’appui : 85 − 23 = 62 ; la donnée produite est 62 affiché.
Un autre programme enregistre le niveau sonore de la cantine dans un fichier, une fois toutes les 30 s. Combien de valeurs le fichier reçoit-il par heure ?
1 h = 3 600 s ; 3 600 ÷ 30 = 120 valeurs.
Pour ce programme, le fichier où sont enregistrées les valeurs est une (entrée ou sortie).
Le programme y écrit des données produites : sortie.
Cas 4Modifier un paramètre et prévoir son effet
Réflexe — je repère le paramètre changé, je refais le calcul avec la nouvelle valeur et je compare au besoin ; 1 s = 1 000 ms. Revoir la méthode →
Exercice 10★★★Facile
Complète.
Une valeur écrite dans un bloc par le programmeur (une durée, un nombre de répétitions, une vitesse) est un .
C’est un paramètre : il ne change pas pendant que le programme fonctionne.
Sur la carte micro:bit, le bloc « pause » compte la durée en .
En millisecondes (ms).
1 s = ms
1 s = 1 000 ms.
pause 250 ms = s
250 ÷ 1 000 = 0,25 s.
Après avoir modifié un paramètre, on le programme pour vérifier que l’objet répond au besoin.
On teste, et on ajuste si besoin.
On remplace « attendre 2 s » par « attendre 1 s » entre deux éclats d’une DEL : elle clignote vite (plus ou moins).
Les éclats sont plus rapprochés : elle clignote plus vite.
Exercice 11★★★Moyen
Le robot de la course de la classe suit ce programme. Mesures faites en classe : à 40 %, le robot parcourt 15 cm par seconde ; à 80 %, il parcourt 28 cm par seconde.
quand le bouton A est pressérégler la vitesse des moteurs à 40 %avancer pendant 4 sarrêter les moteurs
Distance parcourue avec ce programme : cm
4 × 15 = 60 cm.
On change seulement la durée : avancer pendant 6 s. Distance : cm
6 × 15 = 90 cm.
On remet 4 s et on règle la vitesse à 80 %. Distance : cm
4 × 28 = 112 cm.
Le pourcentage a doublé (de 40 % à 80 %). Avec le réglage à 80 %, combien de centimètres manque-t-il pour atteindre le double de la distance parcourue à 40 % ? cm
2 × 60 = 120 ; 120 − 112 = 8 cm : doubler le pourcentage n’a pas doublé la distance.
À 40 %, quelle durée régler pour parcourir 75 cm ? s
75 ÷ 15 = 5 s.
À 80 %, quelle durée régler pour parcourir 84 cm ? s
84 ÷ 28 = 3 s.
Exercice 12★★★Difficile
Deux programmes à régler : le bip de cadence de l’atelier de corde à sauter et la barrière du parking de la maquette.
quand le bouton A est pressérépéter indéfinimentfaire sonner le buzzer pendant 0,1 sattendre 1,1 squand le bouton A est presséplacer le servomoteur à 90°attendre 5 splacer le servomoteur à 0°
Cadence : durée entre le début de deux bips : s
0,1 + 1,1 = 1,2 s.
Cadence : nombre de bips par minute :
60 ÷ 1,2 = 50 bips par minute.
Pour 75 bips par minute, sans changer la durée du bip, quelle durée mettre dans « attendre » ? s
Un passage doit durer 60 ÷ 75 = 0,8 s ; 0,8 − 0,1 = 0,7 s.
Sur micro:bit, cette attente s’écrirait « pause ms ».
0,7 × 1 000 = 700 ms.
Barrière : un camion met 12 s à passer. De combien de secondes faut-il augmenter l’attente ? s
Il faut attendre 12 s au lieu de 5 s : 12 − 5 = 7 s de plus.
Avec « placer le servomoteur à 45° », le bras ne se lève qu’à moitié. Quel paramètre faut-il remettre à 90 ? l’
C’est l’angle du servomoteur qui règle la hauteur du bras.
Bloqué sur ce chapitre ?
Moi c'est Ben, j'ai créé ce site pour aider le plus d'élèves possible, partout en France. Je peux aussi reprendre avec toi ce qui coince en cours particulier : en visio, ou à domicile si tu es à Marseille.