Technologie 3ᵉ
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
Ces problèmes corrigés sur « Algorithmique et programmation d'un système » en troisième permettent d'appliquer le cours à des situations concrètes en technologie. Ils suivent le programme officiel de troisième et se résolvent étape par étape. Au programme : Algorithme et programme, Les variables, Les conditions : si… alors… sinon, Les boucles. 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 technologie en troisième.
Résous chaque problème, écris ta réponse puis clique sur « Vérifier ». Pose tes calculs au brouillon.
Facile
Pb. 1 — Le sèche-mains automatiqueUn sèche-mains contient un capteur infrarouge de présence, une résistance chauffante et le moteur d'un ventilateur. Son programme :
quand la carte est mise sous tensionrépéter indéfinimentsi (mains détectées) alorsallumer la résistance ; mettre le ventilateur en marchesinonéteindre la résistance ; arrêter le ventilateurQuel capteur fournit l'information au programme ?
Il renvoie vrai (mains présentes) ou faux.Combien d'actionneurs le programme commande-t-il ?
La résistance chauffante et le moteur du ventilateur.Quelle boucle permet au sèche-mains de réagir à n'importe quel moment ?
La condition est testée à chaque tour, sans fin.Un utilisateur retire ses mains puis les remet aussitôt. Le sèche-mains redémarre-t-il ? Justifie.
Oui : à chaque tour de boucle, la condition est testée de nouveau ; dès que les mains sont détectées, la résistance et le ventilateur se remettent en marche.La scrutation permanente rend le système réactif.Le fabricant veut limiter chaque séchage à 40 s, même si quelqu'un laisse ses mains. Propose une modification du programme.
Si mains détectées : réinitialiser le chronomètre, tout mettre en marche, puis « répéter jusqu'à ((non mains détectées) ou (chronomètre > 40)) » sans rien faire ; ensuite éteindre la résistance et arrêter le ventilateur ; enfin « attendre jusqu'à (non mains détectées) » pour éviter un redémarrage immédiat.Combiner deux conditions d'arrêt avec « ou ».Voir le corrigé
- capteur infrarouge — Il renvoie vrai (mains présentes) ou faux.
- 2 — La résistance chauffante et le moteur du ventilateur.
- répéter indéfiniment — La condition est testée à chaque tour, sans fin.
- Réponse libre — exemple : Oui : à chaque tour de boucle, la condition est testée de nouveau ; dès que les mains sont détectées, la résistance et le ventilateur se remettent en marche. — La scrutation permanente rend le système réactif.
- Réponse libre — exemple : Si mains détectées : réinitialiser le chronomètre, tout mettre en marche, puis « répéter jusqu'à ((non mains détectées) ou (chronomètre > 40)) » sans rien faire ; ensuite éteindre la résistance et arrêter le ventilateur ; enfin « attendre jusqu'à (non mains détectées) » pour éviter un redémarrage immédiat. — Combiner deux conditions d'arrêt avec « ou ».
Pb. 2 — L'arrosage automatiqueUn jardin partagé est équipé d'un capteur d'humidité du sol (valeur en %) et d'une électrovanne. Programme :
répéter indéfinimentsi (humidité < 35) alorsouvrir l'électrovannesinonfermer l'électrovanneattendre 60 secondesHumidité mesurée : 28 %. L'électrovanne est (ouverte ou fermée).
28 < 35 est vrai.Humidité mesurée : 35 %. L'électrovanne est .
35 < 35 est faux : cas limite.L'humidité est testée toutes les s.
Un tour de boucle dure environ 60 s.Nombre de tests effectués en une heure :
3 600 s / 60 s = 60.Il pleut, mais l'humidité du sol reste à 30 % pendant la première demi-heure. Que fait le système ? Que proposer pour économiser l'eau ?
Il arrose sous la pluie, car il ne connaît que l'humidité du sol. On peut ajouter un capteur de pluie et écrire : si ((humidité < 35) et (non pluie détectée)) alors ouvrir l'électrovanne.Une information de plus, une condition combinée avec « et ».Voir le corrigé
- ouverte — 28 < 35 est vrai.
- fermée — 35 < 35 est faux : cas limite.
- 60 — Un tour de boucle dure environ 60 s.
- 60 — 3 600 s / 60 s = 60.
- Réponse libre — exemple : Il arrose sous la pluie, car il ne connaît que l'humidité du sol. On peut ajouter un capteur de pluie et écrire : si ((humidité < 35) et (non pluie détectée)) alors ouvrir l'électrovanne. — Une information de plus, une condition combinée avec « et ».
Moyen
Pb. 3 — Le distributeur de croquettesUn distributeur pour chat est rempli avec 1 500 g de croquettes. À 7 h, 13 h et 19 h, un moteur fait tourner une vis qui délivre une portion de 40 g. Le programme utilise une variable stock (en g) :
si (non (stock < 40)) alors distribuer une portion et ajouter -40 à stock, sinon allumer le voyant « Remplir ».Masse distribuée par jour : g
3 × 40 = 120 g.Nombre de portions complètes avec 1 500 g :
1 500 / 40 = 37,5 : seules 37 portions complètes.Masse restant dans le réservoir quand le voyant « Remplir » s'allume : g
1 500 − 37 × 40 = 20 g.Le réservoir est rempli un lundi à 6 h. Quel jour et à quelle heure le chat reçoit-il la dernière portion complète ?
37 = 12 × 3 + 1 : douze jours complets (du lundi au vendredi de la semaine suivante), puis une portion le 13e jour, soit le samedi de la semaine suivante à 7 h.Compter les jours à partir du lundi, jour 1.Pourquoi le test porte-t-il sur « stock ≥ 40 » et non sur « stock > 0 » ?
Avec « stock > 0 », le distributeur lancerait une distribution avec seulement 20 g : le chat recevrait une demi-portion et la variable deviendrait négative (−20 g), ce qui ne correspond plus à la réalité.La condition doit garantir qu'une portion entière est disponible.Voir le corrigé
- 120 — 3 × 40 = 120 g.
- 37 — 1 500 / 40 = 37,5 : seules 37 portions complètes.
- 20 — 1 500 − 37 × 40 = 20 g.
- Réponse libre — exemple : 37 = 12 × 3 + 1 : douze jours complets (du lundi au vendredi de la semaine suivante), puis une portion le 13e jour, soit le samedi de la semaine suivante à 7 h. — Compter les jours à partir du lundi, jour 1.
- Réponse libre — exemple : Avec « stock > 0 », le distributeur lancerait une distribution avec seulement 20 g : le chat recevrait une demi-portion et la variable deviendrait négative (−20 g), ce qui ne correspond plus à la réalité. — La condition doit garantir qu'une portion entière est disponible.
Pb. 4 — Le robot qui évite les obstaclesUn robot possède deux moteurs de roues et un capteur à ultrasons qui mesure la distance d (en cm) jusqu'à l'obstacle placé devant lui. Son algorigramme :
- Début
- Lire la distance d
- d < 15 ? — non : aller en 4 ; oui : aller en 5
- Avancer, puis retour en 2
- Reculer pendant 1 s
- Tourner à droite pendant 0,5 s, puis retour en 2
Forme du symbole de l'étape 3 :
C'est un test à deux sorties.Forme du symbole de l'étape 2 :
Lecture d'une donnée d'entrée.Le capteur mesure 14,9 cm : le robot (avance ou recule).
14,9 < 15 est vrai.Écris le programme par blocs correspondant.
quand le drapeau vert est cliqué ; répéter indéfiniment : si (distance < 15) alors reculer, attendre 1 s, tourner à droite, attendre 0,5 s ; sinon avancer.Les retours en 2 forment la boucle « répéter indéfiniment ».Dans un coin, le robot recule, tourne, retrouve un mur et recommence sans fin. Propose une amélioration utilisant une variable.
Une variable manœuvres compte les reculs successifs : ajouter 1 à chaque recul, remettre à 0 quand le robot peut avancer ; si manœuvres = 3, faire un demi-tour (tourner plus longtemps, par exemple 1,5 s) puis remettre manœuvres à 0.La variable mémorise ce qui s'est passé aux tours précédents.Voir le corrigé
- losange — C'est un test à deux sorties.
- parallélogramme — Lecture d'une donnée d'entrée.
- recule — 14,9 < 15 est vrai.
- Réponse libre — exemple : quand le drapeau vert est cliqué ; répéter indéfiniment : si (distance < 15) alors reculer, attendre 1 s, tourner à droite, attendre 0,5 s ; sinon avancer. — Les retours en 2 forment la boucle « répéter indéfiniment ».
- Réponse libre — exemple : Une variable manœuvres compte les reculs successifs : ajouter 1 à chaque recul, remettre à 0 quand le robot peut avancer ; si manœuvres = 3, faire un demi-tour (tourner plus longtemps, par exemple 1,5 s) puis remettre manœuvres à 0. — La variable mémorise ce qui s'est passé aux tours précédents.
Difficile
Pb. 5 — La serre automatiséeCahier des charges : si la température dépasse 26 °C, le vasistas s'ouvre ; si elle descend sous 18 °C, le chauffage s'allume ; entre les deux, vasistas fermé et chauffage éteint. Programme d'un élève :
répéter indéfinimentsi (température > 26) alorsouvrir le vasistas ; éteindre le chauffagesinonallumer le chauffage ; fermer le vasistasTest à 30 °C : le comportement est-il conforme au cahier des charges ? (oui / non)
Vasistas ouvert, chauffage éteint.Test à 22 °C : le chauffage est (allumé ou éteint).
Le « sinon » regroupe toutes les températures jusqu'à 26 °C : c'est le bogue.Test à 26 °C (cas limite) : le vasistas est (ouvert ou fermé).
26 > 26 est faux ; pour le vasistas, c'est conforme.Réécris la partie conditionnelle pour respecter les trois cas du cahier des charges.
si (température > 26) alors ouvrir le vasistas, éteindre le chauffage ; sinon : si (température < 18) alors allumer le chauffage, fermer le vasistas ; sinon fermer le vasistas, éteindre le chauffage.Trois cas demandent deux tests imbriqués.Propose cinq températures de test pour vérifier ton programme corrigé, en justifiant le choix des cas limites.
10 °C (froid : chauffage), 18 °C (limite basse : rien ne doit s'allumer), 22 °C (zone neutre), 26 °C (limite haute : vasistas fermé), 31 °C (chaud : vasistas ouvert). Les valeurs 18 et 26 vérifient qu'on a bien écrit < et > et non ≤ et ≥.Tester chaque zone et chaque seuil.Voir le corrigé
- oui — Vasistas ouvert, chauffage éteint.
- allumé — Le « sinon » regroupe toutes les températures jusqu'à 26 °C : c'est le bogue.
- fermé — 26 > 26 est faux ; pour le vasistas, c'est conforme.
- Réponse libre — exemple : si (température > 26) alors ouvrir le vasistas, éteindre le chauffage ; sinon : si (température < 18) alors allumer le chauffage, fermer le vasistas ; sinon fermer le vasistas, éteindre le chauffage. — Trois cas demandent deux tests imbriqués.
- Réponse libre — exemple : 10 °C (froid : chauffage), 18 °C (limite basse : rien ne doit s'allumer), 22 °C (zone neutre), 26 °C (limite haute : vasistas fermé), 31 °C (chaud : vasistas ouvert). Les valeurs 18 et 26 vérifient qu'on a bien écrit < et > et non ≤ et ≥. — Tester chaque zone et chaque seuil.
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.
Soutien scolaire à Marseille · Cours particuliers au collège · Aide aux devoirs