Académique Documents
Professionnel Documents
Culture Documents
Notion d'algorithme
1.1.1 Algorithme
Une succession nie d'opérations qui donne la solution d'un problème
donné. Pour écrire un algorithme, on utilise un pseudo-langage compréhen-
sible par une communauté. Donc, l'idée générale d'un algorithme est de don-
ner la solution d'un problème sous forme d'opérations qui peuvent être tra-
duites dans un langage compréhensible par la machine tout en le gardant
lisible et compréhensible par une personne ordinaire.
1.1.2 Programme
Un programme est un assemblage et un enchaînement d'instructions élé-
mentaires écrites dans un langage de programmation, et exécuté par un ordi-
nateur an de traiter les données d'un problème et renvoyer un ou plusieurs
résultats.
1
1.1.3 Langage de programmation
Un langage de programmation fournit un ensemble de mots-clés et de
règles de syntaxe qui permettent de créer des instructions formant des pro-
grammes et qui peuvent s'exécuter, sans souci, sur une machine.
Exemple :
Lire(Taille)
Lire (x, y)
Instruction de sortie
Écrire (moyenne)
4
Écrire (` entrer la taille')
Écrire (`le résultat est :', max)
Exemple 1 :
x ← 15, 2
x←y
x←y+4
Quelles sont les valeurs des variables a,b et c écrites par l'algo-
rithme suivant?
Exercice
Algorithme Aectation1
5
Variables :
a,b,c : entier Début
a ← 10
b←a∗2
a ← a − b/2
c←b+a∗2
Ecrire ( , , )
abc
Fin.
:
, ,
Solution
a = 10 b = 20 c = 40
,
a = −5 b = 20 c = 10 ,
, ,
a = 0 b = 20 c = 20
Exemple :A←5
B ← 12
SI (B > A ∗ 2) alors B ← A
Fin Si
Ecrire (B)
6
L'instruction conditionnelle alternative
Exemple :
A←5
B ← 12
SI (
B >A∗2 ) alors
B←A
Sinon
B ←A+4
Fin Si
Ecrire (B)
7
:
Lire (x)
Exemple
Déclarations :
a, b, c : Entier
Début
Lire (a, b)
Si (b/2 > a) Alors :
c←b−a
Sinon
c←b+a
a←b−c
Fin si
Ecrire (a, b, c)
Fin.
Quelles sont les instructions exécutées pour les valeurs : a = 5, b = 10?
1.3.4 Les instructions itératives
Les instructions itératives ou répétitives, appelées aussi communément
par les développeurs les boucles, permettent d'exécuter plusieurs le même
bloc d'instructions. On en distingue trois types :
L'instruction `Pour'
Exemple :
i=1
Tant que (i <= 10) faire
Ecrire (`L3 bioinformatique')
Fin Tant que
L'instruction `Répéter'
:
i =1
Exemple
Répéter
Ecrire (`TIC 4 2023')
Jusqu'à (i > 10)
: L'instruction `Tant que' s'exécute zéro ou plusieurs fois, au
moment où, l'instruction `Répéter' s'exécute une ou plusieurs fois.
Remarque
1.4.1 Situation
Le temps d'exécution d'un algorithme dépend des facteurs suivants :
Les données utilisées par le programme;
La qualité du compilateur (langage utilisé);
La machine utilisée (vitesse, mémoire,. . .);
La complexité de l'algorithme lui-même
On cherche à mesurer la complexité d'un algorithme indépendamment de
la machine et du langage utilisés, c-à-d uniquement en fonction de la taille
des données n que l'algorithme doit traiter. Par exemple, dans le cas de tri
d'un tableau, n est le nombre d'éléments du tableau, et dans le cas de calcul
d'un terme d'une suite n est l'indice du terme, ...etc.
1.4.2 O-notation
Soit la fonction T (n) qui représente l'évolution du temps d'exécution d'un
programme P en fonction du nombre de données n. Par exemple :
10
T (n) = cn2
Exemple :
3
O( n4 ) = O(n3 )
11
La complexité d'une conditionnelle
La complexité d'une boucle est égale à la somme sur toutes les itérations
de la complexité du corps de la boucle.
12
Types de complexité algorithmique
gorithme envisage toutes les paires de données parmi les n entrées (ex.
deux boucles imbriquées) Remarque : O(n ) temps cubique
3
13