CHAPITRE 3
Le Langage Algorithmique
PLAN de cours
• Introduction.
• Définitions.
• Les Variables.
• Structure d'un Algorithme.
• Les Entrées Sorties.
1
Introduction
La programmation est une démarche qui se déroule
en deux phases :
1. Phase d’analyse du problème, c.à.d. la
recherche d’algorithme
2. Phase de programmation proprement
dite, qui consiste à exprimer le résultat
de la première phase (algorithme) dans
un langage donné.
Exemples de Problème :
Problème 1:
Pneu crevé. Comment changer la roue d'une voiture?
2
Exemples de Problème :
Problème 2:
On désire faire un gâteau à partir des ingrédients suivants.
• Sucre.
• Farine.
• Œufs.
• Chocolat
• Beurre.
• Levure.
?
Sucre Beurre Farine
Gâteau
Œufs Levure Chocolat
4
Exemples de Problème :
Problème 3:
Trouver la valeur de x tel que : ax2 + bx + c = 0. (a,b,c ≠ 0)
Solution :
• ∆ = b2 – 4ac.
b b
• Si ∆ > 0 Deux Solutions : x0 ; x1
2a 2a
b
• Si ∆ = 0 Une Solution : x0
2a
• Si ∆ < 0 Aucune Solution.
ALGORITHME
6
Quelques Définitions :
Un Algorithme :
Un Algorithme est une suite ordonnée et bien définie d’instructions qui
indique la démarche à suivre pour résoudre un problème.
L'Algorithmique :
L'algorithmique est la science qui étudie l'application des algorithmes à
l'informatique.
7
Quelques Définitions :
Un Programme :
Un Programme est la traduction d'un algorithme en un langage de
programmation.
main()
{ Langage C.
…
}
ALGORITHME
…
… PROGRAM …
Langage
… Var
Begin Pascal.
…
End.
…
… �㕐 ++, Java, Basic, Matlab, fortran …etc
8
Quelques Définitions :
La Compilation :
La Compilation est la traduction d'un programme écris en langage de
programmation (Ex Pascal) en un langage pouvant être exécuté par un
ordinateur (Code Objet).
Program nom prog 0110010001000
Begin 0001111101001
…
COMPILATION
…
End.
Code Objet
Programme
9
Quelques Définitions :
Exécution:
L’exécution consiste à lancer le code objet généré lore de la phase de
compilation.
0110010001000
0001111101001 Exécution Résultat
…
Code Objet
Program
Etapes de Résolution d'un problème : Var
Begin
…
Méthode de end
Résolution Programmation
Problème Algorithme Programme
Analyse de
problème
Compilation
Dans ce cours, nous n'allons pas apprendre comment faire un gâteau ou
comment changer la roue d'une voiture. Nous apprendre à écrire un Code Objet
algorithme de manière correcte. 0101101011…
Au niveau des TP, nous allons apprendre à traduire les algorithmes en
langage de programmation (Pascal). Exécution
Résultat
10
Les notions de base
Quatre notions de base en algorithmique et en programmation
vont être étudiées, à savoir :
Les variables et les constantes.
Les affectations.
La lecture.
L’écriture.
11
Les Variables.
Un ordinateur est capable de Stocker et de traiter les informations.
Un algorithme doit pouvoir accéder aux informations stockées dans la
mémoire. Pour cela on utilise des Variables.
Une variable est une information stockée de manière temporaire dans la
mémoire principale. La valeur d'une variable peut évoluer au cours de
l'exécution de l'algorithme d'où le terme "variable".
Une Variable est caractérisée par :
• Un Identifiant : Le nom donné à la variable.
• Un type : C'est l'ensemble des valeurs que peut avoir la variable.
• Une valeur : C'est la valeur que stocke la variable.
11
Les Variables.
Exemple 1:
On désire écrire un algorithme qui résout une équation du
seconde degré.
De quelles variables avons-nous besoin?
Solution :
On a besoin de :
• Trois variables d’entrées (nommées a,b,c) contenant les
coefficients de l'équation
• Une Variable supplémentaire (nommée Delta)
• Trois variables pour les solutions ( nommées x0, x1 et x2)
13
Les Variables.
L'identifiant :
L'identifiant (le nom) d'une variable peut être une combinaison de chiffre et
de lettres mais doit respecter les conditions suivantes :
• Un Identifiant doit impérativement commencer par une lettre.
• Un Identifiant ne peut pas contenir des caractères accentués (ex :
é,è,ê).
• Un Identifiant ne peut pas contenir des caractère spéciaux (@ # ,
…etc). Seul le caractère "_" (underscore) est autorisé
• Un Identifiant ne peut pas contenir le symbole " " (espace).
• Un Identifiant ne peut pas être un mot clé.
Exemples :
Les identifiants suivants sont-ils corrects?
X Surf1 La surface T4 4T école La_Surface La-Surface
14
Les Variables.
Types d'une Variable
Toute variable doit avoir un type qui représente l'ensemble des valeurs que peut contenir
la variable.
En algorithmique, il existe 5 types élémentaires :
• Le type entier (integer en Pascal) : Représente l'ensemble des entiers relatifs ( ex
: 45 2 -458,…etc).
• Le type réel (real en Pascal) : Représente l'ensemble des valeurs réelles (ex : 12.54
-45.6584 13 -45.32 . . . etc.)
• Le type caractère (char en Pascal) :(peut être une lettre ( "A" , "a" , …etc), une
chiffre ("0","1",…,"9"), un symbole ( "&", "@", "(", …etc) ou un espace (" ")
• Le type chaine de caractère (char en Pascal) : suite de caractères ("Mohamed" ,
"x #@",..etc).
• Le type booléen (bool en Pascal): ne peut avoir que deux valeurs : VRAI ou
FAUX.
15
Les Variables.
Types d'une Variable
Variable
entier réel caractère chaine de booléen
caractères
Exemple Exemple Exemple Exemple VRAI
• 30 • 31.215 • "a" • "bonjour" ou
• -102 • - 456.656587 • "b" • "Une variable" FAUX
...etc. …etc. •" " • "8lfs@#7489"
• "@" …etc
• "0"
• "1"
…etc 16
Opérations sur les Variables.
Les Entiers :
Les opérations autorisées sur les entiers sont :
• L'addition (+).
• La Soustraction (-).
• La multiplication (*).
• La division entière ( div ) :
Exemple :
12 div 5 = 2.
19 div 5 = 3
• Le modulo (mod) : Représente le reste de la division.
Exemple :
15 mod 6 = 3
30 mod 4 = 2
17
Opérations sur les Variables.
Les Réels :
Les opérations autorisées sur les réels sont :
• L'addition (+).
• La Soustraction (-).
• La multiplication (*).
• La division ( / ) :
Exemple :
15 / 4 = 3.75
18
Opérations sur les Variables.
Les Chaines de Caractères (et caractères)
• La concaténation : ( & )
La concaténation consiste à ajouter une chaine à la fin d'une autre chaine.
Exemples :
• "Bon" & "jour" = "Bonjour". Espace
• "Cours˝ & " "&"Algorithmique" = "Cours Algorithmique"
• "25" & "30" = "2530".
Les chaines de caractères sont mise entre guillemets "" afin de les distinguer des
valeurs numériques ou des variables
19
Opérations sur les Variables.
Les Booléens :
Nous avons principalement trois types d'opérations logiques pour les booléens :
• ET
• OU.
• NON
A B A ET B A B A OU B
FAUX FAUX FAUX FAUX FAUX FAUX A NON A
FAUX VRAI FAUX FAUX VRAI VRAI FAUX VRAI
VRAI FAUX FAUX VRAI FAUX VRAI VRAI FAUX
VRAI VRAI VRAI VRAI VRAI VRAI
Opérateur NON.
Opérateur ET. Opérateur OU.
20
Opérations sur les Variables.
Les Booléens :
Une expression booléenne peut être conçu à l'aide d'opérateurs logiques (ET , OU, NON) et
d'opérateurs de comparaisons.
Opérateur Symbole
Egal à =
Est différent de !=
Supérieur à >
Supérieur ou égal à g
Inférieur à <
Inférieur ou égal à f
Exemple :
( (x<5) ET (y!=5) ) OU (z=3)
21
Déclaration de Variables
La déclaration d'une variable sert à réserver un espace de stockage dans la mémoire principale.
Toutes les variables utilisées dans un algorithme doivent être déclarées
Une variable est déclarée par la syntaxe suivante :
Nom_Variable : Type ;
Exemple :
i : Entier ;
J : Entier ;
X : Réel ;
IL EST STRICTEMENT INTERDIT DE DECLARER PLUS D'UNE FOIS LA MÊME
VARIABLE
i : Entier ;
J : Entier ;
i : Entier ;
22
Déclaration de Variables
Il est possible de déclarer plusieurs variables de même type en une seule ligne en utilisant la
syntaxe suivante :
Nom_V1 , Nom_V2 , … , Nom_Vn : Type ;
Exemple :
i , j , k : Entier;
C1 , C2 : Caractère ;
Ch1 , ST2 : Chaine de caractères.
23
Déclaration de Variables
Les Constantes :
Une constante est une variable dont le contenu ne change pas.
Ou une constante est une variable mais elle garde sa valeurs au cours d’exécution
d’un algorithme.
Une Constante est déclarée comme suit :
Exemple :
Const Nom_Constante = Valeur ;
Const PI = 3.141592 ;
24
Affectation de Variables
Lorsqu'une variable est déclarée, elle ne contient initialement aucune valeur.
Pour donner une valeur à une variable on utilise l'instruction d'affectation.
La syntaxe est la suivante :
Nom_Variable Expression ;
Dans cette instruction, le contenu de l'expression est mis dans la variable Nom_Variable.
L'expression et la variable doivent avoir le même type. (ou compatibles)
L'expression peut être :
• Une Constante.
• Une Variable.
• Une Combinaison de Variables et d'opérations.
25
Affectation de Variables
Exemples :
1-) Affectation par une constante
x 5 ;
Après exécution de l'instruction la variable x aura la valeur 5 (x=5).
2-) Affectation par une variable
x y ;
Après exécution de l'instruction ,la variable x aura la valeur de la variable y (x=y)
La variable y reste inchangée.
3-) Affectation par une expression
x (y+z)/2 ;
Après exécution de l'instruction ,la variable x aura comme valeur, la moyenne des variables y et
z.
26
Syntaxe d'un Algorithme
Un algorithme doit respecter la syntaxe suivante :
Algo Nom_Algo
Var
Déclarations de Variables
Déclarations de constantes
Début
…
… suite d'instructions
…
FIN.
Id_Algo est l'identifiant (le nom) de l'algorithme. Il doit respecter les même règles
d'identifiant pour variables.
27
Syntaxe d'un Algorithme
Exemple 1 :
Algo Somme
Var
X,Y,Z : Réel ;
Début
X 5 ;
Y 8 ;
Z X + Y ;
FIN.
Quelles sont les valeurs des variables X,Y et Z après exécution de l'algorithme
Somme ?
28
Syntaxe d'un Algorithme
Exemple 2 :
Algo Moyenne1
Var
X,Y,Z : Réel ;
Début
X 5 ;
Y 8 ;
Z (X + Y) / 2 ;
FIN.
Quelles sont les valeurs des variables X,Y et Z après exécution de l'algorithme
Moyenne1 ?
29
Syntaxe d'un Algorithme
Exemple 3 :
Algo Moyenne
Var
X,Y,Z : Entier ;
Début
X 5 ;
Y 8 ;
Z (X + Y) div 2 ;
FIN.
Quelles sont les valeurs des variables X,Y et Z après exécution de l'algorithme
Moyenne2 ?
30
Les Commentaires
Les commentaires sont des textes écris à l'intérieur de l'algorithme qui ne sont pas
pris en compte.
Les commentaires ont pour but d'expliquer une partie du programme afin
d'améliorer sa lisibilité et faciliter sa compréhension.
Pour mettre un commentaire, on utilise les symbole //
Algo Moyenne1
Var
X,Y,Z : Réel ;
Début
X 5 ;
Y 8 ;
Z (X + Y) / 2 ; // Z prend la moyenne de X et Y.
FIN.
31
Les Entrées / Sorties
Exemple de problème:
Soit l'algorithme suivant
Algo Surface
Var
Long , Larg , Surf : Réel ;
Début
Long 25;
Larg 10 ;
Surf Long * Larg ;
FIN.
Problèmes :
1. Cet algorithme calcule uniquement la surface d'un seul rectangle (25X10).
2. Le résultat du calcul n'est pas affiché (se fait dans la mémoire).
32
Les Entrées / Sorties
LECTURE
Algorithme
ECRITURE
Utilisateur
On souhaite que :
• L'utilisateur donne lui-même à l'aide du clavier, les valeurs de la longueur et la largeur.
• L'algorithme affiche le résultat du calcul (La valeur de la surface) sur l'écran.
33
Les Entrées / Sorties
Un Algorithme a souvent besoin de communiquer avec l'utilisateur. Pour cela il existe
deux types d'instruction
LECTURE : Permet de lire une valeur que fourni l'user à l'aide du clavier.
ECRITURE : Permet d'afficher une valeur à l'écran.
34
La Lecture :
La lecture est réalisée à l'aide de l'instruction Lire, sa syntaxe est la suivante :
Lire ( Nom_Var ) ;
Dans cette instruction, l'algorithme attend que l'utilisateur saisisse un valeur à l'aide du clavier ;
Ensuite cette valeur sera mise dans la variable Nom_Var.
Exemple :
Algo Lecture
Var
X : réel ;
Début
Lire (X) ; // X prend la valeur que saisi l'utilisateur à l'aide du clavier
FIN.
35
L'écriture (Affichage)
L'écriture permet d'afficher une valeur à l'ecran. Elle est faite à l'aide de l'instruction écrire
Ecrire ( Message ) ;
Message peut être :
• Une Chaine de Caractères Constante : (Entre Guillemets " ")
Ecrire ( "Bonjour tout le monde") ;
• Une Variable :
Ecrire (X) ; // La valeur de la variable X est affichée
• Une Combinaison de Constantes , variables , chaine de caractères ou expressions séparées
par une virgule ( , ) :
Ecrire ("Le valeur de X est " , X) ;
Ecrire ("Le double de X est " , 2*X) ; 36
L'écriture (Affichage)
Saut de Ligne :
Les symboles "\n" permettent de sauter la ligne lors d'une écriture.
Exemples :
Qu'affiche chaque algorithme?
1-) Ecrire ( "Bonjour \n Vous allez bien ?") ;
2-)
Ecrire ( "Bonjour \n");
Ecrire ("Vous allez bien ?") ;
Les deux algorithmes affiche le même message :
Bonjour
Vous allez bien
37
L'écriture (Affichage)
Exemple :
Qu'affiche l'algorithme suivant ?
Ecrire ( "Bonjour");
Ecrire ("Vous allez bien ?") ;
L'algorithme affiche le message suivant :
BonjourVous allez bien
38
Les Entrées / Sorties
Exercice 1:
Ecrire un algorithme qui demande à l'utilisateur la longueur et la largeur d'un
rectangle, puis calcule et affiche la surface.
Algo Surface
Var
Long , Larg , Surf : Réel ;
Début
Ecrire("Donnez la longueur\n");
Lire(Long) ;
Ecrire("Donnez la largeur\n");
Lire(Larg) ;
Surf Long * Larg ;
Ecrire("La surface est :" , Surf) ;
FIN.
39
Les Entrées / Sorties
Exercice 2:
Ecrire un algorithme qui demande à l'utilisateur son Nom et son Age, puis affiche le
Message
Bonjour ……. Vous avez …… ans.
Exemple :
Bonjour Mohammed. Vous avez 19 ans.
40