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
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.
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 blocs | Rôle | Exemple |
|---|---|---|
| Événements | démarrer un script | quand le drapeau vert est cliqué |
| Contrôle | boucles, conditions, attentes | répéter 10 fois ; si … alors ; attendre 1 seconde |
| Opérateurs | calculer, comparer, combiner des conditions | température > 25 ; … et … |
| Variables | mémoriser une valeur | mettre compteur à 0 |
| Extension de la carte | lire un capteur, commander un actionneur | valeur du capteur de lumière ; allumer la LED |
Les variables
| Bloc | Effet | Exemple |
|---|---|---|
mettre … à … | donne une valeur à la variable (affectation) ; l'ancienne valeur est effacée | mettre vitesse à 50 : vitesse vaut 50 |
ajouter … à … | augmente la valeur, ou la diminue si le nombre ajouté est négatif | ajouter -1 à places : places diminue de 1 |
| variable dans un calcul ou un test | lit la valeur sans la modifier | si (places = 0) alors … |
quand le drapeau vert est cliquémettre visiteurs à 0 (initialisation, une seule fois)répéter indéfinimentattendre jusqu'à (passage détecté)ajouter 1 à visiteursattendre 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.
places_libres plutôt que a) : le programme se relit et se corrige plus facilement.Les conditions : si… alors… sinon
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érateur | Sens | Exemple |
|---|---|---|
> / < | strictement supérieur / inférieur | luminosité > 70 |
= | égal | places = 0 |
et | vrai seulement si les deux conditions sont vraies | (porte ouverte) et (alarme activée) |
ou | vrai si au moins une des deux est vraie | (bouton A appuyé) ou (bouton B appuyé) |
non | inverse la condition | non (porte ouverte) |
si (luminosité > 70) alorsdescendre le storesinonremonter le storePour une luminosité de 70 % exactement, la condition est fausse : le store remonte.
non (luminosité < 70).Les boucles
| Boucle | Quand l'utiliser | Exemple |
|---|---|---|
répéter n fois | le nombre de répétitions est connu | faire clignoter une LED 10 fois |
répéter jusqu'à (condition) | on s'arrête quand une condition devient vraie | avancer jusqu'à ce qu'un obstacle soit à moins de 10 cm |
répéter indéfiniment | surveiller en permanence | tester sans arrêt le détecteur de présence d'une alarme |
répéter 10 foisallumer la LEDattendre 0,5 secondeéteindre la LEDattendre 0,5 secondeUn 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.
Événements et programmation d'un système
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.
quand le drapeau vert est cliquérépéter indéfinimentattendre jusqu'à (badge valide)ouvrir_barrièreattendre jusqu'à (véhicule sous la barrière)attendre jusqu'à (non véhicule sous la barrière)attendre 2 secondesfermer_barrièreouvrir_barrière, écrit une fois et réutilisé : le programme principal reste court et lisible.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.
| Symbole | Signification | Exemple de contenu |
|---|---|---|
| ovale (rectangle aux bords arrondis) | début ou fin | Début |
| rectangle | action, traitement | Allumer la lampe ; mettre n à 0 |
| losange | test : une entrée, deux sorties « oui » et « non » | Présence détectée ? |
| parallélogramme | entrée ou sortie de données | Lire la luminosité ; afficher « COMPLET » |
| flèche | sens de parcours ; une flèche qui remonte forme une boucle | — |
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.Tester et corriger un programme
- Écrire le comportement attendu (cahier des charges).
- Préparer des tests : cas normaux, cas limites (valeur exactement au seuil, compteur à zéro, capteur qui reste activé), cas inattendus.
- Exécuter et comparer le résultat obtenu au résultat attendu.
- Localiser l'erreur : exécuter pas à pas, afficher la valeur des variables, dresser un tableau de suivi.
- Corriger une seule chose à la fois, puis refaire tous les tests.
mettre n à 1 puis répéter 3 fois : mettre n à n × 2.| Moment | n |
|---|---|
| avant la boucle | 1 |
| après le tour 1 | 2 |
| après le tour 2 | 4 |
| après le tour 3 | 8 |
- 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.
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