Ressources · 3ᵉ · Technologie
Algorithmique et programmation d'un système
Algorithme et programme, variables, conditions, boucles, événements, programmation par blocs, programmer le comportement d'un système (capteurs, actionneurs), tester et corriger un programme, algorigramme
À propos de cette page
Choisis ton niveau. Questions et réponses mélangées à chaque partie. Bonne chance !
Les 36 questions du QCM en version texte
Pour réviser sans écran ou imprimer : chaque question avec ses propositions ; la bonne réponse et son explication se déplient.
Niveau facile — 12 questions
Scratch, mBlock et MakeCode sont des logiciels de :
- A. dessin technique en trois dimensions
- B. programmation par blocs
- C. simulation de circuits électriques
- D. traitement de texte et de tableaux
Réponse
B. programmation par blocs — Les instructions y prennent la forme de blocs qui s'emboîtent ; on s'en sert pour programmer cartes et robots.
Dans l'instruction « mettre vitesse à 50 », vitesse est :
- A. une variable
- B. un événement déclencheur
- C. une boucle
- D. un capteur de mouvement
Réponse
A. une variable — vitesse est le nom d'une variable ; le bloc lui affecte la valeur 50.
Quel bloc répète des instructions sans jamais s'arrêter ?
- A. répéter 10 fois
- B. répéter jusqu'à (condition)
- C. si … alors
- D. répéter indéfiniment
Réponse
D. répéter indéfiniment — C'est la boucle des systèmes qui surveillent leurs capteurs en permanence.
Combien de flèches sortent d'un losange dans un algorigramme ?
- A. aucune, c'est la fin
- B. une seule
- C. deux
- D. trois ou plus selon les cas
Réponse
C. deux — Un test a deux issues : « oui » et « non ».
Lequel de ces éléments est un événement ?
- A. mettre compteur à 0
- B. attendre 2 secondes avant d'agir
- C. la réception d'un message
- D. répéter 5 fois de suite
Réponse
C. la réception d'un message — Un événement est un changement qui déclenche un script ; les autres propositions sont des instructions.
Tester un programme, c'est :
- A. le recopier au propre dans le cahier de technologie
- B. l'exécuter et comparer au comportement attendu
- C. ajouter des blocs « attendre » partout
- D. le téléverser deux fois de suite
Réponse
B. l'exécuter et comparer au comportement attendu — On compare le résultat obtenu au cahier des charges, cas limites compris.
Dans « si (température > 25) alors ventiler », l'expression « température > 25 » est :
- A. une condition
- B. une action
- C. une boucle
- D. un actionneur du système
Réponse
A. une condition — Une condition vaut vrai ou faux ; elle décide si l'action est exécutée.
Transférer le programme de l'ordinateur vers la carte programmable du système s'appelle :
- A. imprimer
- B. dessiner l'algorigramme
- C. déboguer
- D. téléverser
Réponse
D. téléverser — Une fois téléversé, le programme s'exécute sur la carte, même débranchée de l'ordinateur, si elle est alimentée.
Pour faire clignoter une LED exactement 20 fois, la boucle adaptée est :
- A. répéter indéfiniment
- B. répéter 20 fois
- C. si … alors … sinon
- D. attendre 20 secondes
Réponse
B. répéter 20 fois — Le nombre de répétitions est connu à l'avance.
Un bouton poussoir relié à la carte programmable renvoie au programme :
- A. un nombre entre 0 et 1 000
- B. un texte de plusieurs mots
- C. vrai ou faux
- D. une durée en secondes
Réponse
C. vrai ou faux — C'est un signal logique : appuyé (vrai) ou relâché (faux).
Après « mettre n à 9 » puis « ajouter -2 à n », n vaut :
- A. -2
- B. 9
- C. 11
- D. 7
Réponse
D. 7 — 9 + (−2) = 7 : ajouter un nombre négatif fait diminuer la variable.
La valeur d'une variable peut-elle changer pendant l'exécution du programme ?
- A. oui, c'est justement son rôle
- B. non, elle est fixée au démarrage
- C. non, sauf si l'on redémarre
- D. oui, mais une seule fois
Réponse
A. oui, c'est justement son rôle — Une variable est faite pour évoluer : compteur, score, niveau mesuré…
Niveau moyen — 12 questions
« mettre t à 0 », puis « répéter 5 fois : ajouter 4 à t ». À la fin, t vaut :
- A. 4
- B. 9
- C. 20
- D. 5
Réponse
C. 20 — 0 + 5 × 4 = 20.
Un convoyeur : « répéter 3 fois : avancer 2 s, attendre 0,5 s », puis « avancer 4 s ». Durée totale :
- A. 8,5 s
- B. 10 s
- C. 6,5 s
- D. 11,5 s
Réponse
D. 11,5 s — 3 × (2 + 0,5) + 4 = 7,5 + 4 = 11,5 s.
Robot aspirateur : « si (batterie < 20) alors retourner à la base sinon continuer le ménage ». Batterie à 20 % :
- A. il continue le ménage
- B. il retourne à la base
- C. il s'arrête sur place
- D. il clignote puis s'éteint
Réponse
A. il continue le ménage — 20 < 20 est faux : c'est la branche « sinon » qui s'exécute.
« si ((bouton A appuyé) ou (bouton B appuyé)) alors sonner ». Seul le bouton B est appuyé :
- A. rien, il faut appuyer sur les deux
- B. la sonnerie retentit
- C. le programme s'arrête
- D. le programme attend le bouton A
Réponse
B. la sonnerie retentit — Avec « ou », une seule condition vraie suffit.
Pour qu'un robot avance jusqu'à ce qu'il détecte une ligne noire, on utilise :
- A. répéter 10 fois : avancer
- B. si (ligne noire) alors avancer, sans boucle
- C. attendre 10 secondes
- D. répéter jusqu'à (ligne noire détectée)
Réponse
D. répéter jusqu'à (ligne noire détectée) — On ne connaît pas à l'avance le nombre de tours : on répète jusqu'à l'événement attendu.
Le logiciel n'a pas de bloc « ≥ ». Pour tester « niveau ≥ 50 » avec des niveaux décimaux, on écrit :
- A. non (niveau < 50)
- B. niveau > 50
- C. non (niveau > 50)
- D. niveau = 50
Réponse
A. non (niveau < 50) — « non (niveau < 50) » est vrai pour 50 et au-delà ; « niveau > 50 » oublie la valeur 50.
« mettre places à 30 », puis 12 fois « ajouter -1 à places » et 5 fois « ajouter 1 à places ». places vaut :
- A. 47
- B. 13
- C. 23
- D. 37
Réponse
C. 23 — 30 − 12 + 5 = 23.
Une boucle « répéter indéfiniment » interroge le détecteur d'une porte automatique : « si (présence) alors ouvrir ». Cette façon de guetter un événement s'appelle :
- A. une initialisation
- B. une scrutation
- C. une affectation
- D. un téléversement
Réponse
B. une scrutation — Le programme interroge le capteur à chaque tour de boucle.
Pourquoi regrouper « moteur en marche, attendre le fin de course, arrêter le moteur » dans un bloc personnalisé « ouvrir_porte » ?
- A. pour le réutiliser et rendre le programme lisible
- B. pour que le moteur tourne plus vite
- C. parce qu'un script ne peut pas dépasser trois blocs
- D. pour supprimer la boucle principale
Réponse
A. pour le réutiliser et rendre le programme lisible — On décompose en sous-problèmes : le bloc est écrit une fois et appelé autant de fois que nécessaire.
compteur vaut 8. « répéter jusqu'à (compteur = 5) : ajouter 1 à compteur ». Que se passe-t-il ?
- A. la boucle fait 5 tours
- B. la boucle fait 3 tours
- C. la boucle ne fait aucun tour
- D. la boucle ne s'arrête jamais
Réponse
D. la boucle ne s'arrête jamais — compteur passe à 9, 10, 11… et n'est jamais égal à 5 : la boucle est sans fin.
« si ((obstacle < 20 cm) et (mode automatique)) alors tourner ». Obstacle à 12 cm, mode manuel :
- A. le robot tourne
- B. le robot ne tourne pas
- C. le robot recule puis tourne
- D. le programme s'arrête
Réponse
B. le robot ne tourne pas — Avec « et », les deux conditions doivent être vraies ; la seconde est fausse.
« répéter indéfiniment : éteindre la LED, attendre 1 s, allumer la LED ». La LED paraît :
- A. allumée en permanence
- B. clignotante, 2 fois par seconde
- C. presque toujours éteinte
- D. allumée une seconde sur deux
Réponse
C. presque toujours éteinte — Entre « allumer » et le « éteindre » du tour suivant, il n'y a aucune attente : la LED n'est allumée qu'un instant.
Niveau difficile — 12 questions
« mettre a à 2 ; mettre b à 5 ; mettre a à b ; mettre b à a ». À la fin :
- A. a = 5 et b = 2
- B. a = 2 et b = 5
- C. a = 2 et b = 2
- D. a = 5 et b = 5
Réponse
D. a = 5 et b = 5 — a reçoit 5, puis b reçoit la nouvelle valeur de a, soit 5 : l'ancienne valeur 2 est perdue. Pour échanger deux valeurs, il faut une troisième variable.
« mettre n à 1 ; répéter 4 fois : mettre n à n × 3 ». n vaut :
- A. 12
- B. 81
- C. 13
- D. 64
Réponse
B. 81 — 1 → 3 → 9 → 27 → 81.
« mettre s à 0 ; mettre i à 1 ; répéter jusqu'à (i > 4) : ajouter i à s, ajouter 1 à i ». s vaut :
- A. 6
- B. 15
- C. 10
- D. 4
Réponse
C. 10 — s = 1 + 2 + 3 + 4 = 10 ; quand i vaut 5, la boucle s'arrête.
Programme : « quand le drapeau vert est cliqué ; si (porte ouverte) alors sonner ». On ouvre la porte 10 s après le démarrage :
- A. l'alarme ne sonne pas
- B. l'alarme sonne aussitôt
- C. l'alarme sonne pendant 10 s
- D. le programme attend l'ouverture
Réponse
A. l'alarme ne sonne pas — Sans boucle, le test n'a lieu qu'une fois, au démarrage, quand la porte était encore fermée.
Un seul bouton doit allumer puis éteindre une lampe (1er appui : allumée, 2e appui : éteinte…). L'élément indispensable est :
- A. un second capteur de présence
- B. une variable qui mémorise l'état de la lampe
- C. une boucle « répéter 2 fois » placée après l'événement
- D. un losange sans sortie « non »
Réponse
B. une variable qui mémorise l'état de la lampe — À chaque appui, le programme consulte la variable pour savoir s'il faut allumer ou éteindre, puis la met à jour.
Un capteur mesure 24,6 °C. Le test « si (T = 25) alors ventiler » :
- A. est vrai, car 24,6 est proche de 25
- B. bloque le programme par une erreur de syntaxe à l'exécution
- C. est faux ; un seuil se teste avec > ou <
- D. arrondit la mesure à l'unité
Réponse
C. est faux ; un seuil se teste avec > ou < — Une mesure tombe rarement pile sur une valeur : un test d'égalité risque de n'être jamais vrai.
Dans un algorigramme, la sortie « non » du losange « Obstacle ? » remonte vers ce même losange. Cela se traduit par :
- A. un bloc « si … alors … sinon »
- B. une boucle « répéter indéfiniment » sans aucune condition
- C. un bloc « répéter 10 fois »
- D. un bloc « attendre jusqu'à (obstacle) »
Réponse
D. un bloc « attendre jusqu'à (obstacle) » — Tant que la réponse est « non », on reteste : le programme attend l'obstacle avant de continuer.
Un robot tourne de 120° avec « tourner à droite pendant 0,8 s ». Pour tourner de 90° à la même vitesse, il faut :
- A. 0,6 s
- B. 1,07 s
- C. 0,5 s
- D. 0,9 s
Réponse
A. 0,6 s — 0,8 × 90 / 120 = 0,6 s : la durée est proportionnelle à l'angle.
Quel jeu de valeurs teste le mieux « si (niveau > 70) alors alerter » ?
- A. 10, 20, 30, 40
- B. 100 et 200
- C. 69, 70, 71
- D. 70 uniquement
Réponse
C. 69, 70, 71 — On teste juste en dessous, pile sur et juste au-dessus du seuil : 70 ne doit pas déclencher l'alerte, 71 oui.
x vaut 2. « répéter jusqu'à (x > 10) : ajouter 3 à x ». Valeur finale de x :
- A. 11
- B. 10
- C. 14
- D. 13
Réponse
A. 11 — 2 → 5 → 8 → 11 ; 11 > 10, la boucle s'arrête.
Pourquoi le programme d'un système embarqué (alarme, thermostat) n'a-t-il en général pas de fin ?
- A. parce que la carte ne sait pas exécuter le bloc « stop »
- B. parce qu'une fin effacerait les variables
- C. parce que les boucles finies sont interdites
- D. parce qu'il doit surveiller ses capteurs en permanence
Réponse
D. parce qu'il doit surveiller ses capteurs en permanence — Tant qu'il est alimenté, le système doit pouvoir réagir à tout moment : d'où la boucle « répéter indéfiniment ».
« attendre jusqu'à (bouton appuyé) » est placé juste avant « répéter indéfiniment ». Au démarrage :
- A. la boucle démarre aussitôt
- B. rien ne se passe avant le premier appui
- C. le bouton est ignoré
- D. le programme s'arrête définitivement au premier appui
Réponse
B. rien ne se passe avant le premier appui — Le programme est bloqué sur l'attente ; la boucle ne commence qu'après le premier appui.
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