MyHEdison

Quatrième · Technologie · Chapitre 5

Programmer : comprendre, compléter et modifier un programme associé à une fonctionnalité

Ce que tu sauras faire

  • Décrire la fonctionnalité d'un OST par ses entrées (capteurs, commandes de l'utilisateur, fichiers), son traitement et ses sorties (actionneurs, affichages, fichiers).
  • Lire un programme, en blocs ou en texte, et le traduire en un algorithme en langage naturel, en le déroulant à la main avec un tableau de suivi.
  • Utiliser des variables de type mot, nombre ou booléen, et évaluer une expression avec les opérateurs arithmétiques et logiques ET, OU, NON.
  • Choisir et écrire une instruction conditionnelle (si, alors, sinon) ou une instruction itérative (répéter n fois, tant que, pour chaque), et éviter une boucle sans fin.
  • Stocker des données dans une liste, la parcourir, en tirer un total, une moyenne ou un maximum, et en déduire une modification du programme.
  • Expliquer ce qu'est un événement et comment il déclenche une séquence d'instructions.
  • Compléter et modifier un programme, le tester avec un plan de test (cas courants et valeurs limites) dans un environnement simulé, puis valider la modification par rapport à la fonctionnalité attendue.

Au programme du chapitre

  1. Une fonctionnalité, un programme : entrées, traitement, sorties
  2. L'algorithme en langage naturel : décrire avant de coder
  3. Les variables : mémoriser des valeurs
  4. Les booléens et les opérateurs logiques : ET, OU, NON
  5. L'instruction conditionnelle : décider selon une condition
  6. Les instructions itératives : répéter
  7. Les listes : stocker plusieurs données
  8. Les événements : quand quelque chose se passe, une séquence démarre
  9. Trois écritures du même programme : langage naturel, blocs, texte
  10. Comprendre, compléter, modifier, tester : la démarche complète

Exercices corrigés

Exercice 1

Dans un programme, on lit l'instruction n = n + 1. Un camarade proteste : « C'est impossible, un nombre ne peut pas être égal à lui-même plus 1 ! » Que réponds-tu ? Donne la valeur de n après l'instruction si n valait 3 avant.
Un coup de pouce
À droite du signe, on utilise l'ancienne valeur ; à gauche, on range la nouvelle.
Voir la correction pas à pas
Il confond deux sens du signe =. En mathématiques, = affirme une égalité, et « n = n + 1 » n'aurait aucune solution. En programmation, = est une affectation : elle se lit « n prend la valeur ».
La machine calcule d'abord le membre de droite avec l'ancienne valeur de n : 3 + 1 = 4. Elle range ensuite ce résultat dans n. Après l'instruction, n vaut 4.
Cette instruction est très utile : elle permet de compter, en ajoutant 1 à chaque passage dans une boucle.

Exercice 2

Une barrière de parking doit s'ouvrir si le conducteur présente un badge valide ou si le gardien appuie sur son bouton. Quel opérateur logique relie les deux conditions ? Que se passerait-il avec l'autre opérateur ? Et si le badge est valide et que le gardien appuie en même temps ?
Un coup de pouce
Cherche dans quels cas la barrière doit s'ouvrir, puis demande-toi si chaque cas est couvert.
Voir la correction pas à pas
L'opérateur est OU : une seule des deux conditions suffit pour ouvrir.
Avec ET, il faudrait un badge valide et l'appui du gardien en même temps. Le gardien ne pourrait plus ouvrir à un visiteur sans badge, et un abonné ne pourrait plus entrer sans le gardien : la fonctionnalité ne serait plus remplie.
Si les deux conditions sont vraies à la fois, la barrière s'ouvre aussi, parce que le OU logique est inclusif : il est vrai quand l'une, l'autre ou les deux sont vraies.

Les pièges à éviter

  • Confondre = et == dans une condition.
  • Croire que OU exclut le cas où les deux conditions sont vraies.
  • Écrire une condition vague : « quand il fait trop chaud », « si ça dure longtemps ».
  • Tester l'égalité avec une mesure décimale : « si température == 28 ».

Pour aller plus loin

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

Technologie dans les autres classes

Réviser autrement