ALGORITHMIQUE
Dr Priso Essawe Ndedi
INTRODUCTION
• Un algorithme est une procédure qui sur la
base de données reçues en entrée, produit
des résultats en sortie en suivant un nombre
fini d’instructions.
• Un algorithme est correct s’il s’arrête en
produisant des résultats corrects.
• Il est incorrect s’il produit des données
incorrectes ou s’il ne s’arrête pas.
1
INTRODUCTION
• Les algorithmes n’ont pas été créés par la
science informatique. Ils ont toujours été
utilisés.
• Nous en exécutons des dizaines chaque jour
– exécuter une recette de cuisine
– monter un meuble à partir d’un mode d’emploi
– indiquer le chemin à un étranger
– constituer un dossier de concours
– soigner le paludisme
OBJECTIFS DU COURS
• Etre capable de décomposer la solution à un
problème en étapes de résolution non
ambigües (raisonnement algorithmique)
• Apprendre à organiser les instructions de
résolution d’un problème (structures
algorithmiques fondamentales)
• Comprendre l’importance de l’organisation
des données pour la résolution d’un problème
(structures de données)
2
QUALITES UTILES
• Explicitation: pouvoir énoncer toutes les étapes de
résolution d’un problème
• Intuition: pouvoir aborder des problèmes sans solution
pré-établie
• Rigueur: La moindre erreur peut avoir de lourdes
conséquences. Donc, aucune erreur n’est admise.
• Efficacité: être conscient qu’un problème peut avoir
plusieurs solutions aux performances très variables.
• Endurance: être capable de chercher longtemps la
solution à un problème
SYSTÈME ALGORITHMIQUE
• Processeur: entité qui exécute les actions
• Objets: entités qui sont manipulées
• Opérations: actions que le processeur peut
exécuter sur les objets
– Constructeurs
– Transformateurs
– observateurs
3
LANGAGE DE PROGRAMMATION
• Un langage de programmation est un système
algorithmique
• Il existe des centaines de langages de
programmation
• Chaque langage de programmation se caractérise
par les objets qu’il va manipuler et les opérations
sur ces objets
• Il existe des objets qui sont communs à presque
tous les langage de programmation. Ils sont
appelés types de base.
EXEMPLES DE LANGAGES
Langage Spécialité
C, Pascal, Basic Généraliste
JAVA Multiplate-forme (PC, téléphones, tablettes, etc.)
PHP Pages web
VBA pour word Traitement de texte
R Statistiques
Etc.
NB: Dans ce cours, nous n’insisterons pas sur un langage particulier, car c’est un
cours d’algorithmique, et non de programmation. Néanmoins, pour
expérimenter nos algorithmes nous aurons besoin d’utiliser un langage de
programmation qui sera soit VBA, soit Basic.