INTRODUCTION A L'ALGORITHMIQUE
1. Intérêt de l’algorithmique
Informatiser une application, calcul de la moyenne des étudiants, par exemple, c’est faire réaliser par
ordinateur, une tâche qui était réalisée par l’Homme. Pour faire exécuter une tâche par ordinateur, il faut
tout d’abord, détailler suffisamment les étapes de résolution du problème, pour qu’elle soit exécutable par
l’homme. Ensuite, transférer la résolution en une suite d’étapes si élémentaire et simple à exécuter,
pouvant être codée en un programme dans un langage compréhensible par ordinateur.
Toute suite d’étapes si élémentaire et simple à exécuter s’appelle un algorithme.
Le mot " algorithme " est une déformation occidentale du nom d’un grand mathématicien persan Al
Khwarizmi (vers l’an 820). Il introduisit en Occident la numération décimale (rapportée d’Inde) et les
calculs de base qui lui sont associés. On comprend bien que au départ la notion d’algorithme est liée
aux nombres et à leurs manipulations, mais elle s’est progressivement complexifiée pour porter sur des
des textes, des images, des formules logiques, des sons etc
2. Définitions
L’algorithme est le résultat d’une démarche logique de résolution d’un problème pour la mise en œuvre
pratique sur ordinateur et afin d’obtenir des résultats concrets il faut passer par l’intermédiaire d’un
langage de programmation
Un algorithme est une suite d’actions que devra effectuer un automate pour arriver en un temps fini, à un
résultat déterminé à partir d’une situation donnée. La suite d’opérations sera composée d’actions
élémentaires appelées instructions écrite dans le langage courant, (sous forme de phrase en français
définissant les étapes à faire pour résoudre un problème donnée)
Instruction Action Ordre tâche
Chaque algorithme est limité par une action de début et une action de fin qui définissent le programme
principal de l'algorithme.
Un pseudo code c’est une façon de décrire un algorithme en langage presque naturel, sans référence à
un langage de programmation en particulier avec des phrases simples. Il n’y a pas de règles particulières
mais on essaie au mieux de structurer les idées de l’algorithme
Un code c’est un algorithme codé dans un langage compréhensible par ordinateur à l’aide d’un
compilateur (traducteur). on obtient un code.
Jalila Ben Ghorbel Introduction à l'algorithmique Page 1/7
3. Les étapes de résolution d’un problème
1. Comprendre l’énoncé du problème
2. Décomposer, si nécessaire, le problème en plusieurs sous-problèmes plus simple à résoudre
3. Analyser chaque sous problème. L'analyse consiste à définir la démarche à suivre pour arriver aux
résultats en partant d’un ensemble de données nécessaires
Définir les données nécessaires (Données en entrée)
Définir les données résultats (Données en sortie)
Définir la démarche à suivre (traitement)
Données en Entrées Données Résultats
Traitement
Lire Ecrire
4. Elaborer l'algorithme.
5. Vérifier que l'algorithme fourni les résultats attendus par un tournage à la main (exécution
manuelle)
6. traduire l'algorithme en un langage de programmation
Les données nécessaires sont appelées aussi les données en entrée : ce sont les données à
valorisées par l'utilisateur pour réaliser les traitements. Ces données doivent être soient
initialisées soient lue avant utilisation.
Les données résultats sont appelées aussi les données en sortie : Ce sont les données qui vont
contenir les résultats. Ces données peuvent être initialisées ou non et elles doivent être
communiqués (afficher) à l'utilisateur.
Traitement
:
Dispositifs d’entrée : :
- clavier Action de lecture
- souris, :
- ....... Donnée
: Dispositif de sortie :
en entrée
: - Ecran,
Action Affichage - Imprimante,
Données en - ……
sortie
4. Les concepts de base d'écriture des syntaxes
Dans tout ce qui suit, pour présenter les syntaxes, on suit les règles suivantes :
1. Ce qui est entre les crochets [ ] est optionnel.
2. La suite des points de suspensions "…" veut dire que ce qui précède peut se répéter plusieurs
fois.
3. Le symbole "|" veut dire "ou bien".
Jalila Ben Ghorbel Introduction à l'algorithmique Page 2/7
4. ‘’’ Ce qui est précédé par ‘’’ ou # est un commentaire c'est-à-dire ne fait pas partie du
traitement du programme et ne sera pas exécuté. On ajoute les commentaires pour la
compréhension du programme.
‘’’
# c’est pour rendre une ligne de code sous forme de commentaire ( on l’utilise même pour
écrire un commentaire écrit sur une seule ligne
5. Structure d’un algorithme
Un algorithme à la structure suivante :
Structure générale Définition des clauses
ALGORITHME nom_de_l’algorithme Définition du nom de l'algorithme
CONST Permet de définir des constantes
VAR Permet de déclarer des variables
// Déclaration des fonctions Déclaration des fonctions définies par le programmeur
DEBUT Début du programme principal
Traitement Suite d'instructions
FIN Fin du programme principal
// Définition des fonctions Définition des fonctions définies par le programmeur
6. Démarche à suivre : Exemple
Problème :
Ecrire un algorithme qui permet de saisir leurs valeurs et d’afficher leurs
sommes
1. Analyse du problème:
Les deux variables en entrée A et B de type entier
Traitement Somme S = A+B
Variable de sorti S de type entier
A et B S = A+ B S
2. Principe de la solution
Lecture des variables a et b à partir du clavier
Faire la somme des deux variables
Afficher la somme
3. Environnement
Jalila Ben Ghorbel Introduction à l'algorithmique Page 3/7
A : variable d’entrée de type entier
B : variable d’entrée de type entier
S : variable d’entrée de type entier
Développement
ALGORITHME Somme
VAR
A, B, S: entier
DEBUT
Ecrire ("Donner le premier entier ")
Lire (A)
Ecrire ("Donner le deuxième entier ")
Lire (B)
S A+B
Ecrire ("la somme des deux entiers ", A, "et", B, " est égale à ",S )
FIN
7. Traduction en langage de programmation
Il suffit à cette étape de choisir un langage de programmation adéquat à notre situation et juste traduire la
solution algorithmique en un langage compris par la machine et en procédant à la traduction, il ne faut pas
oublier de prendre en considération les spécificité de chanque langage de programmation
Programme en C Programme en python
#include <stdio.h> ’’’
void main() On fait appel à une bibliothèque spécifique que si
{ nécessaire
float S; Pas de déclaration de variable
int A,B ’’’
printf(" donner la première valeur "); A= int(imput(‘donner la première valeur’))
scanf("%d", &A); B= int(imput(‘donner la deuxième valeur’))
printf(" donner la deuxième valeur "); S=A+B
scanf("%d", &B); Print(‘ la somme est =’,S)
S= A+B;
printf(" La somme est =%f ", S);
}
Application : Analyser les problèmes suivants
1. Problème 1: Déterminer la somme de deux entiers
2. Problème 2 : Déterminer le carrée d'un nombre
3. Problème 3 : Déterminer la moyenne arithmétique de quatre nombres
4. Problème 4 : Déterminer le prix TTC et le montant de la TVA d'un article
5. Problème 5 : Vérifier si une date est correcte
6. Problème 6 : Déterminer la racine carrée d'un nombre
7. Problème 7 : Déterminer le minimum de deux nombres
8. Problème 8 : Déterminer le maximum entre trois entiers
Jalila Ben Ghorbel Introduction à l'algorithmique Page 4/7
8. Les variables
Manipuler les données dans un programme revient à manipuler les valeurs de ces données. Pour cela
chaque donnée doit être déclarée pour occuper un espace mémoire dans la RAM. Chaque donnée
est déclarée comme étant une variable ou une constante. En effet, si la valeur ne peut pas être
modifiée tout au long du programme on parle de constante sinon on parle de variable.
Une variable est une zone mémoire caractérisée par un nom et un type et une valeur.
8.1) Nom :
Le nom des variables est composé de lettres et de chiffres :
L'ensemble des symboles utilisables : {0,1,2,…,9, a,b,…z, A, B, …Z, _}
Le premier caractère doit être une lettre ou le symbole _.
La longueur d'un nom ne doit pas dépasser 31 caractères.
Le choix des noms des variables est important pour la lisibilité d'un programme.
8.2) Type et valeur :
Lorsque l'on déclare une variable, on doit indiquer son type, qui définit :
L'ensemble des valeurs possibles de cette variable.
La quantité de mémoire utilisée pour la stocker.
La manière dont fonctionnent les différents opérateurs sur cette variable
Les opérations pour lesquelles elle est adaptée.
Les types de base :
Algorithme Domaine Espace mémoire
Entier [-32 768, 32 768] 2 ou 4 octets
c'est une partie de l'ensemble Z dépend du
système
Réel [-3.4 1038, 3.4 1038] 4 octets
C'est une partie de l'ensemble R.
Caractère [-128, 128] 1 octet
chaque caractère à un code ascii qui est un
nombre
Booléen c'est l'ensemble 4 octets
{vrai, faux} en algorithme
{1, 0} en langage C. 0 c'est faux est tout
ce qui est différent de 0 est vrai
Remarques concernant le type caractère :
C’est l’ensemble des symboles formé par les lettres ("a","b","A",…) ; les chiffres ("1","2","3",…) et
les caractères spéciaux ("!","?","@",…), le tout placés entre guillemets ( " ").
Jalila Ben Ghorbel Introduction à l'algorithmique Page 5/7
Chaque caractère correspond à un code décimal, cette correspondance est établi d’après un code
appelé ASCII (American Standard Code for Information Interchange )
En ce qui concerne les chiffres, les lettres en majuscule et minuscule ; ils sont ordonnés selon ce code
ASCII :
- code ASCII de "A" = 65 < "B" = 66 < …
- code ASCII de "a" = 97 <"b" = 98 < …
- code ASCII de "0" = 48 <"1" = 49 < …
L’espace " " est un caractère dit blanc de code ASCII = 32.
"x": x entre guillemet désigne le caractère x.
5 : désigne l’entier 5.
"5": désigne le caractère 5.
Les chaînes de caractères :
Une chaîne de caractères est un ensemble de plusieurs caractères (de 0 à 255).
Une chaîne vide est une chaîne ne contenant aucun caractère.
Exemple : "Bonjour les amis !!!!"
Une chaîne vide est représentée par deux guillemets accolés : "".
8 .3) Les constantes
Une constante possède un nom un type et une valeur. Les mêmes contraintes définies pour la définition
des variables sont valables pour les constantes. La seule différence entre constante et variable est qu'une
constante ne change plus de valeur tout au long d'un algorithme ou d'un programme.
9. Actions Simples en Algorithmique
Les trois actions qu'on peut appliquer à une variable dans un programme sont :
Affectation
Ecriture
Lecture
Jalila Ben Ghorbel Introduction à l'algorithmique Page 6/7
Syntaxe en Syntaxe en C Syntaxe En Python
Algorithme
variable1 variable2 | variable1 = variable2 | expression | variable1 = variable2 | expression |
expression | constante constante ; constante =
variable1 : c'est la variable réceptrice
variable2 : c'est la variable émettrice
expression : c'est une formule regroupant des opérateurs et des opérandes
Constante : c'est une valeur
syntaxe algorithme syntaxe C Syntaxe En Python
ECRIRE( paramètre1 printf print
[,paramètre2…] ) puts
Paramètre = variable | expression | putchar
constante | message
Message = un texte écrit entre " "
Les informations à afficher peuvent être des messages ou des valeurs. Une valeur peut être contenue dans
une variable ou une constante ou bien le résultat d'une expression
Algorithme C Syntaxe En Python
LIRE( variable1 [, variable2 …] ) scanf Imput ()
Variable : c'est le nom de la variable gets
qui va recevoir la valeur lue getchar
getche
Remarques :
1. La saisie se fait uniquement dans des variables. Ce sont les cases mémoires qui pourront accueillir
les données correspondantes.
2. La donnée à introduire doit être de même type que la variable réceptrice
l'action lire met le système en attente jusqu'à la confirmation de la saisie de la valeur.
Jalila Ben Ghorbel Introduction à l'algorithmique Page 7/7