Académique Documents
Professionnel Documents
Culture Documents
Remarque:
Le "langage algorithmique" que nous utilisons est un
compromis entre un langage naturel et un langage de
programmation.
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
I.4 Propriétés
L’algorithme doit tenir compte de tous les cas possibles:
Il traite le cas général et les cas particuliers (possibles).
Il contient toujours un nombre fini d’actions.
Chaque action doit être définie avec précision: sans aucune difficulté.
Analyse
Données résultats
Langage de
programmation
Formulation de l’Algorithme (code)
Suite des opérations à effectuer
pour résoudre le problème Compilateur
Phase de Programmation
Compilation et Editions des liens Langage
machine
Exécution par l’ordinateur
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
III. EXEMPLES D’ALGORITHME
Exemple 1:
Calcul des racines d’un polynôme du second degré à coefficients réels:
ax2 bx c 0 (a,b,c) R
1. Saisir les valeurs de (a, b, c)
Instruction n
Délimité par
Fin
Début et Fin
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
VI. ACTIONS DE BASE DANS UN ALGORITHME
VI.1 Notions connues par l’ordinateur
A. Les variables
Dans un programme informatique, on va avoir en
permanence besoin de stocker provisoirement des valeurs de
types différents: d’où utilisation de variables
Une variable est une entité qui contient une information, elle possède
un nom, on parle aussi d’identifiant ou identificateur
une valeur
un type qui caractérise l’ensemble des valeurs que peut prendre
la variable
Type de variable
entier pour manipuler des entiers
réel pour manipuler des nombres réels
booléen pour manipuler des valeurs booléennes
caractère pour manipuler des caractères alphabétiques et
numériques
chaîne pour manipuler des chaînes de caractères
permettant de représenter des mots ou des phrases.
Variables
Type_de_variable Nom_variable
Remarque:
Un nom de variable correct commence impérativement par
une lettre.
Comporte des lettres et des chiffres, mais qui exclut la
plupart des signes de ponctuation, en particulier les
espaces.
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
A. Les variables (suite)
Une variable peut être :
Donnée :
Variable nécessaire pour faire fonctionner un
algorithme.
Exemple : PI =3.14, a=1.2
Résultat :
Résultat d'un calcul: c = PI+a
Auxiliaire :
Sert à stocker des informations temporaires, à
faire des calculs ou à faire fonctionner des
structures de contrôle.
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
B. Opérateur, opérande et expression
C= a + b
a Non a a b a et b
vrai Faux vrai vrai vrai
Faux vrai vrai Faux Faux
Faux vrai Faux
Faux Faux Faux
a b a ou b a b a ouExclusif b
vrai vrai vrai vrai vrai Faux
vrai Faux vrai vrai Faux vrai
Faux vrai vrai Faux vrai vrai
Faux Faux Faux Faux Faux Faux
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
B.3 Les opérateurs sur les numériques
On retrouve tout naturellement : +, -, *, /
Avec en plus pour les entiers div et mod, qui permettent
respectivement de calculer une division entière et le reste de cette
division, Exemple : 11 div 2 vaut 5 et 11 mod 2 vaut 1
Opérateur d’égalité (ou de comparaison):
C’est l’opérateur que l’on retrouve chez tous les types simples qui
permet de savoir si les deux opérandes sont égales
Il est représenté par le caractère =
Le résultat d'une expression contenant cet opérateur
est un booléen
On a aussi l’opérateur d’inégalité (différent de): ≠
Exemple
Programme exemple d’affectation
Variables
entier A
Début
A1
Fin
Exemple
Ecrire ("nombre ?")
nb ← 10
Ecrire (nb)
Ecrire ("nb vaut ", nb, ".")
Exemple
Programme exemple d’utilisation de Ecrire
Variables
Entier A, B
Début
A 3
B 2*A
Ecrire (‘la valeur de A est ‘, A)
Ecrire (‘la valeur de B est ‘, B)
Fin
lire(nom_de_variable)
Exemple:
Lire (x)
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
C.2 Instruction de lecture
Exemple
Ecrire ("nombre ?")
Lire (nb)
Ecrire ("nb vaut ", nb, ".")
nb ← 10
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
C.2 Instruction de lecture
Exemple
Programme exemple d’utilisation de
Lire
Variables
Entier A
Début
Lire (A)
A 2*A
Ecrire (‘La valeur de A est ‘, A)
Fin
Si l'utilisateur saisit la valeur 10, nous aurons alors à l'écran:
La Valeur de A est 20
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
VII. INSTRUCTIONS DE CONTROLE
La séquence La sélection
La répétition
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
VII.1 La séquence
On dit aussi instruction composée : c’est une suite d’instructions
(arithmétiques ou autres), délimitée par les mots clés, début et fin, qui
s’exécutent séquentiellement (c’est à dire l’une après l’autre).
Exemple L’algorithme suivant lit deux valeurs, en fait la somme et
affiche le résultat
Programme somme de deux entiers
Variables
Entier a, b, z
Début
Ecrire(‘donner deux entiers :’)
Lire(a)
Lire(b)
z a+b
Ecrire(‘la somme de ces deux entiers est = ‘,z)
Fin.
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
VII.2 La sélection
La sélection en algorithmique est une instruction de
branchement permettant de décider, dans un contexte donné,
quelle sera la séquence d'instructions à exécuter.
Cette instruction peut s’écrire sous deux formes:
Forme1 Forme2
Si <condition> Alors
Si <condition> Alors
Instruction_1
Instruction
Sinon
Fsi
Instruction_2
Fsi
La partie <condition> est de type booléenne
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
VII.2 La sélection (suite)
Exemple1: Connaissant une valeur on veut écrire un algorithme qui
affiche sa valeur absolue.
Algorithme valeur_absolue
Variables Données
entier valeur, valeurabs
Début
Ecrire(‘donner un nombre :’)
Lire(valeur) Traitements
si valeur ≥ 0 alors
valeurabs ← valeur
sinon Résultats
valeurabs ← -1*valeur
finsi
Ecrire (‘valeur absolue de ‘,
valeur, ‘est = ‘, valeurabs)
fin
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
VII.2 La sélection (suite)
Exemple2
Algorithme maximum
Variables
Entier A, B, max
Connaissant deux valeurs A Début
et B, on veut écrire un Ecrire(‘donner deux entiers :’)
algorithme qui affiche la Lire(A, B)
plus grande des deux. Si A>B alors
max A
Sinon
max B
fsi
Ecrire(‘le plus grand des deux est :’, max)
Fin
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
VII.2 La sélection (suite)
L'instruction cas
Lorsque l’on doit comparer le contenu d’une même variable
avec plusieurs valeurs, comme par exemple :
si (a=1) alors
instruction_1
Sinon si a=2 alors
instruction_2
Sinon si a=4 alors
instruction_3
sinon
...
Finsi
Pour gérer ces cas, on fait appel à des instructions en boucle qui
ont pour effet de répéter plusieurs fois une même instruction.
Exemple
Calcule de la somme des entiers de 1 à n
La variable VI ≥ VF.
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
B. Les répétitions conditionnelles
Deux possibilités :
La boucle tant que ... faire répète l’exécution d’une action jusqu’à ce
qu’une condition soit remplie. Le test s'effectue au début de la boucle
(avant l’exécution de l’action). Tant que la condition du test est vraie, on
exécute l'instruction
Explications
instruction: représente une seule instruction ou un groupe d’instructions
<condition> : représente la condition d’arrêt, c’est une condition
logique qui doit être vraie après un nombre fini d’itérations
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
Boucle Tant que (suite)
Exemple 1
Programme somme d’une série
Algorithme utilisant la Variables
boucle tant que pour Entier k, N
calculer la somme : Réel S,
Début
N
1 N5
S 2 S 0
k 1 k k 1
Tant que k N Faire
début
S S+1/(k*k)
k k+1
Fin
Ftant
Ecrire(‘Somme = ‘,S)
Fin.
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
Boucle Tant que (suite)
Exemple 2
Programme somme de n premiers entiers
Algorithme permettant de variables
entier i, S, n
calculer la somme des
Début
entiers de +1 à n Ecrire(‘donner un entier positif :’)
Lire(n)
i 0
S0
Tant que (i <n) faire
Début
i i+1
S S +i
Fin
Ftant
Ecrire(S)
Fin
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
B. Les répétitions conditionnelles
Boucle Répéter jusqu'à
Syntaxe :
Initiation
Répéter
instruction
jusqu'à <condition>
XI.1 DEFINITION
DEBUT FIN
Traitement
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
XI. NOTION D’ORGANIGRAMME
XI.2 Principaux symbole d’un organigramme
condition
La Séquence
DEBUT
Instruction_1
Instruction_2
Instruction_3
FIN
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
XI. NOTION D’ORGANIGRAMME
La Sélection
Forme1
V
condition
Instruction_1
F Instruction_2
Instruction_3
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
XI. NOTION D’ORGANIGRAMME
La Sélection
Forme2
F V
condition
Instruction_4 Instruction_1
Instruction_5 Instruction_2
Instruction_6 Instruction_3
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
XI. NOTION D’ORGANIGRAMME
La Répétition Forme : tant que……faire
F
condition
V
Instruction_1
Instruction_2
Instruction_3
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
XI. NOTION D’ORGANIGRAMME
La Répétition Forme : Répéter……Jusqu’à
Instruction_1
Instruction_2
Instruction_3
F
condition
V
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
XI. NOTION D’ORGANIGRAMME
La Répétition Forme : Pour……faire
I=VI
F
I VF
V
Instruction_1
Instruction_2
Instruction_3
I=I+1
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
XI. NOTION D’ORGANIGRAMME
XI.3 Exemple
Ecole supérieure de Technologie
Département de Génie Electrique
18/09/17
SOMMAIRE
I. NOTION D’ALGORITHME
I.1 Définition
I.2 Qu’est ce que veut dire « écrire un algorithme »
I.3 Objectifs
I.4 Propriétés
II. ETAPES DE CONSTRUCTION D’UN PROGRAMME
III. EXEMPLES D’ALGORITHME
IV. CONVENTIONS D’ÉCRITURE
V. STRUCTURE D'UN ALGORITHME
VI. ACTIONS DE BASE DANS UN ALGORITHME
VI.1 Notions connues par l’ordinateur