MyHEdison

Cinquième · Technologie · Chapitre 5

Programmer un objet technique : comprendre et modifier un programme

Ce que tu sauras faire

  • Repérer les entrées (capteurs, interface, fichiers) et les sorties (actionneurs, interface, fichiers) du programme associé à une fonctionnalité d'un objet technique.
  • Identifier les données utilisées et les données produites par un programme existant, et reconnaître une variable de type nombre, mot ou booléen.
  • Traduire un programme simple en un algorithme écrit en langage naturel, puis relire cet algorithme pour vérifier qu'il dit la même chose.
  • Reconnaître dans un programme, écrit en blocs ou en texte, les séquences, les événements, les variables, les conditions et les boucles.
  • Modifier les paramètres d'un programme, prévoir puis évaluer l'effet de chaque modification sur la fonctionnalité de l'objet.
  • Analyser un programme fourni, le tester avec des valeurs bien choisies et décider s'il répond au besoin, puis le modifier pour corriger un défaut.
  • Réaliser et mettre au point un programme simple qui commande un objet technique, en suivant la démarche écrire, tester, corriger.

Au programme du chapitre

  1. Un programme dans un objet technique : entrées et sorties
  2. Les données d'un programme : celles qu'il utilise, celles qu'il produit
  3. Du programme à l'algorithme : le raconter en français
  4. Les briques d'un programme : séquence, événement, condition, boucle
  5. Modifier les paramètres d'un programme et évaluer les effets
  6. Analyser un programme fourni et tester s'il répond au besoin
  7. Modifier un programme fourni pour répondre à un problème
  8. Réaliser et mettre au point un programme simple qui commande un objet
  9. Ce que tu sais faire maintenant

Exercices corrigés

Exercice 1

Le besoin du brumisateur d'une serre est : « il doit se déclencher quand l'humidité de l'air est de 60 % ou moins ». Le programme utilise le test « humidité plus petite que 60 ». Pour une humidité de 60 %, le brumisateur reste arrêté. L'objet est-il en panne ?
Un coup de pouce
Teste la valeur 60 elle-même et compare ce que demande le besoin avec ce que fait le programme.
Voir la correction pas à pas
Non, ce n'est pas une panne : aucune pièce n'est défectueuse. Le programme fait exactement ce qui est écrit : 60 n'est pas strictement plus petit que 60, donc le brumisateur ne se déclenche pas.
En revanche, il y a un défaut du programme par rapport au besoin : pour 60 %, le besoin demande le déclenchement (« 60 ou moins »). L'écart est sur le cas limite, pile sur la valeur du seuil. On le corrige en remplaçant « plus petit que » par « plus petit ou égal à ».
Moralité : une panne vient de l'objet, un défaut vient du programme. Avant de juger, relis le besoin, mot par mot.

Exercice 2

Tom teste le programme d'un distributeur de gel avec une seule situation : une main est détectée et le réservoir est plein. Le gel est distribué, comme prévu. Il conclut que le programme est correct. Le besoin est : « distribuer du gel seulement si une main est détectée et si le réservoir n'est pas vide ». Le programme utilise le mot « ou ». Que lui réponds-tu ?
Un coup de pouce
Écris les quatre situations possibles et compare, pour chacune, le besoin avec le programme.
Voir la correction pas à pas
Un seul test ne suffit pas. Il y a quatre situations à examiner :
• main détectée, réservoir plein : le gel doit être distribué ; avec « ou », il l'est (conforme) ;
• main détectée, réservoir vide : pas de gel attendu ; avec « ou », le programme distribue (défaut) ;
• pas de main, réservoir plein : pas de gel attendu ; avec « ou », il distribue (défaut) ;
• pas de main, réservoir vide : pas de gel ; avec « ou », il n'en distribue pas (conforme).
Tom n'a testé que la situation où le défaut ne se voit pas. Il faut tester toutes les situations, surtout celles où « et » et « ou » donnent des résultats différents.

Les pièges à éviter

  • Dire qu'un capteur est une sortie parce qu'il « envoie » une information.
  • Écrire un algorithme avec les mots de Python (if, :, guillemets), ou croire qu'algorithme et programme sont la même chose.
  • Lire le signe = d'une affectation comme une égalité de mathématiques.
  • Oublier de tester la valeur pile au seuil.

Pour aller plus loin

Le même thème dans d’autres classes

Technologie dans les autres classes

Réviser autrement