Vous êtes sur la page 1sur 23

Algorithmique et programmation

Ahmed SEJAD
ahmed.sejad@esp.mr

Ecole Superieure Polytechnique


Institut Superieur des Métiers de l’Energie (ISME)

6 décembre 2021

Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation


Objectifs du cours

À l’issue de ce module, vous serez capable de :

Savoir transcrire les différentes étapes de résolution d’un problème


sous forme d’algorithme
Transcrire un algorithme écrit en pseudo langage en un pro-
gramme procédural
Acquérir une méthodologie de programmation qui permette
l’adaptation à différents langages
Maitriser certains algorithmes élémentaires utiles dans la pro-
grammation plus complexe

Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation


Plan
french

Chapitre 1 : Les éléments de base d’un algorithme

Chapitre 2 : Les structures conditionnelles (alternatives)

Chapitre 3 : Les structures itératives (répétitives)

Chapitre 4 : Les tableaux

Chapitre 5 : Les procédures et Les fonctions

Chapitre 6 : Initiation au langage Python

Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation


Chapitre 1 - Les éléments de base d’un algorithme
1. Définitions
french
Algorithme ?
Un algorithme est une succession d’opérations finie permettant la
résolution d’un problème donnée dans un temps fini et avec une
mémoire finie.

Langage de programmation ?
Un langage de programmation est un ensemble d’instructions et de
règles syntaxiques compréhensible par l’ordinateur et permettant de
traduire un algorithme.

Programme ?
programme est un enchaı̂nement d’instructions, écrit dans un lan-
gage de programmation, exécutées par un ordinateur, permettant de
traiter un problème et renvoyer des résultats. Il représente la traduc-
tion d’un algorithme à l’aide d’un langage de programmation.
Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation
Chapitre 1 - Les éléments de base d’un algorithme
2. Les étapes de développement d’un programme

Pour pouvoir développer un programme sur un ordinateur, on doit


généralement passer au travers les étapes de développement sui-
vantes :
1 Objectif : Déterminer l’objectif du programme qu’on va développer.
2 Conception : Ecrire la structure générale du programme sur pa-
pier. Ceci inclus l’énumération des variables et des constantes
nécessaires.
3 Edition : Taper le programme grâce à un éditeur de texte comme
(Pycharm). On appelle ce programme le programme source. On
lui donnera l’extension .py (fichier en Langage python). On va
sauvegarder ce programme sur disque.
4 Compilation : Compiler le programme grâce au compilateur Py-
thon afin de corriger les erreurs de syntaxe si nécessaire.
5 Exécution : Exécuter le programme.

Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation


Chapitre 1 - Les éléments de base d’un algorithme
2. Les étapes de développement d’un programme

Les étapes de développement d’un programme

Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation


Chapitre 1 - Les éléments de base d’un algorithme
3. Structure générale d’un algorithme

Un algorithme est composé de trois parties principales :

L’en tête : cette partie sert à donner un nom à l’algorithme.


Elle est précédée par le mot Algorithme ;
La partie déclarative : dans cette partie, on déclare les différents
objets que l’algorithme utilise (constante, variable, etc..) ;
Le corps de l’algorithme : cette partie contient les instruc-
tions de l’algorithme. Elle est délimitée par les mots Début et
Fin.

Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation


Chapitre 1 - Les éléments de base d’un algorithme
3. Structure générale d’un algorithme

En tête Algorithme Nom algorithme


Partie déclarative Constante, variable
Début
Instruction 1
Corps de l’algorithme ........
Instruction n
Fin
Structure générale d’un algorithme

Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation


Chapitre 1 - Les éléments de base d’un algorithme
4. Les variables

Notion de variable :
Une variable est une case mémoire qui contient la valeur utilisée
pendant l’exécution de l’algorithme. Le contenu de la variable varie
durant l’exécution de l’algorithme.
Déclaration des variables :
La déclaration des variables consiste à énumérer toutes les variables
dont on aura besoin au cours de l’algorithme.
Chaque déclaration doit comporter le nom de la variable (identifica-
teur) et son type. Syntaxe :
Variables identificateur : type ;
Exemple :
Variables a : réel ;
Variables a,b : entier ;
Variables prenom : Chaine de caractères ;
Variables absent : logique ;
Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation
Chapitre 1 - Les éléments de base d’un algorithme
4. Les variables

Identificateur :
Un identificateur est le nom donné à une variable, une fonction,
. . . etc. ce nom doit obligatoirement commencer par une lettre
suivie d’une suite de lettres et de chiffres {0,1,. . . , 9, A,. . . , Z, ,
a,. . . , z}, il ne doit pas contenir d’espace.

Exemple (corrects) :
Var1
Test 4
M600

Exemple (incorrects ) :
Var.1
Test-4
4rec

Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation


Chapitre 1 - Les éléments de base d’un algorithme
4. Les variables

Type de données :
Le type d’une variable est l’ensemble des valeurs qu’elle peut
prendre. Par exemple, une variable de type logique (booléen) peut
prendre les valeurs Vrai ou Faux.
Les différents types utilisés en algorithmique

Type Entier : sert à manipuler les nombres entiers positifs ou


négatifs. Par exemple : 5, -23, etc.
Type réel : sert à manipuler les nombres à virgules. Par exemple :
3.14, -13.5, etc.
Type caractère : permet de manipuler des caractères alphabétiques
et numériques. Par exemple : ’a’, ‘H’, ‘ ?’,’2’, . . . etc.
Type chaine de caractères : permet de représenter des mots
ou des phrases. Par exemple : ‘’Bonjour”, ‘’Ahmed”, . . . etc.
Type logique (booléen) : utilise les expressions logiques. Il
n’y a que deux valeurs booléennes : Vrai et Faux.
Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation
Chapitre 1 - Les éléments de base d’un algorithme
4. Les variables

Exemple (Type de données ) :


Variables :
n : entier ;
a,b : logique ;
Nom etudiant : chaine de caractères ;
Pour chaque type donné, nous avons un ensemble d’opérations :

Type Opérations possibles Symbole


Addition +
Soustraction -
Multiplication *
Entier Division entière Div
Modulo(le reste de la division entière) Mod
Exposant ∧
Comparaisons <, =, >, <=, >=,
Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation
Chapitre 1 - Les éléments de base d’un algorithme
4. Les variables

Type Opérations possibles Symbole


Addition +
Soustraction -
Multiplication *
Réel Division /
Exposant ∧
Comparaisons <, =, >, <=, >=,
Caractère Comparaisons <, =, >, <=, >=,
Chaine de caractères Concaténation +
Comparaisons <, =, >, <=, >=,
Booléen Logiques ET , OU, NON, OUex

Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation


Chapitre 1 - Les éléments de base d’un algorithme
4. Les variables

Exemple (Opérations ) :
5 / 2 = 2.5
5 Div 2 = 2
5 Mod 2 = 1
5b2 = 25
”Bonjour” + ‘’ ‘’ + ‘’Ali” donne ”Bonjour Ali”
L’expression 5>2 est Vraie
L’expression 7<3 est Fausse.

Les opérations définies pour le type booléen sont :


Le ET logique (And)
Le OU logique (Or)
Le NON logique (Not)
Le OUex logique(XOR).

Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation


Chapitre 1 - Les éléments de base d’un algorithme
4. Les variables

Remarque :
Le domaine {Faux, Vrai} est équivalent au domaine {0, 1} :
La valeur 0 correspondant à la valeur booléenne Faux ;
La valeur 1 correspondant à la valeur booléenne Vrai.

Nous résumons dans une table de vérité les résultats obtenus suivant
les valeurs de deux opérandes :
P Q Non P Non Q P et Q P ou Q P OUex Q
0 0 1 1 0 0 0
0 1 1 0 0 1 1
1 0 0 1 0 1 1
1 1 0 0 1 1 0
Lois de Morgan :
Non (P et Q) ⇐⇒ (Non P) ou (Non Q)
Non (P ou Q) ⇐⇒ (Non P) et (Non Q)
Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation
Chapitre 1 - Les éléments de base d’un algorithme
5. Les constantes

Comme une variable, une constante correspond un emplacement


mémoire réservé auquel on accède par le nom qui lui a été attribué,
mais dont la valeur ne sera jamais modifiée au cours du programme.
Syntaxe :
Constante Nom de la constante = valeur ;

Exemple :
Constante PI = 3.14 ;

Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation


Chapitre 1 - Les éléments de base d’un algorithme
6. Les instructions

L’instruction est une action élémentaire commandant à la machine


un calcul, ou une communication avec l’un de ses périphériques
d’entrées ou de sorties. Les instructions de base sont :

1 L’instruction d’affectation :
L’affectation est une action permet d’affecter une valeur à une
variable. Elle est symbolisée en algorithme par ←− .
Le signe ←− précise le sens de l’affectation.
Syntaxe :
Variable ←− Expression;
Expression peut être soit :
Constante ;
Expression arithmétique ;
Expression logique.

Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation


Chapitre 1 - Les éléments de base d’un algorithme
6. Les instructions

Exemple 1 :
0 Algorithme calcul ;
1 Variables A, B, C, D : entier ;
2 Debut
3 A ←− 10;
4 B ←− 30;
5 C ←− A + B;
6 D ←− C ∗ A;
7 Fin

Les lignes sont numérotées pour faciliter l’explication. Nous pouvons expliquer ce qui
ce passe par le tableau suivant :

Numéro de la Ligne
Variable 1 2 3 4 5 6
A ? ? 10 10 10 10
B ? ? ? 30 30 30
C ? ? ? ? 40 40
D ? ? ? ? ? 400

Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation


Chapitre 1 - Les éléments de base d’un algorithme
6. Les instructions

Remarque :
Les variables numériques ne sont pas forcement initialisées à zéro.
Leur valeur peut être n’importe quoi. C’est la raison de la présence du
point d’interrogation avant qu’une première valeur ne soit affectée
à la variable.

Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation


Chapitre 1 - Les éléments de base d’un algorithme
6. Les instructions

Exemple 2 :
0 Algorithme Logique ;
1 Variables A, B, C : booléen ;
2 Debut
3 A ←− Vrai;
4 B ←− Faux;
5 C ←− A et B;
6 Fin

Numéro de la ligne
Variable 1 2 3 4 5
A ? ? Vrai Vrai Vrai
B ? ? ? Faux Faux
C ? ? ? ? Faux

Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation


Chapitre 1 - Les éléments de base d’un algorithme
6. Les instructions

2 L’instruction d’entrée :
L’instruction d’entrée ou de lecture donne la main à l’utilisateur
pour saisir une donnée au clavier. La valeur saisie sera affectée à
une variable.
Syntaxe :
Lire (identificateur) ; ou Saisir (identificateur) ;

Exemple :
Lire(A) ; Lire (A, B, C) ; L’instruction Lire(A) permet à l’utilisateur
de saisir une valeur au clavier. Cette valeur sera affectée à la variable
A.

Remarque :
Lorsque le programme rencontre cette instruction, l’exécution s’in-
terrompt et attend que l’utilisateur tape une valeur. Cette valeur est
rangée en mémoire dans la variable désignée.
Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation
Chapitre 1 - Les éléments de base d’un algorithme
6. Les instructions

3 L’instruction de sortie :
Avant de lire une variable, il est conseillé d’écrire des messages à
l’écran, afin de prévenir l’utilisateur de ce qu’il doit frapper (sinon,
l’utilisateur passe son temps à se demander ce que l’ordinateur
attend lui). L’instruction de sortie (d’écriture) permet d’afficher
des informations à l’écran.
Syntaxe :
Ecrire (expression) ;
Expression peut être une valeur, un résultat, un message, le contenu d’une variable,
. . . etc.

Exemple 1 :
Ecrire (A) ; ou Afficher (A) ;
Cette instruction permet d’afficher à l’écran la valeur de la variable A.

Exemple 2 :
A ←− 2;
Ecrire (‘’La valeur de A est = ‘’, A) ; La dernière instruction affiche à l’écran :
La valeur de A est = 2.

Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation


Chapitre 1 - Les éléments de base d’un algorithme
7. Les commentaires

Les commentaires :
Lorsqu’un algorithme devient long, il est conseillé d’ajouter des lignes
de commentaires dans l’algorithme, c’est-à-dire des lignes qui ont
pour but de donner des indications sur les instructions effectuées et
expliquer le fonctionnement de l’algorithme sans que le compilateur
ne les prenne en compte.

Exemple :
// Commentaire sur une ligne
/* commentaire sur
plusieurs
lignes */

Ahmed SEJAD ahmed.sejad@esp.mr Algorithmique et programmation

Vous aimerez peut-être aussi