Vous êtes sur la page 1sur 5

Chapitre 1 : Introduction à l’algorithmique

Chapitre 1 : Introduction à l’algorithmique

1. Introduction
L'algorithmique est l’ensemble des règles et des techniques qui sont impliquées dans la définition
et la conception d'algorithmes, c'est-à-dire de processus systématiques de résolution, par le calcul,
d'un problème permettant de décrire les étapes vers le résultat. En d'autres termes, un algorithme est
une suite finie et non-ambiguë d’opérations permettant de donner la réponse à un problème. [URL1]

Les fonctions principales de l'algorithmique sont :

• L'identification d'une méthode pour résoudre un problème de calcul,


• La recherche de l'optimisation de cette résolution en termes de temps de calcul ou de
ressources consommées.

2. Les différentes étapes de résolution d’un problème


Pour résoudre un problème en informatique, il faut passer par cinq étapes :
• Identification, compréhension du problème suivie d’une analyse du problème
• Ecriture de l’algorithme qui s'agit de l'ensemble d'étapes à suivre pour résoudre le problème
• Programmation
• Compilation du programme
• Exécution et test du programme

2.1. Identification et analyse du problème

C’est la première phase de résolution d’un problème, elle consiste à :


- Définir les données qu’on dispose et les objectifs qu’on souhaite atteindre
- Prévoir des réponses à tous les cas envisageables
Exemple :
Si le problème est la résolution d’une équation de second degré sous la forme :
ax2 + bx + c =0
→ Les données sont : a, b et c
→ Les sorties sont : x1 et x2
→ Les cas : a=0 et b≠0, a =0 et b =0, a ≠0 ……

Mme. Monia TOUIL 1


Chapitre 1 : Introduction à l’algorithmique

2.2. Ecriture de l’algorithme


C’est la phase la plus difficile et importante, elle fournit la méthode et la démarche que l’ordinateur
va suivre pour résoudre le problème posé.

Définition d’un algorithme


Un algorithme est une séquence d’étapes de calcul qui utilise des données en entrée pour
arriver à des résultats en sortie.

2.3. Programmation de l’algorithme


Il s’agit d’exprimer l’algorithme dans un langage de haut niveau connu par l’ordinateur. Il faut donc
choisir un langage de programmation et ensuite traduire l’algorithme sous forme d’un programme
exprimé dans ce langage.

2.4. Compilation
C’est la phase de traduction du programme du langage haut niveau à un langage bas niveau
compréhensible par la machine (suite de bits : 0 et 1) et détection des erreurs. Ces erreurs sont de
type syntaxique et sémantique.
Les erreurs syntaxiques sont des erreurs générées par le compilateur s’il n’y a pas un respect de la
syntaxe du langage de programmation avec lequel est écrit le programme compilé.
Les erreurs sémantiques sont générées si le programme effectue des opérations illégales ou
interdites (Exp : division par zéro, affectation d’une valeur n’appartenant pas au domaine d’une
variable, etc.).

2.5. Exécution et test du programme


Au niveau de cette phase, le programme est syntaxiquement et sémantiquement correct, il s’agit de
s’assurer que le programme donne un résultat correct dans tous les cas envisageables déterminés
lors de la phase d’analyse et pour toutes les éventualités et ceci en élaborant plusieurs jeux de tests
correspondant aux différents cas et vérifier la validité des résultats pour chacun.

Mme. Monia TOUIL 2


Chapitre 1 : Introduction à l’algorithmique

3. Structure générale d’un algorithme


3.1. Schéma général d’un algorithme
Un algorithme comporte généralement deux parties :
• Partie déclarative : elle contient l’entête, la déclaration des constantes, des nouveaux types
et celle des variables.
• Partie corps de l’algorithme : elle consiste en une séquence d’actions faisant appel à des
opérations de base de l’ordinateur.

Syntaxe :
Algorithme « nom de l’algorithme »
Const
{Liste des constantes avec leurs valeurs}
Type Partie déclarative
{Liste des nouveaux types}
Var
{Liste des variables suivies par leurs types}
Début
{Séquence d’actions} Partie corps
Fin

Une action peut être :


 Action d’affectation ou,
 Action d’entrée- sortie ou,
 Action de contrôle conditionnelle simple ou à choix multiple ou,
 Action de répétition.

Remarque :
Le nom d’un algorithme, d’une variable ou d’une constante doit respecter les règles suivantes :
 Commencer par une lettre
 Ne pas comporter de caractères spéciaux ou de ponctuation (caractère « espace », par
exemple)
 Ne pas être un mot du langage algorithmique (comme « algorithme », « début », « fin »,
« variable », « NON », « OU » etc)

3.2. Définition d’une variable

Une variable est un emplacement mémoire capable de contenir des valeurs de type défini au
préalable. Elle est identifiée par un nom, une taille, un contenu et une adresse.
 Le nom de la variable s’appelle identificateur de la variable.
 La taille dépend du type de la variable (exemple : 2 octets pour un entier, 1 octet pour un
caractère, 4 octets pour un réel…).
Mme. Monia TOUIL 3
Chapitre 1 : Introduction à l’algorithmique

 L’adresse désigne le numéro du 1er octet occupé par cette variable en mémoire centrale.

Dans un algorithme, les variables sont déclarées comme suit :

Var
Liste des variables suivies par des virgules : type 1
Liste des variables suivies par des virgules : type 2

Liste des variables suivies par des virgules : type i

→ Dans un algorithme, on peut avoir 0 à plusieurs variables.


Exemple :
Var
X, Y : entier
A : réel
3.3. Définition d’une constante

La définition d’une constante est la même que celle d’une variable à la différence que la valeur
d’une constante reste inchangée tout au long de l’algorithme.

Syntaxe :

Const
Nom const 1 = val 1
Nom const i = val i
Exemple:
Const
Min = 10
Max = 200
3.4. Les types de base

A toute variable est attribué un type qui définit :


‐ L’ensemble des valeurs que peut prendre la variable
‐ L’ensemble des opérations qu’on peut appliquer sur la variable
Il existe des types simples qui sont prédéfinis tels que les types : entier, réel, caractère ou booléen.

a. Type entier
- Il représente l’ensemble des entiers relatifs tel que : 8, -10, 3……
- Les opérations permises sont : +, -, *, div (division entière) et mod (reste de la division
entière)
b. Type réel
- Il représente l’ensemble des réels : IR
Mme. Monia TOUIL 4
Chapitre 1 : Introduction à l’algorithmique

- Deux formes de représentation : La forme usuelle « a.b » (exemple : -4.6, 13.9 ….. ou la
forme scientifique a E b exemple : 345 = 3.45 E2 = 0.345 E3)
- Les opérations permises sont : +, -, *, /
c. Type caractère

Ce type s’applique à tous les caractères du code ASCII (American Standard Code for Information
Interchange). La liste comprend :
- Les lettres "A".."Z", "a" .. "z"
- Les chiffres : "0" .. "9"
- Les caractères spéciaux : "/" ; "*" ; " ? " ; "&" ;etc.
- Les caractères de contrôle : <Retour Chariot> ; <Echap> ; etc
- Chaque caractère est défini par son numéro d’ordre unique compris entre 0 et 255.
- Les opérations permises sont : =, ≠, <, <=, >, >=.
d. Type booléen

Il s'appelle aussi type logique et il accepte deux valeurs: vrai ou faux (true ou false).
Il y a 2 types d'opérateurs qui s'appliquent sur les variables de type booléen:
Les opérateurs logiques (NON pour la négation, ET pour la conjonction, OU pour la
disjonction).

Le tableau suivant résume le résultat de l'application de ces opérateurs sur deux variables A et
B.
A B NON (A) A ET B A OU B
Vrai Vrai Faux Vrai Vrai
Vrai Faux Faux Faux Vrai
Faux Vrai Vrai Faux Vrai
Faux Faux Vrai Faux Faux
Tableau 1.1: La table de vérité des opérateurs logiques

Les opérateurs de comparaison ( < , > , <= , >= , = et # ).

Remarque :
Il existe des types composés définis à partir des types de base comme les tableaux, les chaînes de
caractères…

Mme. Monia TOUIL 5

Vous aimerez peut-être aussi