Cours:TpAlgorithmique : Différence entre versions
(→boucle "tant que") |
(→boucle "répéter" ou "tant que") |
||
Ligne 147 : | Ligne 147 : | ||
**puis allumer led rouge broche 5 | **puis allumer led rouge broche 5 | ||
− | ===boucle "répéter" ou "tant que"=== | + | ===boucle "répéter tant que" ou "tant que faire"=== |
+ | |||
+ | Lorsque le nombre de répétitions n'est pas connu à l'avance, on utilise l'une des 2 structures suivantes : | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | "répéter" | ||
+ | '''répéter''' | ||
+ | exécuter <tels actions> | ||
+ | '''tant que''' condition est vraie | ||
+ | || "tant que" | ||
+ | '''tant que''' condition est vraie | ||
+ | '''faire''' | ||
+ | exécuter <tels actions> | ||
+ | '''finFaire''' | ||
+ | |} |
Version du 7 septembre 2023 à 13:53
Un algorithme est une suite ordonnée d'instructions permettant la résolution d'un problème.
On écrira les algorithmes de la façon suivante :
- on commencera par donner le nom de l'algorithme
- on listera ensuite les variables utilisées
- on listera ensuite les instructions a effectuer entre :
- debut
- fin
algorithme nomDeAlgorithme <liste des variables> debut <liste des instructions> fin
Sommaire
entrées/sorties
un algorithme devra nécessairement interagir avec l'extérieur par :
- des lectures
- clavier
- bouton poussoir
- mesure de température
- =>capteurs
- des écritures
- afficher à l'écran
- imprimer
- allumer un voyant
- faire tourner un moteur
- =>actionneurs
sorties
Exemple :
algorithme ex1 debut allumer led rouge fin
écrire des algorithmes qui répondent aux cahiers des charges suivants :
Attention, une sortie restera dans le dernier état dans laquelle on l'a placée
- allumer une led rouge 1 fois pendant 5s
- allumer successivement une led rouge puis orange puis verte, chacune pendant 3s
entrées
afin de mémoriser la valeur lue des entrées, nous utiliserons des variables en précisant leur type :
- binaire : valeur vrai ou faux
- entier : pour représenter ... des nombres entiers !
- reel
- texte
Ex :
algorithme ex2 Entier : etatBouton debut etatBouton <- lire bouton broche 2 afficher etatBouton fin
Structures de contrôle
action conditionnelle
Nous avons vu qu'un algorithme est une liste d'actions exécutées séquentiellement.
Afin d'avoir des programmes qui ne réalisent pas systématiquement les mêmes actions, il est nécessaire de pouvoir choisir parmi plusieurs actions à réaliser.
structure si/alors/sinon
Cette structure permet de réaliser tels ou tels actions selon la valeur d'une condition :
si <condition est réalisée> alors exécuter <tels actions> sinon exécuter <tels autres actions>
Exemple :
algorithme ex3 binaire boutonAppuyé debut boutonAppuyé <- lire bouton broche 5 si boutonAppuyé est vrai alors allumer la led rouge broche 3 sinon eteindre la led rouge broche 3 fin
écrire des algorithmes qui répondent aux cahiers des charges suivants :
- allumage de lampadaires
- https://fr.wikipedia.org/wiki/Lumière_du_jour#éclairement_lumineux
- un capteur de lumière positionné sur la broche 10 retourne la valeur d'éclairement en lux
- on allume le lampadaire sur la broche 5 lorsqu'il fait nuit (éclairement inférieur à 2 lux)
- affichage de la température
- on dispose de 2 leds :
- bleue broche 2
- rouge broche 4
- d'un capteur de température broche 5 qui donnera la température en °C
- le capteur mesure la température du bain pour un bébé
- la led bleue s'allume si le bain est trop froid : 36°C
- la led rouge s'allume si le bain est trop chaud : 37,5 °C
- on dispose de 2 leds :
structure si/alors/sinon si/sinon
Lorsqu'il existe plus de 2 choix, on peut ajouter des cas supplémentaires :
si <condition est réalisée> alors exécuter <tels actions> sinon si <autre condition> exécuter <tels actions> sinon si <encore une autre condition> exécuter <tels actions> sinon exécuter <tels autres actions>
Reprenons l'exercice précédent en ajoutant une led :
- une led bleue indique une température froide : moins de 36°C
- une led verte indique une température correcte : entre 36°C et 37,5°C
- une led rouge indique une température chaude : au dessus de 37,5°C
structure répétitive
boucle "pour"
Lorsque le nombre de répétitions est connu à l'avance, on utilise la structure de répétition pour.
Cela permet de répéter un nombre de fois déterminé des actions :
pour <variable> de <mini> a <maxi> faire exécuter <tels actions> finPour
écrire des algorithmes qui répondent aux cahiers des charges suivants :
- Faire clignoter 5 fois en 1s une led sur la broche 3
- Répéter 10 fois :
- allumer led verte broche 3
- puis allumer led orange broche 4
- puis allumer led rouge broche 5
boucle "répéter tant que" ou "tant que faire"
Lorsque le nombre de répétitions n'est pas connu à l'avance, on utilise l'une des 2 structures suivantes :
"répéter"
répéter exécuter <tels actions> tant que condition est vraie |
"tant que"
tant que condition est vraie faire exécuter <tels actions> finFaire |