06 29 33 79 32 Je réserve ici
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
Ce cours de technologie en troisième sur « Algorithmique et programmation d'un système » suit le programme officiel de technologie de troisième. Il présente les définitions, les propriétés et les méthodes essentielles, accompagnées d'exemples résolus pour bien comprendre. Au programme : Algorithme et programme, Les variables, Les conditions : si… alors… sinon, Les boucles. Chaque notion est expliquée pas à pas, puis mise en pratique grâce à des exercices interactifs, un QCM et une évaluation corrigée. Idéal pour réviser à son rythme, combler ses lacunes et progresser, en autonomie ou avec un professeur. Cours rédigé par un professeur particulier à Marseille pour aider les élèves de troisième à réussir en technologie.
1

Algorithme et programme

Une porte de supermarché qui s'ouvre quand on approche, un robot aspirateur qui contourne un pied de chaise, un feu tricolore : ces systèmes obéissent à un programme, écrit à partir d'un algorithme.

Définitions. Un algorithme est une suite finie et ordonnée d'instructions qui décrit comment résoudre un problème ou obtenir un comportement attendu. Il s'écrit en langage courant ou sous forme d'algorigramme, sans dépendre d'une machine. Un programme est la traduction de cet algorithme dans un langage de programmation que la machine sait exécuter : langage par blocs (Scratch, mBlock, MakeCode…) ou langage textuel (Python…).

En technologie, le programme est téléversé dans la carte programmable du système (un microcontrôleur) : il s'exécute ensuite sans ordinateur, tant que la carte est alimentée. On parle de système embarqué.

Famille de blocsRôleExemple
Événementsdémarrer un scriptquand le drapeau vert est cliqué
Contrôleboucles, conditions, attentesrépéter 10 fois ; si … alors ; attendre 1 seconde
Opérateurscalculer, comparer, combiner des conditionstempérature > 25 ; … et …
Variablesmémoriser une valeurmettre compteur à 0
Extension de la cartelire un capteur, commander un actionneurvaleur du capteur de lumière ; allumer la LED
Attention ! L'ordre des instructions compte. « Allumer la LED, attendre 2 s, éteindre la LED » montre la LED pendant 2 s ; « allumer la LED, éteindre la LED, attendre 2 s » l'allume et l'éteint si vite qu'on ne voit rien.
2

Les variables

Définition. Une variable est un espace de la mémoire, repéré par un nom, qui contient une valeur pouvant changer pendant l'exécution du programme. Cette valeur peut être un nombre (une température, un nombre de places), un texte (« COMPLET ») ou un booléen (vrai / faux).
BlocEffetExemple
mettre … à …donne une valeur à la variable (affectation) ; l'ancienne valeur est effacéemettre vitesse à 50 : vitesse vaut 50
ajouter … à …augmente la valeur, ou la diminue si le nombre ajouté est négatifajouter -1 à places : places diminue de 1
variable dans un calcul ou un testlit la valeur sans la modifiersi (places = 0) alors …
Exemple : un compteur de visiteurs.
quand le drapeau vert est cliqué
mettre visiteurs à 0 (initialisation, une seule fois)
répéter indéfiniment
    attendre jusqu'à (passage détecté)
    ajouter 1 à visiteurs
    attendre jusqu'à (non passage détecté)
Après 3 passages, visiteurs vaut 3. La dernière attente évite de compter plusieurs fois la même personne.
Astuce. Choisis un nom explicite (places_libres plutôt que a) : le programme se relit et se corrige plus facilement.
Attention ! Une variable non initialisée garde la valeur de l'exécution précédente ; une initialisation placée dans une boucle remet la variable à sa valeur de départ à chaque tour.
3

Les conditions : si… alors… sinon

Structure conditionnelle. si (condition) alors … sinon … : le programme teste une condition. Si elle est vraie, il exécute le premier groupe d'instructions ; sinon, le second. Sans « sinon », rien n'est fait quand la condition est fausse. Une condition est une expression qui vaut soit vrai, soit faux.
OpérateurSensExemple
> / <strictement supérieur / inférieurluminosité > 70
=égalplaces = 0
etvrai seulement si les deux conditions sont vraies(porte ouverte) et (alarme activée)
ouvrai si au moins une des deux est vraie(bouton A appuyé) ou (bouton B appuyé)
noninverse la conditionnon (porte ouverte)
Exemple : le store automatique.
si (luminosité > 70) alors
    descendre le store
sinon
    remonter le store
Pour une luminosité de 70 % exactement, la condition est fausse : le store remonte.
Attention aux cas limites ! « > 70 » et « ≥ 70 » ne donnent pas le même résultat pour la valeur 70. Beaucoup de logiciels par blocs n'ont pas de bloc « ≥ » : on écrit alors non (luminosité < 70).
4

Les boucles

Boucle. Une boucle répète un groupe d'instructions. On en utilise trois formes, selon ce que l'on sait à l'avance.
BoucleQuand l'utiliserExemple
répéter n foisle nombre de répétitions est connufaire clignoter une LED 10 fois
répéter jusqu'à (condition)on s'arrête quand une condition devient vraieavancer jusqu'à ce qu'un obstacle soit à moins de 10 cm
répéter indéfinimentsurveiller en permanencetester sans arrêt le détecteur de présence d'une alarme
Exemple : un clignotant.
répéter 10 fois
    allumer la LED
    attendre 0,5 seconde
    éteindre la LED
    attendre 0,5 seconde
Un tour dure 0,5 + 0,5 = 1 s ; la boucle dure 10 × 1 = 10 s. Les blocs sans attente s'exécutent en un temps négligeable.
Attention ! Dans « répéter jusqu'à », la condition est testée avant chaque tour : si elle est déjà vraie au départ, le contenu de la boucle n'est jamais exécuté. Et si elle ne devient jamais vraie, la boucle ne s'arrête pas.
À savoir. Le programme d'un système embarqué se termine presque toujours par « répéter indéfiniment » : une alarme ou un thermostat doit surveiller ses capteurs tant qu'il est alimenté.
5

Événements et programmation d'un système

Événement. Un événement est un changement qui déclenche l'exécution d'une partie du programme : clic sur le drapeau vert, appui sur un bouton, réception d'un message, capteur qui franchit un seuil. En programmation par blocs, il se place en tête de script (bloc « chapeau » quand …).

Deux façons de réagir à un événement : un bloc chapeau (quand le bouton A est pressé), ou la scrutation : une boucle « répéter indéfiniment » qui interroge le capteur à chaque tour (si (bouton appuyé) alors …).

Programmer un système, c'est écrire le traitement de la chaîne d'information (vue au chapitre précédent) :

  • lire les entrées : un bouton ou un détecteur renvoie vrai / faux (signal logique) ; un capteur de température ou de luminosité renvoie un nombre ;
  • décider : conditions, variables, calculs ;
  • commander les sorties : allumer une LED, faire tourner un moteur dans un sens ou dans l'autre, émettre un son, afficher un message.
Exemple : la barrière d'un parking.
quand le drapeau vert est cliqué
répéter indéfiniment
    attendre jusqu'à (badge valide)
    ouvrir_barrière
    attendre jusqu'à (véhicule sous la barrière)
    attendre jusqu'à (non véhicule sous la barrière)
    attendre 2 secondes
    fermer_barrière
Méthode : décomposer en sous-problèmes. « Ouvrir la barrière » regroupe plusieurs instructions : faire tourner le moteur dans le sens ouverture, attendre le capteur de fin de course haut, arrêter le moteur. On en fait un bloc personnalisé ouvrir_barrière, écrit une fois et réutilisé : le programme principal reste court et lisible.
6

L'algorigramme

L'algorigramme (ou organigramme de programmation) représente un algorithme avec des symboles normalisés reliés par des flèches. Il se lit de haut en bas, en suivant les flèches.

SymboleSignificationExemple de contenu
ovale (rectangle aux bords arrondis)début ou finDébut
rectangleaction, traitementAllumer la lampe ; mettre n à 0
losangetest : une entrée, deux sorties « oui » et « non »Présence détectée ?
parallélogrammeentrée ou sortie de donnéesLire la luminosité ; afficher « COMPLET »
flèchesens de parcours ; une flèche qui remonte forme une boucle—
Traduire en blocs. Losange → si … alors … sinon (ou condition d'une boucle) ; flèche qui remonte sans fin → répéter indéfiniment ; parallélogramme de lecture → bloc capteur ; rectangle → bloc d'action.
7

Tester et corriger un programme

Bogue (bug). Erreur qui empêche le programme d'avoir le comportement attendu. En programmation par blocs, les erreurs de syntaxe sont rares (un bloc mal placé ne s'emboîte pas) : les bogues sont surtout des erreurs de logique, le programme s'exécute mais fait autre chose que prévu.
  1. Écrire le comportement attendu (cahier des charges).
  2. Préparer des tests : cas normaux, cas limites (valeur exactement au seuil, compteur à zéro, capteur qui reste activé), cas inattendus.
  3. Exécuter et comparer le résultat obtenu au résultat attendu.
  4. Localiser l'erreur : exécuter pas à pas, afficher la valeur des variables, dresser un tableau de suivi.
  5. Corriger une seule chose à la fois, puis refaire tous les tests.
Exemple de tableau de suivi. Programme : mettre n à 1 puis répéter 3 fois : mettre n à n × 2.
Momentn
avant la boucle1
après le tour 12
après le tour 24
après le tour 38
Bogues classiques. Oublier une attente (la LED clignote trop vite pour être vue) ; initialiser une variable dans la boucle ; se tromper de sens dans une comparaison ; compter plusieurs fois le même passage parce que le capteur reste activé ; boucle « jusqu'à » dont la condition ne devient jamais vraie ; oublier d'éteindre une sortie avant d'en allumer une autre.
En bref
  • Un algorithme décrit la suite ordonnée d'instructions ; le programme la traduit dans un langage (blocs, Python) et est téléversé dans la carte du système.
  • Une variable a un nom et une valeur qui change : on l'initialise (« mettre … à … ») avant la boucle, on la modifie (« ajouter … à … »).
  • si… alors… sinon teste une condition vraie ou fausse (>, <, =, et, ou, non) ; attention aux cas limites.
  • Boucles : répéter n fois (nombre connu), répéter jusqu'à (condition d'arrêt testée avant chaque tour), répéter indéfiniment (surveillance permanente).
  • Un événement déclenche un script ; le programme lit les capteurs, décide et commande les actionneurs.
  • Algorigramme : ovale = début/fin, rectangle = action, losange = test, parallélogramme = entrée/sortie.
  • Tester : comportement attendu, cas limites, tableau de suivi, une correction à la fois.
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