Vous êtes sur la page 1sur 5

Niveau : 1ère/Tale S-SI C.I.

: 11
Cours : Algorithmique

" Un algorithme est une suite finie de règles à appliquer dans un ordre déterminé à un nombre fini de
données pour arriver, en un nombre fini d'étapes, à un certain résultat, et cela indépendamment des données.
"
Tout programme fourni à l'ordinateur n'est que la traduction dans un langage de programmation d'un
algorithme mis au point pour résoudre un problème donné. Pour obtenir un bon programme, il faut partir d'un
bon algorithme. Il doit, entre autres, posséder les qualités suivantes :

- être clair, facile à comprendre par tous ceux qui le lisent (structure et documentation)
- présenter la plus grande généralité possible pour répondre au plus grand nombre de cas possibles
- être d'une utilisation aisée même par ceux qui ne l'ont pas écrit
- être conçu de manière à limiter le nombre d'opérations à effectuer et la place occupée en mémoire.

Il existe trois familles de structures algorithmiques :


- La structure linéaire, qui est caractérisée par une suite d'action à exécuter successivement
- La structure alternative, qui est liée à une condition (Si ... Alors.... Sinon )
- La structure itérative (Répéter.... Jusqu'à )

Cette description peut être faite sous forme graphique (algorigramme).


l'organigramme est un diagramme orienté (la flèche descendante n’est pas obligatoire, elle est implicite)

Début ou fin Préparation du travail


Initialisation des données Entrée/Sortie
de programme
d’informations

Opération ou traitement Sous-programme


Décision
(condition
vraie ?)

1. Structure linéaire

On exécute successivement une suite d'action dans l'ordre de leur énoncé.


Algorigramme Notation algorithmique
Début Début
Action 1
Action 1 Action 2
Fin
Action 2

Fin

Agori.doc Lycée Jules Ferry Versailles Page 1 sur 5


2. Structures alternatives

Structure SI…ALORS…SINON…
Cette structure offre le choix entre deux séquences s'excluant mutuellement.
Exemple en langage C :
Algorigramme Notation algorithmique
if (condition)
Si condition {
Alors séquence A SéquenceA();
fausse Sinon séquence B
condition }
else
Fin Si
vraie {
SéquenceB();
SéquenceA SéquenceB
}

Remarque :
La structure peut se limiter à SI…ALORS, si la condition est vrai on
exécute la séquence A si elle est fausse on quitte la structure sans
exécuter de séquence. fausse
condition

vraie
Séquence

3. Structures répétitives (ou itératives)

Structure FAIRE…JUSQU'À
La séquence est exécutée au moins une fois, elle est répétée tant qu'elle est vraie.

Algorigramme Notation algorithmique Exemple en langage C :


Faire do
Séquence {
Séquence Séquence;
Jusqu'à condition fausse
}
while (condition);
fausse
condition

vraie

Agori.doc Lycée Jules Ferry Versailles Page 2 sur 5


Structure TANT QUE…FAIRE
On teste d'abord la condition la séquence est exécutée tant que la condition est vraie.
Notation algorithmique Exemple en langage C :
Algorigramme
Tant que Condition vraie
while (condition)
Faire Séquence
{
Fin Tant que séquence;
}
fausse
Condition

vraie

Séquence

Structure POUR…FAIRE
On connaît le nombre d'itération
Algorigramme Notation algorithmique Exemple en langage C :
Pour variable de 1 à N For (i=1; i<N; i++)
Variable = 1 Faire Séquence {
Séquence;
Fin Pour }

fausse
Variable < N
?

vraie

Séquence

Variable = Variable + 1

Agori.doc Lycée Jules Ferry Versailles Page 3 sur 5


Exemple : On désire réaliser un jeu de lumières en connectant une série de huit LED sur le port B d’un
microcontrôleur. Un contact est connecté sur le bit 0 du port A (PA0). Si le contact est fermé, on visualise un
chenillard et s’il est ouvert, les LED impaires clignotent.

Début

Lire l’état du
contact

Contact
fermé ?

Chenillard Clignote

Clign
Chenil

Allumer les
Allumer
N = 1 la LED impaires
1er LED

Allumer la Tempo
Nième LED

Eteindre les
LED
Tempo

Tempo
N = N+1

Retour

N=9
?

Retour

Agori.doc Lycée Jules Ferry Versailles Page 4 sur 5


Programmation sous Flowcode

Sur http://ressource.electron.free.fr/,
dans la rubrique TP, puis Microcontrôleur,
faire les exercices : TP feux tricolore, TP
interruption et TP afficheur LCD.

Agori.doc Lycée Jules Ferry Versailles Page 5 sur 5