Université 20 Aout 1955 - Skikda
Département Sciences de la Matière
Notions
d’algorithmique
Dr. Saïd LAYADI
[Link]@[Link]
Informatique I – Licence 1
2020-2021
Définition :
Le terme algorithme vient du nom du mathématicien musulman
Al-Khawarizmi (780- 850 après J.C. / 164-235 )هجري
Un algorithme est une suite finie de instructions à appliquer dans
un ordre bien déterminé pour arriver à un résultat.
L’algorithmique désigne aussi la discipline qui étudie les
algorithmes et leurs applications en Informatique
Une bonne connaissance de l’algorithmique permet d’écrire des
algorithmes exacts et efficaces ()دقيقة وفعالة.
Module Informatique 2
Représentation d’un algorithme
Historiquement, deux façons pour représenter un algorithme:
• L’Organigramme: représentation graphique
avec des symboles (carrés, losanges, etc.)
• offre une vue d’ensemble de l’algorithme
• représentation quasiment abandonnée
aujourd’hui
• Le pseudo-code: représentation textuelle avec une série de
conventions ressemblant à un langage de programmation (sans
les problèmes de syntaxe)
• représentation largement utilisée
• plus pratique pour traduire en langage de programmation
Module Informatique 3
Langage de programmation
Définition
On appelle langage de programmation tout ensemble fini de
mots réservés qui permettent de traduire les instructions de
l’algorithme afin de l’exécuter par l’ordinateur.
Exemple :
Pascal, Matlab, Cobol, Fortran, C, Delphi, Visual Basic (VB),
C++, Java, Python, etc...
Module Informatique 4
Algorithmique
Notions et instructions de base
Module Informatique 5
Structure générale d’un algorithme
Entête Algorithme
Déclaration Déclaration des Variables
Déclaration des Constantes
Début
action1
Corps action2
…
FIN
Module Informatique 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 doivent être caractérisées par :
• un nom (Identificateur)
• un type (entier, réel, caractère, chaîne de caractères, …)
Module Informatique 7
Choix des identificateurs (1)
Le choix des noms de variables est soumis à quelques règles qui
varient selon le langage, mais en général:
Un nom doit commencer par une lettre alphabétique
exemple valide: A1 exemple invalide: 1A
doit être constitué uniquement de lettres, de chiffres et du
soulignement _ (Eviter les caractères de ponctuation et les espaces)
valides: SMIP2007, SMP_2007 invalides: SMP 2005,SMI-2007,SMP;2007
doit être différent des mots réservés du langage (par exemple en
Java: int, float, else, switch, case, default, for, main, return, …)
La longueur du nom doit être inférieure à la taille maximale spécifiée
par le langage utilisé
Module Informatique 8
Choix des identificateurs (2)
Conseil: pour la lisibilité du code choisir des noms significatifs
()ذات معنى qui décrivent les données manipulées
exemples: TotalVentes2004, Prix_TTC, Prix_HT
Remarque: en algorithmique, on va respecter les règles citées,
même si on est libre dans la syntaxe.
Module Informatique 9
Déclaration des variables
Rappel: toute variable utilisée dans un algorithme doit être
déclarée.
En algorithmique, 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
Module Informatique 10
Déclaration des Constantes
Définition :
Les Constantes désignent des références à des valeurs
invariantes dans l’algorithme.
Syntaxe :
Constante Nom_Constante = Valeur
Exemple : Constante Pi = 3.14
TVA = 17
Module Informatique 11
Les types de variables les plus
utilisés
Le type d’une variable détermine l’ensemble des valeurs qu’elle
peut prendre, les types de fondamentales les plus utilisés
sont :
Le type entier ()االعداد الصحيحة
Le type réel ()االعداد الحقيقة
Le type booléen ()المنطقية
Le type caractère ()رمز أو حرف واحد
Le type chaine de caractères ()سلسلة من الحروف
Module Informatique 12
Le types Entier
Définition :
C’est l’ensemble des nombres entiers positifs ou négatifs.
Syntaxe de la déclaration :
Variable variable1,variable2,… : Entier
Exemple :
a et b sont, par exemple,
Variable a, b : Entier les coefficients de
l’équation : ax + b = 0
Module Informatique 13
Le types Entier
Operations possibles sur le type entier :
Opération arithmétiques : +, - , *
Div : Le quotient de division entière(ex : 10 div 3 donne 3)
Mod : Le reste de division entière(ex : 10 mod 4 donne 2)
- : Changement de signe.
Abs : donne la valeur absolue.
Sqr : donne le carré.
Les opérateurs de comparaison : <, >, ≤, ≥, ≠, =.
Module Informatique 14
Le type Réel
Définition :
C’est l’ensemble des nombres réels, c’est à dire les nombres
décimaux sans limitation.
Syntaxe de la déclaration :
Variable variable1,variable2,… : Réel
Exemple :
Variable x, y : Réel
Module Informatique 15
Le type Réel
Operations possibles sur le type réel :
Opération arithmétiques : +, - , *, /
Round : arrondi X vers l’entier le plus proche qui est < ou > à X.
X.5 est toujours arrondi vers le nombre pair.
(ex round(2.5) donne 2, round(3.5) donne 4, round(12.56) donne 13
Trunc : Donne la partie entière de X (ex: Trunc(123.456) donne 123)
- : Changement de signe.
Abs : donne la valeur absolue.
Sqr : donne le carré.
Sqrt : donne la racine carrée.
Les fonctions mathématiques : sin, cos, tan, ln, exp,…
Les opérateurs de comparaison : <, >, ≤, ≥, ≠, =.
Le type caractère
Définition :
Une variable de type caractère a comme valeur un des 256 caractères
connus : lettres minuscules, lettres majuscules, lettres accentuées,
chiffres, caractères spéciaux ($, %, …).
Remarques :
- Chaque caractère possède un code appelé : Code ASCII (American
Standard Code for Information Interchange)
- Le caractère "" est un caractère (caractère vide)
- Une variable de type caractère ne peut contenir qu’un seul caractère
- Les caractères sont classés selon leurs codes ASCII.
(‘A’<‘B’<‘C’<‘D’<‘E’<…<‘Z’)
Module Informatique 17
Le type caractère
Operations possibles sur le type caractère:
Ord(x) : donne le code ASCII de x. par ex : ord(‘A’) donne 65.
CHR(N) : donne le caractère dont le code ASCII est N. Ex : CHR(66)
donne ‘B’.
- PRED(x) : donne le caractère précédent de x. Ex : Pred(‘D’) donne ‘C’.
SUCC(x) : donne le caractère suivant de x. Ex : Succ(‘E’) donne ‘F’.
Les opérateurs de comparaison : <, >, ≤, ≥, =, ≠
Module Informatique 18
Le type chaine de caractères
Définition :
C’est une suite de caractères, c’est à dire des combinaisons
de caractères (lettres, chiffres, symboles..).
Syntaxe de la déclaration :
Variable variable1,variable2,… : Chaine de Caractères
Exemple :
Variable Nom, Prenom, Adresse : Chaine de Caractères
Module Informatique 19
Le type chaine de caractères
Operations possibles sur le type Chaine de caractères:
Length(S) : donne la longueur de S. Ex : length (‘bonjour’) donne 7.
Copy (S, Debut, Nbre) : donne une sous-chaine de caractères. Cette sous
chaine est copiée a partir de Debut et contient Nbre caractères.
Ex : Copy(‘Bonjour’,3,2) donne ‘nj’.
+ : donne la concaténation de deux chaines. Ex ‘Bonjour’ +’ ‘+ ‘pascal’
donne ‘bonjour pascal’.
Pos (s1, s2) : donne la position de la chanine s1 dans s2.
Ex : Pos(’MOLE’,’TIMOLEON’) = 3. Pos(’MULE’,’TIMOLEON’) = 0.
Les opérateurs de comparaison : <, >, ≤, ≥, =, ≠
Module Informatique 20
Le type Booléen
Définition :
Il s’agit des objets qui ne peuvent prendre que deux valeurs
vrai ou faux.
Syntaxe de la déclaration :
Var variable1,variable2,… : Booléen
Exemple :
Variable Décision : Booléen
Les opérations sont Et, Ou et Non
Module Informatique 21