Chapitre 1
Chapitre 1
Chapitre 1
Chapitre 1
Introduction à l’algorithmique
-1-
Part 1 : Introduction à l’algorithmique
ANALYSE CODIFICATION
Problème Algorithme Programme
COMPILATION
INCORRECTS
EXECUTION
Résultats Exécutable
CORRECTS
Fin
1.4. Exemple
-2-
Part 1 : Introduction à l’algorithmique
Algorithme Nom_algorithme
Nom de l’algorithme
Déclarations de types
Déclarations Déclarations de variables
Déclarations de constantes
Début
Corps de l’algorithme Bloc d’instructions
Fin
Figure 1.2- Les trois parties Figure 1.3- Structured’un
d’un algorithme algorithme
Où :
Nom de l’Algorithme : c’est l’identification ou le nom.
Déclarations : description de tous les objets utilisés dans
l'algorithme, définition de variables, de constantes et de types.
Instructions: séquence d'actions à exécuter sur l'environnement afin
de résoudre le problème. Cette partie est également appelée le
corps de l’algorithme.
1.6. Conclusion
-3-
Part 2 : Introduction aux Structures de Données
Part 2
2.1. Introduction
valeur
Un objet est caractérisé par son nom (identificateur), sa valeur, son type (figure
2.1). La valeur de l’objet peut être constante ou variable. Le type de l’objet peut
être simple ou composite. Un type simple comme : entier, réel, caractère, etc. Un
type composite peut être : tableau, enregistrement, etc. Toutes ces nouvelles
notions seront détaillées dans les sections suivantes.
Une constante est un objet dont la valeur ne varie pas tout au long du
programme. Un objet dont la valeur change est nommé variable.
2.3. Identificateur
Un identificateur est dénomination d’un objet qui doit respecter les règles
suivantes :
Un identificateur est soit :
-4-
Part 2 : Introduction aux Structures de Données
2.4. Type
Un type de donnée définit un ensemble dans lequel les variables prennent leur
valeur. Chacune des variables d’un algorithme doit être associée { un type de
donnée et un seul. A chaque type de donnée est associé un ensemble d’opérateurs
qui sont possibles sur les variables et les constantes de ce type. Il y a cinq types
élémentaires standards :
Entier
Réel
Booléen
Caractère
Chaîne de caractère
Une variable de type entier prend ses valeurs dans l’ensemble des nombres
entiers. Les opérateurs qui sont appliqués à des entiers, donnent un résultat entier
sont :
Addition (+)
Soustraction (-)
Multiplication (*)
Division entière (DIV)
Reste de la division entière (MOD).
Le résultat des opérateurs suivants est réel, si au moins l’un des opérandes est
réel (l’autre pouvant être entier) :
Addition (x+y)
Soustraction (x-y)
Multiplication (x*y)
Division (x/y)
-5-
Part 2 : Introduction aux Structures de Données
FAUX VRAI
VRAI FAUX
a b a OR b a AND b
Quelques propriétés des opérateurs logiques sont importantes, notons les plus
utilisées :
a ET (b OU c) = (a ET b) OU (a ET c)
a OU (b ET c) = (a OU b) ET (a OU c)
-6-
Part 2 : Introduction aux Structures de Données
Le type caractère peut être : des lettres minuscules, des lettres majuscules, des
chiffres et des signes spéciaux. En règle générale, cet ensemble correspond à celui
des caractères qui sont représentés sur le clavier d’un ordinateur.
Un caractère est représenté sur 8 bits, ce qui donne 256 combinaisons possibles.
Le code, couramment utilisé, est le code ASCII (American Standard Code for
Information Interchange).
Exemples :
-7-
Part 2 : Introduction aux Structures de Données
ORD(‘A’) = 65
CHR(65) = ‘A’
SUCC(‘X’) = ‘Y’
PRED("G") = ‘F’
La formation des expressions est définie par récurrence : Les constantes et les
variables sont des expressions. Les expressions peuvent être combinées entre elles
par des opérateurs et former ainsi des expressions plus complexes (FABER, 2009)
Une expression arithmétique a pour valeur un nombre entier ou réel. Une
expression booléenne a pour valeur le type de données booléen.
Pour composer un algorithme, nous aurons souvent à exprimer des expressions
qui seront par la suite évalués au moment de l'exécution. Pour écrire une
expression, nous écrirons très souvent une comparaison entre deux valeurs de
même type. Une telle comparaison est appelée expression booléenne simple.
Lorsque l’expression simple ne suffit pas pour exprimer une situation, nous
utilisons des expressions composées à partir de d’expressions simples par
l'emploi d’opérateurs logiques.
Exemples :
x=y Faux
x<y Vrai
x>2 Vrai
-8-
Part 2 : Introduction aux Structures de Données
() les parenthèses
NON la négation
/, * la multiplication et la division
+, - l'addition et la soustraction
,>,<,<=,>=,< les opérateurs relationnels
>
ET ET logique
OU OU logique
-9-
Part 3 : Instructions élémentaires et structure d’un algorithme
Part 3
a, b, c : entier : ⇔ a : entier
B:
entier C
: entier
x, y, z : réel
n, v : booléen
mot : chaîne de caractère
c : caractère
Pi = 3,14159
ch. = 'calcul'
C = 'R'
test = TRUE
Dans la partie déclarative de l'algorithme, nous devons énumérer :
1. La liste des variables, tout en précisant leurs types respectifs.
2. La liste des constantes, en leur affectant leurs valeurs.
3. Les types qui ne sont pas standards.
-
10-
Part 3 : Instructions élémentaires et structure d’un algorithme
3.4. L’affectation
Dans un environnement donné, pour affecter (attribuer) à une variable (V) une
valeur (e), nous utilisons la notation suivante : V e
Où :
V : le nom de la variable à laquelle on doit attribuer la valeur,
: symbole, caractérisant l'affectation,
e : représente la valeur à affecter et peut être :
- Une constante.
- Le nom d'une autre variable qui contient la valeur.
- Une expression de même type que V qui peut être une
expression logique ou une expression arithmétique.
Exemples :
a) X 1
b) NOM "Mohamed"
c) TOTAL SOMME
d) NB A+B
L'action (a) affecte à la variable numérique X la valeur 1.
L'action (b) affecte à la variable nom la chaîne "Mohamed"; pour
que cette action soit correcte, il faut que NOM soit de type
chaîne de caractères.
dans ces 2 premières affectations, la valeur à affecter est indiquée à
l'aide d'une constante.
dans (c), la valeur à affecter est une variable. TOTAL et SOMME
doivent être de même type.
Dans (d), nous affectons à NB, le résultat d'un calcul numérique.
NB, A et B doivent être de même type. L'action (d) s'exécute en
deux temps :
- calcul de la valeur de l'expression arithmétique (A+B)
- affectation de cette valeur à la variable NB.
Dans une affectation, seule la variable dont le nom apparaît à gauche du signe
change de valeur.
La fonction d’entrée lire() permet d'affecter, à une variable, une valeur saisie au
clavier. Cette fonction est validée par la frappe de la touche (entrée).
lire(v) : saisit une valeur au clavier et la mettre dans la variable v.
-
11-
Part 3 : Instructions élémentaires et structure d’un algorithme
Exemples :
-
12-
Part 3 : Instructions élémentaires et structure d’un algorithme
Solution :
Algorithme calculs
Variable
Somme, Produit, Moyenne, nb1, nb2, nb3 : réel
Débu
t (* saisie des trois nombres *)
ecrire ("entrez les trois nombres")
lire (nb1, nb2, nb3)
(* réalisation des différentes opérations *)
Somme nb1 + nb2 + nb3
Produit nb1 * nb2 * nb3
Moyenne somme / 3
(* édition des résultats *)
ecrire ("la somme des trois nombres est : ", Somme)
ecrire ("le produit des trois nombres est : ", Produit)
ecrire ("la moyenne des trois nombres est : ", Moyenne)
Fin
-
13-
Part 3 : Instructions élémentaires et structure d’un algorithme
Remarque :
Nous pouvons afficher directement le résultat des opérations sans passer par
les variables Somme, Produit et Moyenne. Ce qui donne une seconde version de
l’algorithme (calculs_v2) plus compacte et plus optimisée :
Algorithme calculs_v2
Variable
nb1, nb2, nb3 : réel
Début
fin
-
14-
Part 3 : Instructions élémentaires et structure d’un algorithme
Début
-
15-
Part 3 : Instructions élémentaires et structure d’un algorithme
-
16-