Cours d’Informatique 1
Mr T.MESSAOUDI
IV- L’ALGORITHME
Historique
C'est un mathématicien perse du 8ème siècle, Al-Khawarizmi, qui a donné son nom à
la notion d'algorithme. Son besoin était de traduire un livre de mathématiques venu
d'Inde pour que les résultats et les méthodes exposés dans ce livre se répandent dans
le monde arabe puis en Europe. Les résultats devaient donc être compréhensibles par
tout autre mathématicien et les méthodes applicables, sans ambiguïté.
Par ailleurs, le titre de ce livre devait être repris pour désigner une branche des
mathématiques, l'algèbre.
ﺔﻠﺑﺎﻘﻣﻟاو رﺑﺟﻟا بﺎﺳﺣ ﻲﻓ رﺻﺗﺧﻣﻟا بﺎﺗﻛ
Si l'origine du mot algorithme est très ancienne, la notion même d'algorithme l'est
plus encore : on la sait présente chez les babyloniens, 1800 ans avant JC.
1.
Cours d’Informatique 2
Mr T.MESSAOUDI
Introduction - Définitions
1.1. Qu’est-ce qu’un algorithme ?
L’algorithmique est un ensemble de méthodes à mettre en œuvre pour résoudre
théoriquement un problème donné.
Un algorithme est une suite d’instructions qui, une fois exécutée correctement,
conduit à un résultat donné.
Si l’algorithme est juste, le résultat est le résultat voulu et le problème est résolu. Si
l’algorithme est faux, le résultat est aléatoire.
Un algorithme rédigé correctement doit respecter les propriétés suivantes :
– il est constitué d’un ensemble fini d’instructions ;
– il doit toujours produire le résultat en un nombre fini d’étapes ;
l’exécution d’un algorithme ne requiert pas l’intelligence de l’humain (sauf celle qui
est nécessaire à comprendre les instructions).
Un algorithme n’est pas unique. Lorsqu’un problème est traitable, il existe un
ensemble de solutions possibles plus ou moins optimales. Il existe aussi des problèmes
qui ne sont pas solubles par un algorithme : Donner la valeur précise de PI, Quels
seront les numéros gagnants du prochain tirage du Loto ?... Enfin, il a été montré que
certains problèmes mathématiques n’étaient fondamentalement pas traitables par le
biais d’un algorithme et donc insolubles par des ordinateurs : Trouver un nombre parfait
impair, Trouver tous les nombres premiers jumeaux...
PRESENTATION
Considérons les étapes qui interviennent dans la résolution problème quelconque :
1. concevoir une procédure qui une à fois appliquée amènera à une solution du
problème ;
Cours d’Informatique 3
Mr T.MESSAOUDI
2. résoudre effectivement le problème en appliquant cette méthode.
Le résultat du premier point sera nommé un algorithme. Quant au deuxième point,
c'est-à-dire la mise en pratique de l'algorithme, nous l'appellerons un processus.
Ces notions sont très répandues dans la vie courante. Un algorithme peut par
exemple y prendre la forme :
d'une recette de cuisine,
d'un mode d'emploi,
d'une notice de montage,
d'une partition musicale,
d'un texte de loi,
d'un itinéraire routier.
Dans le cas particulier de l'informatique, une étape supplémentaire vient se glisser
entre la conception de l'algorithme et sa réalisation à travers un processus : l'algorithme
doit être rendu compréhensible par la machine que nous allons utiliser pour résoudre
effectivement le problème. Le résultat de la traduction de l'algorithme dans un langage
connu de la machine est appelé un programme.
1.2. A quoi sert un algorithme ?
Sa lecture et l’exécution de ses instructions permet de résoudre un problème donné
et d’en trouver la solution.
Deux types de problèmes peuvent être résolus par un algorithme :
des problèmes décidables : la réponse à la question posée se fait par oui ou par
non ;
– des problèmes calculables : la solution peut être calculée en un nombre fini
d’étapes. Il existe alors une solution pour chaque valeur d’entrées.
Certains problèmes rentrent dans la catégorie des problèmes numériques, qui
peuvent alors être résolus à l’aide d’un ordinateur et d’un programme associé.
1.3. Comment aboutir à un bon programme ?
La résolution de problèmes numériques par le biais d’un ordinateur impose quelques
contraintes :
un ordinateur exécute le travail qu’on lui a fourni (pas celui qu’on pense lui avoir
fourni) ;
– un ordinateur ne connaît pas les notions d’ambiguïté ;
un ordinateur n’est pas doué d’intelligence et ne peut donc pas interpréter une
information. Il peut, par contre, il peut effectuer très rapidement des opérations
arithmétiques et logiques sans jamais faire d’erreur.
Mais avant de se lancer dans l’écriture d’un programme, il est indispensable de fixer
ses idées à l’aide d’un algorithme, écrit sur papier, en utilisant une thode de
résolution. Il restera alors à la charge du programmeur de traduire cette suite
Cours d’Informatique 4
Mr T.MESSAOUDI
d’instructions en un programme fonctionnel, nécessitant alors des connaissances en
programmation.
On obtient enfin un bon programme lorsque celui-ci fonctionne sans erreur et en
utilisant un minimum de ressources.
– Il doit être testé et validé avec le plus grand nombre de données possibles.
– Il doit être protégé contre toute mauvaise utilisation par l’utilisateur.
1.4. Un exemple d’algorithme : la méthode d’Euclide
Un des algorithmes les plus célèbres est celui d’Euclide, permettant de trouver le plus
grand dénominateur commun (PGCD) de deux nombres
Algorithme NomAlgorithme
Début
... actions
Fin
La première ligne, appelée profil donne essentiellement le nom de l'algorithme. On
trouve ensuite un délimiteur de début puis les différentes actions composant
l'algorithme et enfin un délimiteur de fin.
Cours d’Informatique 5
Mr T.MESSAOUDI
Ainsi, l'algorithme suivant est valide :
Algorithme Bonjour
Début
Écrire('Hello world !!!')
ALaLigne
Fin
Variables et types
Une variable est constituée d'un nom et d'un contenu, ce contenu étant d'un certain
type. Les types différents : booléen, caractère, chaîne de caractères, nombre entier,
nombre réel, etc.
Pour la clarté de l'algorithme, il peut être intéressant de déclarer les variables
utilisées et leur type au tout début. Quand l'algorithme sera traduit en programme cette
déclaration aura d'autres avantages : réservation de l'espace mémoire correspondant
au type, possibilité de vérifier le programme du point de vue de la cohérence des types,
etc.
Affectation souvent symbolisée par une flèche vers la gauche (←).
Expressions, évaluation, etc.
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 !