Algoritme
Algoritme
Algoritme
Introduction à l’algorithmique
I. Mouakher
Plan
1 Introduction
Définitions
Algorithmique et programmation
Les problèmes fondamentaux
2 Algorithmique
Types
Variables et Constantes
Actions de base
Forme générale de l’algorithme
Trace
Définitions
Introduction
Algorithmique et programmation
Algorithmique
Les problèmes fondamentaux
Définition (Algorithmique)
Science qui étudie l’application des algorithmes à l’informatique.
Définition (Algorithme)
Procédure de calcul bien définie qui prend en entrée une valeur ou un
ensemble de valeurs et qui donne en sortie une valeur ou un ensemble de
valeur. Un algorithme est donc une séquence d’étapes de calcul qui
transforme l’entrée en sortie. Un algorithme s’écrit le plus souvent en
pseudo-langage de programmation (appelé langage algorithmique).
Structure de données
Définition
C’est un moyen de stocker et organiser des données pour faciliter l’accès
à ces données et leur modification.
Algorithmique et programmation
Programme et compilation
Programme et compilation
Complexité
En combien de temps un algorithme va -t-il atteindre le résultat
escompté ?
De quel espace a-t-il besoin ?
Calculabilité
Existe-t-il des tâches pour lesquelles il n’existe aucun algorithme ?
Etantdonnée une tâche, peut-on dire s’il existe un algorithme qui la
résolve ?
Correction
Peut-on être sûr qu’un algorithme réponde au problème pour lequel
il a été conçu ?
Types - Définition
Définition
Classer les objets selon :
Ensemble des valeurs que peut prendre l’objet
Ensemble des opérations permises sur ces valeurs
Type Entier
Ensemble des entiers relatifs : 8, -10, +3 ;
Opérations définies : +, -, *, div, mod
Type Réel
Ensemble R
La forme usuelle avec le point comme symbole décimal : -4.5678 5
13.9 +12.44
Opérations définies : +, -, *, /
Type caractère
peut prendre comme valeur un et un seul caractère : les lettres (’A’,
’d’), les chiffres (’2’), les caractères spéciaux (’*’, ’ ’)
Opérations définies : =, !=, <, <=, >, >=
Variables
Déclaration
Exemple
VAR prix : réels
code : chaı̂ne
Déclaration
Remarques
Le choix d’un nom d’une variable doit :
respecter certaines conventions (ex : commence par une lettre, pas
d’espace...).
être suffisamment signifiant pour qu’on reconnaisse leur fonction
aisément
Dans certains langages, il est possible de ne pas déclarer le type des
variables. Ce sont des langages faiblement typés. Mais ceci n’est pas
recommandé, c’est pourquoi en algorithmique, nous prendrons
l’habitude de toujours déclarer le type des variables
Constantes
Actions de base
Action / Instruction
Elément, qui lorsqu’il est interprété, modifie l’état d’un programme
Affectation : ←−
←−
Syntaxe : variable ←− expression
But : affecte la valeur de l’expression à la variable. La variable et
l’expression doivent être du même type
Exemple
a←5
a←b
a←2∗b+1
Affectation : ←−
Exemple
LIRE
Syntaxe : LIRE(var1, var2,...)
But : demande à l’utilisateur de saisir des valeurs à partir de l’entrée
standard
Exemple
lire(a,b)
L’affichage : ECRIRE
ECRIRE
Syntaxe : ECRIRE(expr1, expr2,...)
But : affiche les valeurs des expressions sur la sortie standard
Exemple
ecrire(”a = ”,a,” et b = ”,b)
Exemple d’algorithme
ALGORITHME Exemple
VAR
A,B,C : entier
DEBUT
Ecrire(”Entrez le premier entier”)
Lire(A)
Ecrire(”Entrez le deuxième entier”)
Lire(B)
A←A+5
C ←B +A
Ecrire(”le résultat :”,C)
FIN
1 Préparation du traitement
données nécessaires à la résolution du problème
2 Traitement
résolution pas à pas, après décomposition en sous-problèmes si
nécessaire
3 Editiondes résultats
impression à l’écran, dans un fichier, etc.
Indentation
Définition
La trace d’un algorithme représente la valeur des différentes informations
d’un programme durant son exécution. Il est vivement conseillé
d’effectuer la trace d’un algorithme afin de vérifier qu’il fonctionne.
Exemple
Effectuons la trace de l’algorithme précédent avec les données suivantes :
A = 5 et B= 10
ALGORITHME Exemple
VAR A B C
A,B,C : entier ? ? ?
DEBUT
Ecrire(”Entrez le premier entier”) ? ? ?
Lire(A) 5 ? ?
Ecrire(”Entrez le deuxième entier”) 5 ? ?
Lire(B) 5 10 ?
A←A+5 10 10 ?
C ←B +A 10 10 20
Ecrire(”le résultat :”,C) 10 10 20
FIN