Académique Documents
Professionnel Documents
Culture Documents
Algorithmique 3
Introduction
Les organigramme
Notion d’algorithme
Problèmes :
Notion d’algorithme
Exécution d’un algorithme :
Comprendre le problème.
Dégager les données en entrée.
Dégager les données en sortie.
Formaliser la solution trouvée par un algorithme.
Introduction
Langage naturel
Introduire le premier nombre A
Introduire le deuxième nombre B
Faire l’addition A+B et mettre le résultat dans C
Afficher C
Introduction
Les constantes : une constante est un objet qui a un nom fixe, un type fixe,
et une valeur fixe.
Les variables : une variable est un objet qui a un nom fixe, un type fixe, et
une valeur variable.
Introduction
Algorithme addition
Constante
pi = 3.14
Variable
A : réel
B5 : entier
Structure d’un algorithme
Le type entier :
Désigne les nombres entiers. (ex: 2, +2, -30)
Le type réel :
Désigne les nombres réels. (ex: 2.5, +12.55, 2E5)
Le type caractère :
Désigne l’ensemble des lettres alphabétiques majuscules et minuscules, les
chiffres, les caractères spéciaux (ex: ‘?’, ‘!’, ‘)’, ‘*’,…) et le caractère espace.
Les expressions
Il y a deux sortes d’expressions : les expressions arithmétiques et les
expressions logiques.
L’évaluation d’une expression repose sur les règles de priorité entre opérateurs
(il faut noter que ces règles de priorité diffèrent selon le langage de
programmation utilisé).
Structure d’un algorithme
Les expressions
La liste des opérateurs : du plus prioritaire au moins prioritaire
Opérateurs arithmétiques : *, /
Opérateurs arithmétiques : +, -
Opérateurs de relation : <, ≤, >, ≥, =, ≠
L’opérateur logique : non
L’opérateur logique : et
L’opérateur logique : ou
Structure d’un algorithme
Les expressions
Remarques :
Pour les opérateurs de même priorité l’expression est évaluée de gauche à
droite.
S’il y a des parenthèses on commence par évaluer les plus internes.
Pour déterminer le type d’une expression il faut vérifier sa syntaxe (la façon
d’écriture).
Structure d’un algorithme
Syntaxe :
// Mettre les commentaires ici en une seule ligne
{ Mettre les commentaires ici en multi-lignes }
Structure d’un algorithme
Syntaxe :
Si conditions alors
L'action ou les actions <actions> s'exécutent
actions; lorsque la condition <conditions> est vraie.
FinSi Rien ne s'exécute lorsque la condition <conditions>
est fausse.
Les structures de contrôle
Actions conditionnelles
Exemple 1 :
On veut calculer la moyenne générale d’un étudiant connaissant son nom et
prénom et ses 2 notes : Contrôle continue et EMD.
Notation :
Si conditions alors
actions1; L'action <actions1> s'exécute lorsque la condition
Sinon <condition> est vraie.
actions2; L'action <actions2> s'exécute lorsque la condition
<conditions> est fausse.
FinSi
Les structures de contrôle
Actions conditionnelles alternée
Exemple 2 :
On veut calculer la moyenne générale d’un étudiant connaissant son nom et
prénom et ses 2 notes : Contrôle continue et EMD.
Syntaxe : Explication :
Selon sélecteur faire Si le sélecteur vaut valeur1, alors on exécute le
valeur 1 : <Traitement1> traitement1 et on quitte la structure Selon.
valeur 2 : <Traitement2>
Si le sélecteur et différent de valeur1, on évalue la
……
valeur2 ... et ainsi de suite.
valeur N : <Traitement N>
Sinon Si aucune n'est vraie on effectue l'action sinon
<Traitement R> (au cas où l'action sinon n'existe pas alors aucune
Fin selon action n'est exécutée !).
Structure à choix multiples
Structure SELON
Exemple 4 :
Écrire un algorithme qui à partir d’un nombre
compris entre 1 et 7 affiche le jour correspondant ?
Structure à choix multiples
Structure SELON
Algorithme jours_semaine
Var jour : réel
Début
Écrire (" Saisir une valeur : ")
Lire (jour)
SELON jour faire
1 : Écrire ("Lundi")
2 : Écrire ("Mardi")
3 : Écrire ("Mercredi")
4 : Écrire ("Jeudi")
5 : Écrire ("Vendredi")
6 : Écrire ("Samedi")
7 : Écrire ("Dimanche")
Sinon : Écrire ("Jour invalide")
Fin SELON
Fin
Structure à choix multiples
Structure SELONQUE
La structure SELONQUE permet d'effectuer tel ou tel traitement en fonction de la valeur
des conditions 1 ou 2 ou ... n.
Syntaxe : Explication :
SELONQUE Si la condition 1 est vraie, alors on exécute l'action
<condition 1> : <action 1> correspondante et on quitte la structure selon-que
<condition 2> : <action 2> Si la condition 1 est fausse, on évalue la condition 2 ...
... et ainsi de suite.
<condition n> : <action n> Si aucune n'est vraie on effectue l'action sinon ( au cas
Sinon : <action_sinon> où l'action sinon n'existe pas alors aucune action n'est
Fin SELONQUE exécutée !).
Structure à choix multiples
Structure SELONQUE
Exemple 5 :
Écrire un algorithme qui à partir d’une note affiche la mention correspondant ?
Structure à choix multiples
Structure SELONQUE
Algorithme mention
Var note : réel
Début
Écrire (" Saisir une note : ")
Lire (note )
SELONQUE
note <10 : Écrire ("Non admin")
note <12 : Écrire ("passable")
note <14 : Écrire ("assez bien")
note <16 : Écrire ("Bien")
note <18 : Écrire ("très bien")
note <=20 : Écrire ("Excellent")
SINON : Écrire ("Note invalide")
Fin SELONQUE
Fin
Les structures répétitives
Les boucles
On appelle boucle ou structure itérative tout ensemble d’instructions qui peut être
exécuté plusieurs fois.
Syntaxe :
Explication :
Répéter L’action dans cette boucle est toujours exécutée au
Actions moins une fois.
jusqu’à condition Les instructions encadrées par les mots répéter et
jusqu’à constitue le bloc de la boucle qu’il faut répéter
jusqu’à ce que la condition soit vérifiée.
Les structures répétitives
La boucle « Répéter … jusqu’à »
Exemple 6 :
Écrire un algorithme qui définit un mot secret, et après il lit jusqu'à ce que
l'utilisateur trouve ce mot.
Les structures répétitives
La boucle « Répéter … jusqu’à »
Algorithme secret
Var MotDePasse, Saisie : chaîne de caractère
Début
MotDePasse = "secret"
Répéter
Écrire (" Saisir un mot de passe : ")
Lire (Saisie)
jusqu’à Saisie = MotDePasse
Fin
Les structures répétitives
La boucle « Tant que … faire »
Dans cette structure, on commence par tester une condition, si elle est vérifiée, le
traitement est exécuté.
Syntaxe :
Explication :
Tant que condition faire L’action dans cette boucle peut ne jamais être exécutée.
Actions Les
Fin Tant que
Les structures répétitives
La boucle « Tant que … faire »
Exemple 7 :
Écrire un algorithme qui demande son
prénom à l’utilisateur tant qu’il ne donnera
pas une réponse non vide
Les structures répétitives
La boucle « Tant que … faire »
Algorithme prénom
Var Prenom : chaîne de caractère
Début
Prenom = " "
Répéter TANT QUE Prenom = " " FAIRE
Écrire (" Votre prénom ? ")
Lire (Prenom )
FINTANTQUE
Fin
Les structures répétitives
La boucle « Pour »
Cette structure est utilisée lorsqu’on sait exactement combien de fois on doit répéter un
traitement. Donc, la boucle s’arrête si le nombre souhaité d’itérations est atteint.
Syntaxe :
Sa valeur initiale,
Sa valeur finale,
Son pas de variation.
Si la valeur initiale de l’indice est inférieure à sa valeur
finale le pas de variation est positif et la structure est dite
« croissante ».
Dans le cas contraire, le pas est négatif et la structure est
dite « décroissante ».
Les structures répétitives
La boucle « Pour »
Exemple 8 :
Écrire un algorithme qui
compte jusqu’à 100.
Les structures répétitives
La boucle « Pour »
Algorithme compte
Variable
n , p : entier
Début
Pour i de 1 à 100 /* équivalent à : pour i de 1 à 100 pas 1 */
Écrire (i)
Fin Pour
Fin
Les structures répétitives
La boucle imbriquées
On parle de boucles imbriquées lorsqu’une boucle contient elle-même une autre boucle.
Les deux boucles peuvent être les mêmes ou différentes.
Syntaxe :
Pour variable1 de début à fin pas m
Actions1 Remarque :
Pour variable2 de début à fin pas n Des boucles peuvent être successives
Actions2 ou imbriquées, mais elles ne peuvent
Fin Pour jamais être croisées.
Fin Pour
Les structures répétitives
La boucle imbriquées
Organigramme
Introduction
Un organigramme (ou algorigramme, lorsqu'il est plus particulièrement
appliqué à l'algorithmique) est une représentation graphique normalisée, utilisée
pour analyser ou décoder un problème.
Organigramme
Symboles
Il est clair, mais peu adapté aux systèmes complexes.
Symboles
Début, fin, interruption
Le cas de l'interruption ne sera pas vu au sein de ce cours.
Organigramme
Symboles
Traitement
Opération ou groupe d'opérations sur des données, etc.
Organigramme
Symboles
Entrée / Sortie
Mise à disposition d'une information à traiter ou enregistrement d'une
information traitée. Pour simplifier la première approche, nous considérerons
dans un premier temps que cet élément est utilisé lors d'une entrée ou sortie du
système étudié. Par exemple, un capteur fait partie du système, mais la
grandeur captée en est extérieure.
Organigramme
Symboles
Sous-programme
Portion de programme considérée comme une simple opération.
Organigramme
Symboles
Embranchement (choix)
Test, question qui implique un choix.
Début
Action A
Action B
Action C
…
Fin
Organigramme
Relation entre algorigramme et pseudo-code
Structure alternative (Si … alors … sinon … )
Elle propose un choix ; une condition va entraîner telle ou telle réaction du
système. Cette structure peut intégrer des portions de structures linéaires.
Si condition 1 alors
Action D
Sinon
Action E
FinSi
Organigramme
Relation entre algorigramme et pseudo-code
Structure alternative (Si … alors)
Il s'agit de la même structure que précédemment, mais la partie « SINON ... »
est omise ; il en résulte un choix non pas entre deux actions, mais entre
l'exécution d'une action ou non.
Si condition 2 alors
Action F
FinSi
Organigramme
Relation entre algorigramme et pseudo-code
Structure itérative
La structure itérative, aussi appelée structure répétitive, permet par exemple de
répéter une action jusqu'à ce qu'une condition soit validée. Elle intègre de facto
une structure alternative, et éventuellement des structures linéaires.
Organigramme
Relation entre algorigramme et pseudo-code
Structure itérative (Répéter … jusqu’à )
L'action est exécutée au moins une fois. Le nombre d'exécutions de la boucle
est inconnu et / ou variable.
Syntaxe :
Répéter
Action G
jusqu’à condition 3
Organigramme
Relation entre algorigramme et pseudo-code
Structure itérative (Tantque … Faire)
L'action n'est pas forcément exécutée. Le nombre d'exécutions de la boucle est
inconnu et / ou variable.
Syntaxe :
Syntaxe :
Symboles annexes
Renvoi
Permet d'améliorer la lisibilité d'un algorigramme. Il y a
forcément un nombre pair de renvois au sein d'un
organigramme.
Commentaire
Permet d'expliciter un comportement grâce à un
commentaire.