ALGORITHMIQUE
PARTIE1
Professeur Essannouni Leila
Année 2024-2025
2
OBJECTIF DU COURS
• Objectif:
• Apprendre les concepts de base de l'algorithmique et de la
programmation
• Etre capable de mettre en œuvre ces concepts pour
analyser des problèmes simples et écrire les programmes
correspondants.
• Un programme est une suite d’instructions
d’ordinateur .
• Une instruction est un ordre compris par l’ordinateur
et qui lui fait exécuter une action, c-à-d une
modification de son environnement.
3
LES CATÉGORIES D’ORDRES
les ordinateurs, quels qu’ils soient, ne sont
fondamentalement capables de comprendre
que quatre catégories d'ordres. Ces quatre
familles d'instructions sont :
• l’affectation de variables
• la lecture / écriture
• les tests
• les boucles.
LANGAGES INFORMATIQUES
• Un langage informatique est un outil permettant de
donner des ordres (instructions) à la machine.
• A chaque instruction correspond une action du
processeur.
• Intérêt : écrire des programmes (suite consécutive
d’instructions) destinées à effectuer une tache
donnée.
• Contrainte: être compréhensible par la machine.
4
5
STRUCTURE D’UN ALGORITHME
6
NOTION DE VARIABLE
• Dans les langages de programmation une variable sert à
stocker la valeur d’une donnée.
• Une variable désigne en fait un emplacement mémoire dont
le contenu peut changer au cours d’un programme (d’où le
nom variable)
• Règle : Les variables doivent être déclarées avant d’être
utilisées, elle sont caractérisées par :
– un nom (Identificateur)
– un type (entier, réel, caractère, chaîne de caractères, …)
7
TYPES DES VARIABLES
Le type d’une variable détermine l’ensemble des valeurs qu’elle peut
prendre, les types offerts par la plupart des langages sont:
• Type numérique (entier ou réel)
• Type logique ou booléen: deux valeurs VRAI ou FAUX .
• Type caractère: lettres majuscules, minuscules, chiffres, symboles, …
exemples: ’A’, ’a’, ’1’, ’?’, …
• Type chaîne de caractère: toute suite de caractères,
exemples: " Nom, Prénom", "code postale: 1000", …
8
DÉCLARATION DES VARIABLES
• Rappel: toute variable utilisée dans un programme doit
avoir fait l’objet d’une déclaration préalable.
• En pseudo-code, on va adopter la forme suivante pour la
déclaration de variables
Variables liste d'identificateurs : type
• Exemple:
Variables
i, j, k : entier
x, y : réel
OK: booléen
ch1, ch2 : chaîne de caractères
9
L’INSTRUCTION D’AFFECTATION
• L’affectation consiste à attribuer une valeur à une variable
(ça consiste en fait à remplir où à modifier le contenu d'une zone mémoire).
• En pseudo-code, l'affectation se note avec le signe :=
Var:= e : attribue la valeur de e à la variable Var
- e peut être une valeur, une autre variable ou une expression
- Var et e doivent être de même type
- l’affectation ne modifie que ce qui est à gauche du signe :=
• Ex x:=2, x:= b+2
10
EXERCICE SIMPLE SUR L'AFFECTATION
Algorithme permettant d’échanger les valeurs de
deux variables A et B (il faut utiliser une variable
intermédiaire pour ne pas perdre une valeur d’une
variable car l’affectation écrase le contenu d’une
variable) :
Algorithme echange
Variables
A, B, Inter : entiers
Début
A:=6
B:=9
Inter:=A
A:=B
B:=Inter
Fin
11
EXERCICE 1
Quelle est la valeur de X après l’exécution de chacune des
instructions suivantes
Algorithme1
Variables
X, Y : entiers
Début
X:=2
Y:=X+2
X:=Y+3
X:=X+5
Fin
Solution :
La variable X prend les valeurs successives 2, 7, et enfin 12. La valeur
finale de x est : 12.
12
EXPRESSIONS ET OPÉRATEURS
• Une expression peut être une valeur, une variable ou une
opération constituée de variables reliées par des opérateurs.
• exemples: 1, b, a*2, a+ 3*b-c, …
• L'évaluation de l'expression fournit une valeur unique qui est le
résultat de l'opération.
• Les opérateurs dépendent du type de l'opération, ils peuvent être
:
– des opérateurs arithmétiques: +, -, *, /, mod( le reste de la division
entière)
– des opérateurs logiques: NON, OU, ET.
– des opérateurs de comparaison: =, <> (différence) , <, >, <=, >= .
TABLES DE VÉRITÉ
C1 C2 C1 ET C2 C1 C2 C1 OU C2
VRAI VRAI VRAI VRAI VRAI VRAI
VRAI FAUX FAUX VRAI FAUX VRAI
FAUX VRAI FAUX FAUX VRAI VRAI
FAUX FAUX FAUX FAUX FAUX FAUX
C1 C2 C1 XOR C2 C1 NON C1
VRAI VRAI FAUX VRAI FAUX
VRAI FAUX VRAI FAUX VRAI
FAUX VRAI VRAI
FAUX FAUX FAUX
13
14
EXERCICE 2
Déterminer les valeurs des variables X, Y, et Z après
l’exécution de l’algorithme suivant :
Algorithme2
Variables
X, Y : entier
Z: réel
Début
X:=2
Y:=X+2
Z:=(Ymod3)/4
Fin
15
ENTRÉES ET SORTIES
16
ENTRÉES-SORTIES : LECTURE
• Les instructions de lecture et d'écriture permettent à la machine
de communiquer avec l'utilisateur
• La lecture permet d'entrer des données à partir du clavier
– En pseudo-code, on note: lire var
la machine met la valeur entrée au clavier dans la zone
mémoire nommée var
– Remarque: Le programme s'arrête lorsqu'il rencontre une
instruction Lire et ne se poursuit qu'après la frappe d’une
valeur au clavier et de la touche Entrée
17
ENTRÉES-SORTIES: ÉCRITURE
L'écriture permet d'afficher des résultats à l'écran (ou de les écrire
dans un fichier)
– En pseudo-code, on note: écrire var
la machine affiche le contenu de la zone mémoire var
– Conseil: Avant de lire une variable, il est fortement conseillé
d’écrire des messages à l’écran, afin de prévenir l’utilisateur
de ce qu’il doit frapper
18
EXEMPLE (LECTURE ET ÉCRITURE)
Ecrire un algorithme qui demande un nombre entier à l'utilisateur,
puis calcule et affiche le double de ce nombre
Algorithme Calcul_double
variables
A, B : entiers
Début
écrire "entrer la valeur de A "
lire A
B :=2*A
écrire "le double de ", A, "est :", B
Fin
19
TESTS: INSTRUCTIONS CONDITIONNELLES (1)
• Les instructions conditionnelles servent à n'exécuter une instruction ou une
séquence d'instructions que si une condition est vérifiée.
• On utilisera la forme suivante: Si condition1 alors
instruction ou suite d'instructions1
Sinon si condition2
instruction ou suite d'instructions2
Sinon
instruction ou suite d'instructions3
Finsi
– la condition ne peut être que vraie ou fausse.
– si la condition1 est vraie, se sont les instructions1 qui seront exécutées.
– si la condition1 est fausse et la condition2 est vrai , se sont les instructions2 qui seront
exécutées.
– si la condition1 est fausse et la condition2 est fausse, se sont les instructions3 qui seront
exécutées.
– la condition peut être une condition simple ou une condition composée de plusieurs
conditions.
20
TESTS: INSTRUCTIONS CONDITIONNELLES
(2)
• La partie Sinon n'est pas obligatoire, quand elle n'existe pas et
que la condition est fausse, aucun traitement n'est réalisé
– On utilisera dans ce cas la forme simplifiée suivante:
Si condition alors
instruction ou suite d'instructions1
Finsi
21
EXEMPLE : SI -ALORS -SINON
Algorithme pair
Variables
X: entier
Début
X:=11
si X mod 2 =0 alors
écrire X, " est pair "
sinon
écrire X, "est impair "
Finsi
Fin