Cours
d’Algorithmique
ISAMM 2005-2006 1
d’Algorithmique
Préparé par:
Inès El Korbi (ines.korb[email protected])
Mouna Ayari (mouna[email protected])
Introduction à l’Algorithmique
ISAMM 2005-2006 2
Définition d’un algorithme
Caractéristiques d’un algorithmique
Élaboration d’un algorithmique
Nomenclature d’un algorithme
Définition d’un algorithme
Un algorithme:
Est une suite finie d’actions (instructions) q’un automate
(ordinateur) devra effectuer pour trouver une solution à un
problème donné.
Consiste à trouver une solution informatique automatisable à
un problème réel.
L’élaboration d’un algorithme comprend les étapes
ISAMM 2005-2006 3
L’élaboration d’un algorithme comprend les étapes
suivantes:
Identifier le problème et spécifier les besoins des utilisateurs.
Conception d’une solution informatique décrite dans un
langage semi-formel compréhensible par un non-informaticien.
L’algorithme ne peut pas être exécuté par la machine:
Traduire l'algorithme dans un langage de programmation.
Phase de programmation.
Caractéristiques d’un algorithmique
Un algorithme doit être:
Lisible
compréhensible même par un non-informaticien
De haut niveau
Traductible en n'importe quel langage de
programmation.
Précis
ISAMM 2005-2006 4
Précis
Chaque élément de l'algorithme ne doit pas porter à
confusion.
Structuré
un algorithme doit être composé de différentes parties
facilement identifiables.
Élaboration d’un algorithmique
Pour élaborer un algorithme, il faut
Analyser le problème
Formuler le problème.
Définir les données du problème et les résultats attendus
Concevoir la solution
ISAMM 2005-2006 5
Concevoir la solution
Expliquer les différentes solutions possibles.
Préciser la meilleure méthode de résolution choisie (justifier le
choix).
Écrire l’algorithme.
Un algorithme est une suite d’actions manipulant des objets.
Un objet peut être une constante ou une variable.
Nomenclature d’un algorithme
Un algorithme contient
Un en-tête
Un bloc de déclaration
Le corps de l’algorithme
ISAMM 2005-2006 6
Objets simples et traitements
simples
ISAMM 2005-2006 7
Les types d’objets
Les expressions
Les instructions
Caractéristiques d’un objet
Un algorithme manipule un certain
nombre d’objets:
Constantes
Variables
ISAMM 2005-2006 8
Un identificateur : suite de caractères α-numériques
(lettres, chiffres, quelques caractères), commençant
par une lettre.
Une classe: constante, variable.
Un type : donne le domaine des valeurs possibles et
les opérations possibles.
Déclaration d’un objet et types d’objets
Déclaration d’un objet:
Constante
Constante Identificateur=valeur
Exp: Constante Pi=3.14
Variable
Identificateur : Type de variable
A: entier
ISAMM 2005-2006 9
Les types de base sont:
Le type booléen.
Les types numériques: entier, réel.
Le type caractère.
Les types construits:
Intervalle.
Énuméré.
Le type booléen
Il ne peut prendre que deux valeurs
(vrai ou faux).
Opérations possibles: Non (négation), Et
(conjonction), Ou (Disjonction)
ISAMM 2005-2006 10
Tables de vérités
La table du Non La table du ET La table du Ou
Les types numériques
Le type Entier:
Type scalaire : type qu’on peut énumérer ses valeurs.
Type ordonné (Scalaire+ordonné type ordinal).
Sous ensemble de Z : [-32 768, 32 767]
Opération arithmétiques : +, -, *, div, mod
Exp : 7 div 2 = 3
7 mod 2 = 1
opérations de comparaison: =, ≠, <, >, <=, >=
Exp
:
delta >= 0
ISAMM 2005-2006 11
Exp
:
delta >= 0
Le type Réel:
Type ordonné mais pas scalaire.
Sous ensemble de R : [-3.40*10^(38) à -1.40*10^(45)].
Exp : 3.14
Opérations arithmétiques : +, -, *, /, ^ (opérateur de puissance).
Opérations de comparaison: =, ≠, <, >, <=, >=.
Exp : 3.0/2 = 1.5, 3.40*10^(38)
Fonctions prédéfinies : sin, cos, log, 
Le type caractère
Représentation d’un caractère α-numérique par
un code ASCII.
Caractère Code ASCII
(Binaire)
Code ASCII
(Décimal)
‘A 0100 000 65
‘B’ 0100 0010 66
ISAMM 2005-2006 12
fonctions prédéfinies :
Chr (valeur): renvoie le caractère de la valeur entière
Rang(caractere): renvoie le code ASCII d’un caractère
Exp: Chr(65) = A , Rang(‘A’)=65, Chr(Rang(‘A’))=‘A’
‘3’ 0011 0011 51
Les types construits
Type énuméré:
Extension d’un domaine de valeurs
Déclaration
T-énuméré = (valeur 1, valeur 2, , valeur n)
Exp : JOURS = (Lun, Mar, Merc, Jeu, Vend, Sam, Dim)
COULEURS = (bleu, blanc, vert, rouge)
Opération spécifiques: successeur, rang, prédécesseur
ISAMM 2005-2006 13
Exp: Succ (Jeu) = Vend, Rang (Lun) = 0, Pred (mar) = Lun
Type intervalle
Sous ensemble d’un type ordinal.
Déclaration: t-intervalle = val-Min .. val-Max
Exp : Minuscule = ‘a’ .. 'z’
WE = Sam ..Dim
L’intervalle hérite du type de base de ses bornes.
Les expressions
Une expression est un ensemble d’opérandes reliées
par des opérateurs, et équivalente à une seule valeur.
Exp: 5+4; 123-45+844 ; (X < 4) Et (X >9)
Les opérateurs peuvent être:
Unaires:
Syntaxe: opérateur opérande
(-) unaire, Non
Exp: -6, Non A
Bianires
ISAMM 2005-2006 14
Bianires
Syntaxe: opérande opérateur opérande
+, -, /, et, ou, 
Exp: 12+3, A Ou B; 1.3*2.5
Il existe 3 types d’opérateurs:
Les opérateurs arithmétiques: +, -, *, /, div, mod, (-) unaire.
Les opérateurs logiques: Non, Et, Ou.
Les opérateurs de comparaison: =, <, >, <=, >=, <> (≠).
Évaluation d’une expression
Une expression est évaluée de gauche à droite.
Les opérateurs ont des priorités prédéfinies (4 niveaux
de priorités).
ISAMM 2005-2006 15
Exp: 1 + 2 * 3 = 7 (et non pas 9)
On peut utiliser des parenthèses explicites pour forcer un
ordre.
Exp: (1 + 2 )* 3 = 9
Instruction d’affectation
L’instruction d’affectation consiste à attribuer une valeur
à une variable donnée.
Exp:A ← 24
On peut attribuer à une variable le contenu d’une autre
variable.
Exp: A ← B
Une instruction d’affectation ne modifie que ce qui est à
gauche de la flèche.
Exp:
A ← B+4
ISAMM 2005-2006 16
Exp:
A ← B+4
Si B valait 12, A vaut 16 et B vaut toujours 12.
Les variables de part et d’autre de la flèche d’affectation
doivent être de même type.
Exp:
A: entier; B: entier
B 12; A ← B+4; (correct)
A: entier; B: réel
B 3.14; A ← B+4; (erreur)
Ordre des instructions d’affectation
Le résultat final d’une algorithme dépend de l’ordre
d’exécution de ses instructions.
VARIABLE : A : Entier
Début
A ←0
B ← 12
A ←B+4
B ← A+2
Fin
VARIABLE : A :
Entier
Début
A ←0
B ← 12
B ← A+2
A ←B+4
Fin
ISAMM 2005-2006 17
Valeurs finales
Exp 1: A=16, B=18
Exp 2: A=18, B=14
Il n’ay a pas d’intérêt à affecter une variable, pour l’affecter
différemment toute suite après.
Exp 1 Exp 2
Fin
A ←12
A ← 34
A ←34
Peut être réécrit
Instructions d’entrée/sortie
Assurer le dialogue entre la machine et l’utilisateur.
Opération de lecture (Lire):
L’utilisateur rentre des valeurs au clavier exploitées par l’algorithme.
Opération d’écriture (Ecrire):
L’algorithme fournit des valeurs à l’utilisateur.
Variable :
A : entier
N
: entier
ISAMM 2005-2006 18
Écrire des libellés à l’écran pour prévenir l’utilisateur de ce qu’il
doit frapper.
Exp: Ecrire ("Entrez un nombre :")
Lire (N)
N
: entier
Debut
Lire (N) /*L’utilisateur entre la valeur 2*/
A ← N^2
Ecrire (A) /*Affiche la valeur 4 sur l’écran*/
Fin
Les structures conditionnelles
ISAMM 2005-2006 19
Structure conditionnelle simple
Structure conditionnelle alternative
Structures conditionnelles imbriquées
Structure conditionnelle à choix multiples
Structure conditionnelle simple
La structure conditionnelle permet d’évaluer une expression
logique (condition).
Si l’expression est vraie, une séquence précise sera exécutée.
Cette séquence sera sautée dans le cas contraire.
Si (Cond 1) /* La condition est une expression
logique*/
Alors
Algorithme Algo1
Variable
A, B: entier
ISAMM 2005-2006 20
Alors
A1 /* A1, A2, Ket An seront exécutées
A2 uniquement
Ksi Cond 1 est vraie * /
An
Fin Si /* Marque de fin des actions à exécuter
si Cond 1 est vraie*
Schéma de la
conditionnelle simple
A, B: entier
Debut
Lire(A,B)
Si (A<B)
Alors
Ecrire(A)
Fin Si
Fin
Exemple
1 / 16 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !