ALGORITHME MGMT
I. Définir l'algorithme
Un algorithme 1 est le découpage d'un problème en une suite d'opérations
élémentaires et qui va permettre de résoudre ce problème.
A. Caractériser l'algorithme
Un algorithme est caractérisé par cinq éléments :
➢ Un ensemble d'étapes à exécuter,
➢ Le contenu de chaque étape (opération(s) à exécuter),
➢ L'ordre impératif de succession des différentes étapes,
➢ L'existence éventuelle de conditions (ou expressions logiques) déterminant
l'exécution ou la non-exécution de certaines étapes,
➢ Un début et une fin.
B. Notation algorithmique
Les actions ou opérations d'un algorithme sont décrites à l'aide de mots (verbes,
locutions, ...) respectant des règles syntaxiques et de présentation qui en facilitent
la compréhension. Toutes ces règles définissent la notation algorithmique.
Exemple : algorithme relatif au changement d'une roue exprimé en langage naturel.
ALGORITHME MGMT
Algo Changement de roue
Début
1. ouvrir le coffre
2. prendre la roue de secours
3. Si la roue de secours est crevée
4. Alors appeler un garagiste
Sinon
5. sortir le cric et la clé à boulons du coffre
6. dévisser légèrement les boulons avec la clé
7. Répéter
8. tourner la manivelle du cric
Jusqu'à ce que la roue crevée ne touche plus le sol
9. dévisser complètement les boulons
10. retirer complètement la roue endommagée
11. Répéter
12. tourner la manivelle du cric
Jusqu'à ce que la roue de secours puisse être placée
13. monter la roue de secours
14. visser les boulons
15 abaisser le véhicule avec le cric
16. visser fortement les boulons
17. Ranger le cric, la clé et la roue crevée
Fin si
18. fermer le coffre
Fin
Ce simple exemple permet de constater :
➢ que l'ordre des opérations est important. Il n'est guère possible
d'intervertir les opérations 5 et 6 par exemple.
➢ qu'une ou plusieurs opérations peuvent être dépendantes de conditions
(Si…Alors) ou bien répétées (Répéter…Jusqu'à).
Il faut compléter la définition d'un algorithme en précisant que les actions d'un
algorithme s'articulent à l'aide de structures de base qui sont :
ALGORITHME MGMT
✓ la structure séquentielle (ensemble d'opérations les unes à la suite des
autres) ;
✓ la structure conditionnelle (ensemble d'opérations soumises à une condition);
✓ la structure répétitive (ensemble d'opérations répétées un nombre fini de
fois).
Ces trois structures constituent les briques de base de tout algorithme et permettent
de résoudre n'importe quel problème, qu'il s'agisse de la simple addition de deux
nombres ou du pilotage d'un module lunaire.
Un programme est la représentation informatique d’un algorithme dans un langage
de programmation : les actions sont traduites en instructions.
II. Notion de constante et de variable
A. Objets
Un algorithme utilise des objets (objet constant ou variable).
Une constante est un objet qui ne peut pas être modifié dans l'algorithme.
Une variable est un objet appelé à subir des transformations au cours de
l'algorithme. Constante et variable se caractérisent par :
• Un identificateur ou un nom : appellation donnée à l'objet,
• Une valeur : c'est le contenu de l'objet. Cette valeur est susceptible
d'évoluer si l'objet est une variable.
• Un type : domaine dans lequel l'objet puise sa valeur. Le type détermine les
opérations que l'on peut appliquer à l'objet.
ALGORITHME MGMT
B. Types d'objet existants
Types d'objets Exemples de valeurs possibles
BOOLEEN ou LOGIQUE .VRAI./.FAUX.
DATE 4/4/2003 10 :10
NUMERIQUE :
ENTIER ou 88
REEL 12,345
CHAINE DE CARACTERES "Bonjour" "1774445555"
C. Convention syntaxique
Il faut nommer l'algorithme, le titre ou nom de l'algorithme résume l'objectif de
l'algorithme. Les mots clefs, constitutifs de la syntaxe de l'algorithme, sont indiqués
en gras.
Tout objet doit être déclaré avant son utilisation à l'aide des mots clefs Const et Var.
Les lignes de l'algorithme sont indentées (décalées) afin d'en faciliter la lecture.
Convention syntaxique
Algo Calcul_prix_de_vente_HT
Const Coefficient_de_marge=2,5
Var Prix_achat_HT, Prix_de_vente_HT : réel
Début
{ei2 : Coefficient_de_marge=2,5}
Afficher "Quel est le prix d'achat HT ?"
Saisir Prix_achat_HT
Prix_de_vente_HT := Prix_achat_HT * Coefficient_de_marge
Afficher "Le prix de vente HT est :", Prix_de_vente_HT
{ef3 : Prix_achat_HT, Prix_de_vente_HT affiché}
Fin
ALGORITHME MGMT
III. Expressions et opérateurs
Les variables et constantes peuvent être combinées entre elles au travers
d'opérateurs pour former des expressions. On distingue les expressions
arithmétiques et les expressions logiques.
• MontantHt x TauxTva est une expression arithmétique permettant de
calculer un montant T.T.C. à l'aide d'un opérateur arithmétique.
• Longueur > Largeur est une expression logique utilisant un opérateur
relationnel permettant de déterminer si la valeur de la variable Longueur
est supérieure à la valeur de la variable Largeur.
A. Expressions et opérateurs arithmétiques
Soit 20 la valeur de a et 2 la valeur de b :
Opérations Opérateu Exempl Résulta
rs es ts
Addition + a+b 22
Soustraction - a-b 18
Multiplication * a*b 40
Division / a/b 10
Elévation à la puissance ^ a^b 400
B. Expressions logiques
1. Opérateurs relationnels
Ils s'appliquent essentiellement aux objets de type entier, réel, caractère et
chaîne de caractères. Ainsi, il est possible de comparer des données de même
type entre elles pour savoir si elles sont égales, plus grandes ou plus petites. La
ALGORITHME MGMT
comparaison de deux chaînes de caractères est également possible et s'effectue
caractère par caractère, de gauche à droite. Le résultat est soit vrai (l'expression
logique est vérifiée) soit faux (l'expression logique n'est pas vérifiée).
Opérations Significations Exemples Résultats
= égal 20=10*2 vrai
<> différent de "A" <> "G" vrai
< inférieur 11<8 vrai
<= inférieur ou égal 20<=10*2 vrai
> supérieur 8>11 faux
>= supérieur ou égal "au revoir" >= faux
"bonjour"
2. Opérateurs logiques
Les expressions logiques peuvent être reliées à l'aide d'opérateurs logiques. Ci-
dessous, deux principaux opérateurs logiques :
Opérateur ET logique Opérateur OU logique
Vrai Vrai Vrai Vrai Vrai Vrai
Vrai Faux Vrai Vrai Faux Faux
Faux Vrai Vrai Faux Vrai Faux
Faux Faux Faux Faux Faux Faux
Exemples :
Expressions logiques Résultats Résultat
intermédiaires s
Vrai OU (Vrai ET Faux) Vrai OU (Faux) Vrai
(11 > 10) OU (20 > 18) Vrai OU Vrai Vrai
(8 >= 11) ET (88 > 68) Faux ET Vrai Faux
ALGORITHME MGMT
(11 = 11) ET ("Au revoir" < "Bonjour") Vrai ET Vrai Vrai
C. Expressions chaînes de caractères
L'opérateur & permet la concaténation de deux chaînes de caractères.
Exemples :
Expressions chaînes de caractères Résultats
"Henri " & "IV" Henri IV
"Nous sommes " & "le 20 Janvier 1998" Nous sommes le 20 janvier 1998
IV. Les instructions
A. Instruction d'affectation
Affecter, c'est donner une valeur à une variable.
L'instruction d'affectation permet de valoriser une variable à partir d'une
variable, d'une constante, d'un littéral, d'une expression arithmétique ou d'une
expression logique.
Le symbole utilisé est : = ou , l'affectation remplace la valeur de l'objet indiqué
à gauche du caractère.
Exemple d'une suite d'instructions d'affectation :
Total : = 1000 ou Total 1000
PrixHT : =Total PrixHT Total
TVA : = Total x 0,196 TVA Total x 0,196
PrixTTC : = PrixHT + TVA PrixTTC PrixHT + TVA
ALGORITHME MGMT
Après exécution de l'ensemble de ces instructions d'affectation,
Les variables Contiennent les valeurs :
Total 1 000
PrixHT 1 000
TVA 196
PrixTTC 1 196
B. Instruction d'entrée-sortie
Le rôle des instructions d'entrée-sortie est d'assurer la prise en compte et la
restitution d'informations à partir des organes d'entrée-sortie de l'ordinateur (clavier,
écran, imprimante…).
On distingue principalement :
➢ l'instruction d’acquisition ou d’entrée autorisant la saisie de l'information à
partir du clavier ;
➢ les instructions de sortie autorisant :
• l'affichage des informations à l'écran,
• l'impression des informations sur papier.
1. La saisie de données
L'instruction d'entrée Saisir autorise la saisie de données à partir du clavier. Un
message permet de guider l'utilisateur. Cette instruction sert principalement à
valoriser une ou plusieurs variables. Ainsi, l'utilisateur communique à l'ordinateur les
valeurs des objets.
Exemple :
ALGORITHME MGMT
saisir "Veuillez indiquer la valeur du
nombre : ", Nombre saisir "Veuillez
indiquer les paramètres a et b : ", A,B
Action : algorithme de base du fonctionnement de l'instruction Saisir
À la rencontre d'une instruction "saisir", le programme est interrompu.
➢ La chaîne de caractères est éventuellement affichée, pour guider l'utilisateur.
➢ Un curseur est affiché immédiatement après la chaîne (point clignotant).
➢ L'utilisateur entre au clavier la donnée.
➢ La saisie est terminée par l'appui sur la touche Envoi (Entrée).
➢ La(les) valeur(s) saisie(s) est(sont) affectée(s) à(aux) l'objet(s).
➢ Le déroulement du programme continue à l'instruction suivante.
2. La restitution des résultats
La restitution des résultats s'effectue à l'aide des instructions :
• Afficher : affichage des données à l'écran
• Imprimer : impression des données sur papier
Chacune des instructions peut indifféremment restituer le contenu d'une
constante, variable, expression numérique ou expression logique. Des messages sous
forme de chaînes de caractères permettent d'agrémenter la présentation des
informations. Les différentes informations sont séparées par des virgules.
Exemples:
afficher Total, Somme
imprimer "Le nom du client est : ", NomClient
ALGORITHME MGMT
IV. Les structures de base de l'algorithme
A. La structure séquentielle
Une séquence est constituée d'un ensemble d'actions à exécuter successivement sans
exception, dans un ordre défini, du début jusqu'à la fin.
Début
"Action 1"
…
"Action 2"
Fin
B. La structure conditionnelle :
1. L’alternative
Lorsque le traitement à effectuer est fonction d'une ou plusieurs conditions, il est
nécessaire d'utiliser une instruction conditionnelle.
La structure alternative partage une partie des actions à exécuter en deux ou
plusieurs sous- ensembles dont l'exécution se fait de manière exclusive.
Syntaxe Action
SI <expression logique> La sémantique de la structure alternative est la suivante
ALORS :
<instruction si vrai>
Quand <expression logique> est vraie, <instructions si
SINON
vrai> est exécutée et <instructions si faux> est ignorée.
<instruction si faux>
Par contre, quand <expression logique> est fausse, on
FIN SI
exécute
<instructions si faux> et on ignore <instructions si vrai>.
ALGORITHME MGMT
2. Le choix
Syntaxe Action
SELON La sémantique de la structure de choix est la suivante
CAS 1 : <Action1> :
CAS 2 : <Action2>
Quand <expression logique> du CAS 1 est vraie,
….
<Action 1> est exécutée et les cas 2 à N+1 sont ignorés.
CAS N : <ActionN>
Par contre, quand <expression logique> du CAS 1 est
fausse, on passe au CAS 2.
AUTRES CAS :<ActionN+1>
FIN SELON On teste l’expression logique comme précédemment
et ainsi de suite jusqu’à ce qu’une expression soit
vraie.
La structure de choix offre une meilleure lisibilité que l’expression par des
SI…ALORS…SINON… imbriqués.
C. La structure répétitive ou itérative
La structure répétitive permet de répéter un ensemble d'instructions jusqu'à ce
qu'une condition soit réalisée.
1. Tant que…Fin tant que
Syntaxe Action
Tant que <expression logique> On teste d'abord si <expression logique> est vraie. Dans ce
cas, on exécute <instructions> puis on boucle de nouveau sur
faire
le test de <expression logique>.
<instructions>
Par contre si <expression logique> est fausse, la boucle se
Fin tant que termine et le programme poursuit son exécution après "fin tant
que".
La boucle peut ne jamais être exécutée si l'"expression logique" n'est jamais vérifiée.
ALGORITHME MGMT
2. Répéter…Jusqu'à
Syntaxe Action
Répéter 1. Le bloc <instructions> est exécuté.
2. L'<expression logique> est testée.
<instructions>
3. Dans le cas où elle est égale à faux, on recommence
Jusqu'à <expression logique>
au point 1.
4. Dans le cas où elle est égale à vrai, le programme
poursuit son exécution après l'instruction "Jusqu'à".
3. Pour…Fin pour
Cette structure permet de répéter une action un nombre connu de fois.
Syntaxe Action
Pour <variable> 1. <variable> est une variable assimilée à un compteur qui est
de <expression début> automatiquement augmenté ou diminué en fonction de <incrément>.
à <expression fin> 2. Au début, <variable> prend la valeur de <expression début>.
pas de [<incrément>] 3. Le bloc d'instructions est exécuté jusqu'à ce que <expression début>
<instructions> prenne la valeur de <expression fin>.
Fin Pour 4. La valeur <variable> évolue de <expression début> jusqu'à
<expression fin> en fonction de <incrément> qui par défaut est égale à
1.
Dans cet algorithme, le pas de progression de l'indice k est implicitement 1.
ALGORITHME MGMT
D. Les structures modulaires
L'algorithmique modulaire consiste à découper un programme en modules généraux
qui sont développés "à part". On a donc un algorithme général qui va appeler les
différents modules. Cet algorithme général va être allégé et ne présenter que la
structure logique globale du programme sans être encombré par des instructions de
gestion d'affichage, de contrôle des saisies…
Cela va permettre une meilleure lisibilité, une facilité de maintenance (il est plus
facile de repérer les dysfonctionnements dans un module plutôt que dans un
programme général) et une certaine réutilisabilité des programmes (d'où des gains
de temps).
L'usage des fonctions et procédures représente la base de la programmation
structurée.
1. Un module
C'est une procédure (ou une fonction) réutilisable. Un module peut-être appelé
par autant de programmes que nécessaire. Cela évite de réécrire plusieurs fois le
même programme.
2. Une procédure
Une procédure représente une séquence d'instructions.
Une procédure ne retourne jamais de résultat. Toutefois, elle peut admettre des
arguments en "entrée" et éventuellement les modifier en "sortie".
C'est un sous programme à qui on fournit éventuellement des paramètres :
Exemple :
AFFICHER_MESSAGE ("insérer une disquette dans le lecteur ").
3. Une fonction
Une fonction est un sous-programme qui donne un résultat.
ALGORITHME MGMT
Exemple :
Cela pourrait être par exemple une fonction définie sous Excel du type Calc_frais
qui calculerait le montant de l’indemnité kilométrique en fonction du nombre de
kilomètres.(Cf. macro sous Excel).
Lors de son appel (demande d’exécution), la fonction est évaluée à partir des
arguments effectifs qui lui sont fournis et le résultat vient se substituer à son nom
dans l'expression appelante.
Appel de la fonction dans l’action Déclaration (description) de la
appelante fonction
... Fonction NomF(liste des arguments
Ecrire NomF(liste des arguments formels) :
effectifs) ou TypeFonction
... Données
NomVarNomF (liste des Action_1
arguments effectifs) ...
Action_N
Retourner expression
Fin fonction
Le mot réservé Retourner indique comment obtenir la valeur qui est renvoyée à
l'action appelante lorsque la fonction est exécutée.
VI. Les méthodes de production d'algorithmes
A. Validation et jeu d'essai
Une fois le programme écrit, il convient de s'assurer qu'il fonctionne correctement.
Pour cela, il est nécessaire de réaliser un jeu d'essai.
Dans ce jeu d'essai, on passe en revue tous les cas possibles et on indique les résultats
attendus.
ALGORITHME MGMT
Exemple de jeu d'essai :
Pour l'algorithme : Remboursement frais 3 :
Cas 1 2 3
Saisir le nom Dupont Durant Martin
Le nb de km 4 500 5 200 10 900
Valeurs 1 350 1 554 3 039
Résultats Les frais de déplacement de Les frais de déplacement de Les frais de déplacement de
attendus : Dupont s’élèvent à : 1 350. Durant s’élèvent à : 1 554. Martin s’élèvent à : 3 039.
Test
B. Contrôle et vraisemblance
Un utilisateur va contrôler que le programme fonctionne correctement. Muni du
jeu d'essai, il va tester le programme.
L'utilisateur lance le programme et simule tous les cas prévus dans le jeu d'essai.
Pour chaque cas, il vérifie que le résultat renvoyé par le programme est bien
conforme à celui qui était inscrit dans le jeu d'essai. Dans chaque cas, l'utilisateur
testeur indique sur le jeu d'essai le résultat du test.
Pour les programmes complexes, on peut prévoir plusieurs jeux d'essai, plusieurs
utilisateurs testeurs (en particulier pour les programmes devant fonctionner
simultanément pour plusieurs utilisateurs)…
Le jeu d'essai testé est remis au développeur qui effectuera éventuellement les
corrections.
C. Documentation et maintenance
Dès lors qu'un programme est complexe, il convient de l'accompagner
d'une documentation. On distingue trois catégories de documentation.
ALGORITHME MGMT
1. La documentation de spécification
C'est un document qui décrit le comportement attendu du programme. Il doit être
lisible et compréhensible par un utilisateur. Il est élaboré avant la phase de
développement par un informaticien (interviews) et approuvé par l'utilisateur
demandeur.
L'objectif de cette documentation est double :
Elle permet de définir ce que doit faire le programme avant de l'écrire.
Elle permet de définir le jeu d'essai.
2. La documentation technique
C'est un document qui décrit l'architecture du programme (algorithmes, fonctions,
procédures). Il est écrit par les informaticiens pour les informaticiens.
L'objectif de cette documentation est de pouvoir faciliter le transfert de
compétence entre le créateur du programme et un autre informaticien (et donc
d'assurer la maintenance).
3. Le manuel d'utilisation
C'est un document qui a pour but de permettre à un utilisateur qui ne connaît pas
l'application d'apprendre à s'en servir. Il est établi par l'informaticien. Il peut être
accompagné d'une aide en ligne, de supports de formation.