Ressources · 5ᵉ · Technologie
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
Lire un programme : une séquence d’instructions
Un phare de maquette qui clignote, un robot qui suit un parcours, une boîte à musique : derrière chacun de ces objets, il y a un programme, rangé dans la mémoire d’une carte programmable (par exemple une carte micro:bit). En technologie, on lit et on écrit ces programmes avec des blocs que l’on emboîte, comme dans Scratch.
Rappels de 6e
En 6e, avec Scratch, tu as écrit des scripts qui font avancer et tourner un lutin : les blocs s’exécutent l’un après l’autre, et le bloc « répéter » recommence plusieurs fois les blocs placés à l’intérieur. C’est exactement ainsi que fonctionne le programme d’un objet.
• Un programme est un algorithme écrit dans un langage que la machine comprend : ici, des blocs. Chaque bloc est une instruction.
• Les blocs emboîtés les uns sous les autres forment une séquence d’instructions : la carte les exécute une par une, dans l’ordre, de haut en bas.
• Une instruction s’exécute en une toute petite fraction de seconde. Seuls prennent du temps le bloc « attendre … s » et les blocs qui annoncent une durée (« pendant … s »).
• « répéter n fois » exécute n fois les blocs placés à l’intérieur ; « répéter indéfiniment » (« toujours » sur la carte micro:bit) les recommence sans fin, tant que la carte est alimentée.
Lire un programme par blocs
Le bloc jaune arrondi du haut indique quand la séquence démarre (on y revient au cas 2). Les couleurs des blocs indiquent leur famille : orange pour attendre et répéter, violet pour l’écran et les DEL, rose pour le son, bleu pour les moteurs, bleu clair arrondi pour une valeur lue sur un capteur.
Le phare de la maquette du port : voici son programme, puis l’état de la DEL au cours du temps (le chronogramme).
Traduire en langage naturel. « Au démarrage, répéter 3 fois : allumer la DEL, attendre 1 seconde, éteindre la DEL, attendre 2 secondes. »
Calculer la durée. Un passage dans la boucle dure 1 + 2 = 3 s ; il y a 3 passages : 3 × 3 = 9 s. La DEL s’allume 3 fois, pendant 1 s chaque fois, soit 3 s allumée en tout.
Trouver l’état à un instant. À t = 3,5 s, le deuxième passage a commencé à 3 s et la DEL reste allumée jusqu’à 4 s : elle est allumée. À t = 5 s, elle est éteinte (attente de 4 s à 6 s).
Réflexe — je lis les blocs de haut en bas, un par un, et je les traduis en phrases. Pour la durée, j’additionne les durées d’un passage dans la boucle, puis je multiplie par le nombre de répétitions.
Attention — sans le dernier « attendre 2 s », la DEL se rallumerait aussitôt après s’être éteinte : on la verrait allumée sans arrêt. Et avec « répéter indéfiniment », la séquence ne s’arrête jamais : on calcule la durée d’un passage, pas une durée totale.
1 / 4
L’événement qui déclenche une séquence
Une sonnette ne sonne pas toute seule : il faut que quelqu’un appuie sur le bouton. Le programme d’un objet attend, lui aussi, que quelque chose se produise pour agir.
• Le bloc jaune arrondi placé en haut d’une séquence, le bloc chapeau, indique l’événement qui déclenche cette séquence. Une séquence accrochée sous son bloc chapeau s’appelle un script.
• « au démarrage » : le script s’exécute une seule fois, quand la carte est mise sous tension (ou redémarrée), avant tous les autres.
• « quand le bouton A est pressé » : le script s’exécute à chaque appui sur le bouton A ; tant qu’on n’appuie pas, il ne se passe rien. De même pour le bouton B et pour « quand la carte est secouée ».
• Un programme peut contenir plusieurs scripts, chacun avec son événement : chacun attend le sien. Des blocs accrochés à aucun bloc chapeau ne s’exécutent jamais.
Le buzzer de quiz : deux équipes s’affrontent ; l’équipe 1 appuie sur A, l’équipe 2 sur B. Le programme contient trois scripts.
Mise sous tension. Seul le script « au démarrage » s’exécute : l’écran affiche ? et le buzzer reste muet.
L’équipe 2 appuie. Le script du bouton B s’exécute : l’écran affiche 2 et le buzzer sonne 0,5 s. Le script « au démarrage » ne se relance pas.
En langage naturel. « Quand on appuie sur le bouton A, afficher 1 et faire sonner le buzzer pendant 1 seconde. »
Un autre événement. Un dé électronique affiche un nombre « quand la carte est secouée » : c’est l’accéléromètre de la carte qui repère la secousse.
Réflexe — pour savoir ce que fait un programme dans une situation, je cherche d’abord le bloc chapeau qui correspond à ce qui se produit, puis je lis seulement le script placé dessous.
Attention — appuyer sur un bouton ne relance pas le script « au démarrage » : il ne s’exécute qu’une fois, à la mise sous tension. Et un appui sur un bouton pour lequel aucun script n’est prévu ne fait rien.
2 / 4
Entrées, sorties et données d’un programme
Pour agir au bon moment, le programme a besoin d’informations venues de l’extérieur ; pour être utile, il doit produire quelque chose : un affichage, un son, un mouvement.
• Les sorties sont les composants vers lesquels il envoie ses résultats et ses ordres : écran ou afficheur, DEL, buzzer ou haut-parleur, moteur, servomoteur, pompe.
• Les données utilisées sont les informations que le programme lit : un appui sur un bouton, la température mesurée, la distance mesurée… Dans les blocs, une valeur lue sur un capteur est un bloc bleu clair arrondi que l’on glisse dans un autre bloc : température.
• Les données produites sont les informations que le programme fabrique et envoie vers les sorties : le nombre ou le texte affiché, le son, l’ordre « avancer » envoyé aux moteurs. Elles peuvent aussi être enregistrées dans un fichier : le fichier est alors une sortie.
• Lien avec la chaîne d’information : les entrées acquièrent, le programme exécuté par la carte traite, les sorties communiquent (messages pour l’utilisateur, ordres pour les actionneurs).
La station météo de la classe : la carte affiche un mot au démarrage, puis une mesure à chaque appui sur un bouton.
Entrées et sorties. Entrées : le bouton A, le bouton B, le capteur de température et le capteur de lumière (4 entrées). Sortie : l’écran (1 sortie).
Données. Quand on appuie sur A, le programme utilise l’appui et la température mesurée, par exemple 19 °C ; il produit le nombre 19 affiché sur l’écran.
En langage naturel. « Quand on appuie sur le bouton B, mesurer le niveau de lumière et l’afficher. »
Un fichier en sortie. Un programme qui enregistre la température toutes les 10 minutes dans le fichier « releves.csv » produit 6 valeurs par heure (60 ÷ 10 = 6).
Réflexe — je regarde dans quel sens circule l’information : du composant vers la carte, c’est une entrée ; de la carte vers le composant, c’est une sortie.
Attention — ne pas confondre le composant et la donnée : le capteur de température est une entrée, la température mesurée est une donnée utilisée. Le mot « météo » écrit dans le bloc n’est pas lu sur un capteur : c’est le programmeur qui l’a choisi (c’est un paramètre, cas 4). Un écran tactile, lui, est à la fois une entrée (il capte le doigt) et une sortie (il affiche).
3 / 4
Modifier un paramètre et prévoir son effet
Le phare clignote trop lentement, le robot s’arrête trop tôt, la sonnerie est trop courte ? Souvent, il n’y a pas besoin de réécrire le programme : il suffit de changer une valeur dans un bloc.
• Modifier un paramètre ne change ni l’ordre des blocs ni les événements, mais change le fonctionnement de l’objet : plus long, plus rapide, plus de fois, plus loin…
• Pour prévoir l’effet d’une modification, je refais le calcul avec la nouvelle valeur (durée, nombre de clignotements, distance), puis je compare le résultat au besoin.
• On teste ensuite le programme modifié sur l’objet réel ou dans un simulateur : si l’objet ne répond pas encore au besoin, on ajuste le paramètre et on recommence.
• Attention aux unités : sur la carte micro:bit, le bloc « pause » compte la durée en millisecondes (ms) : 1 s = 1 000 ms, donc pause 500 ms = 0,5 s.
| Paramètre | Si on l’augmente… |
|---|---|
| durée d’un « attendre » entre deux éclats | la DEL clignote plus lentement |
| nombre de répétitions | l’action se fait plus de fois et la séquence dure plus longtemps |
| durée de « avancer pendant … s » | le robot va plus loin |
| vitesse des moteurs (%) | le robot va plus vite |
| angle du servomoteur | le bras tourne davantage (de 0° à 180°) |
Le métronome donne le rythme aux musiciens de la classe :
Le robot tondeuse de la maquette du jardin tond une bande de pelouse jusqu’à la haie :
Le métronome. Un passage dure 0,1 + 0,4 = 0,5 s : un bip toutes les 0,5 s, soit 60 ÷ 0,5 = 120 bips par minute. Si l’on remplace 0,4 par 0,9, un passage dure 1 s : 60 bips par minute, le rythme est deux fois plus lent.
Le robot tondeuse. On a mesuré qu’à 50 %, le robot parcourt 12 cm par seconde : en 3 s, il parcourt 3 × 12 = 36 cm. Pour atteindre la haie, à 60 cm, on règle la durée à 60 ÷ 12 = 5 s, puis on teste.
Les millisecondes. Sur micro:bit, « attendre 0,4 s » s’écrit pause 400 ms (0,4 × 1 000 = 400).
Réflexe — je repère le paramètre modifié, je refais le calcul avec la nouvelle valeur, puis je vérifie que l’objet répond au besoin ; je teste pour confirmer.
Attention — un paramètre ne change que ce qu’il règle : passer de « répéter 3 fois » à « répéter 6 fois » double le nombre d’éclats, pas la durée d’un éclat. Et doubler la vitesse en % ne double pas toujours la vitesse réelle du robot (frottements, charge, piles usées) : c’est pour cela qu’on teste.
4 / 4
Pour aller plus loin
Revoir la 6e et les maths de 5e. Séquences d’instructions, déplacements du lutin et boucle « répéter » dans Scratch : voir « Pensée informatique : programmer avec Scratch » (6e) et « Pensée informatique : instructions, programmes de calcul et boucles » (maths 5e).
Les composants reliés à la carte. Capteurs, microcontrôleur, boutons et afficheurs dans la chaîne d’information : voir « Chaîne d’information : capteurs, microcontrôleur et boutons ».
Les types de données. Nombre, texte (chaîne de caractères) ou booléen : voir « Données : décrire un objet avec des descripteurs ».
En 4e. On créera des variables (« mettre score à 0 »), on écrira des tests « si … alors … sinon » et des conditions avec ET, OU, NON, et on complétera un programme pour lui ajouter une fonctionnalité.
En 3e. Listes, sous-programmes, passage des blocs à un langage écrit en texte : voir « Algorithmique et programmation : concevoir et structurer un programme ».
- Un programme est une séquence d’instructions (des blocs) exécutées une par une, de haut en bas ; on peut le traduire en algorithme en langage naturel.
- Seuls « attendre » et les blocs « pendant … s » prennent du temps : durée d’une boucle = durée d’un passage × nombre de répétitions.
- Un événement (démarrage, appui sur un bouton, secousse) déclenche le script placé sous son bloc chapeau : « au démarrage » une seule fois, un bouton à chaque appui.
- Entrées (boutons, capteurs) → données utilisées ; sorties (écran, DEL, buzzer, moteur, fichier) ← données produites.
- Un paramètre est une valeur écrite dans un bloc : le modifier change le fonctionnement ; je prévois l’effet par le calcul, puis je teste. Sur micro:bit, la pause est en millisecondes.
Questions fréquentes
Qu’est-ce qu’une séquence d’instructions ?
C’est une suite de blocs emboîtés les uns sous les autres. La carte les exécute un par un, dans l’ordre, de haut en bas. Seuls « attendre » et les blocs « pendant … s » prennent du temps : la durée d’une boucle est la durée d’un passage multipliée par le nombre de répétitions.
Qu’est-ce qu’un événement dans un programme ?
C’est quelque chose que la carte sait repérer : la mise sous tension, un appui sur un bouton, une secousse, un clic sur le drapeau vert dans Scratch. Le bloc chapeau placé en haut d’un script indique l’événement qui le déclenche ; « au démarrage » ne s’exécute qu’une fois.
Quelle est la différence entre une entrée et une sortie d’un programme ?
Une entrée envoie des données à la carte (bouton, capteur de température, de lumière, de distance, accéléromètre) : ce sont les données utilisées. Une sortie reçoit les données produites ou les ordres (écran, DEL, buzzer, moteur, servomoteur, fichier).
Comment prévoir l’effet d’un paramètre modifié ?
Un paramètre est une valeur écrite dans un bloc (durée, nombre de répétitions, vitesse, angle, texte). On refait le calcul avec la nouvelle valeur, on compare au besoin, puis on teste le programme sur l’objet. Sur micro:bit, la pause est en millisecondes : 1 s = 1 000 ms.
Avec quels logiciels programme-t-on par blocs en 5e ?
Le plus souvent avec Scratch, avec MakeCode pour la carte micro:bit ou avec mBlock pour certains robots. Les noms exacts des blocs changent d’un logiciel à l’autre, mais on y retrouve toujours des événements, des séquences, « attendre », « répéter » et des blocs pour les entrées et les sorties.
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.
Soutien scolaire à Marseille · Cours particuliers au collège · Aide aux devoirs