Chapitre 3 : Les logiciels et algorithmique

Algorithmique

Définition

L'algorithmique est la science des algorithmes.

L'algorithmique s'intéresse à l'art de construire des algorithmes ainsi qu'à caractériser leur validité, leur robustesse, leur réutilisabilité, leur complexité ou leur efficacité.

DéfinitionValidité d'un algorithme

La validité d'un algorithme est son aptitude à réaliser exactement la tache pour laquelle il a été conçu.

Si l'on reprend l'exemple (trouver son chemin) de l'algorithme de recherche du chemin de la gare, l'étude de sa validit´e consiste `a s'assurer qu'on arrive effectivement `a la gare en exécutant scrupuleusement les instructions dans l'ordre annoncé.

DéfinitionRobustesse d'un algorithme

La robustesse d'un algorithme est son aptitude à se protéger de conditions anormales d'utilisation.

Dans l'exemple , la question de la robustesse de l'algorithme se pose par exemple si le chemin proposé a été pensé pour un piéton, alors que le « touriste égaré » est en voiture et que la « troisième à droite » est en sens interdit.

DéfinitionLa ré-utilisabilité d'un algorithme

La ré-utilisabilité d'un algorithme est son aptitude à être réutilisé pour résoudre des taches équivalentes à celle pour laquelle il a été conçu.

L'algorithme de recherche du chemin de la gare est-il réutilisabilité tel quel pour se rendre à la mairie ? A priori non, sauf si la mairie est juste à coté de la gare.

DéfinitionLa complexité d'un algorithme

La complexité d'un algorithme est le nombre d'instructions élémentaires à exécuter pour réaliser la tache pour laquelle il a été conçu.

Si le « touriste égaré » est un piéton, la complexité de l'algorithme de recherche de chemin peut se compter en nombre de pas pour arriver `a la gare.

DéfinitionL'efficacité d'un algorithme

L'efficacité d'un algorithme est son aptitude `a utiliser de manière optimale les ressources du matériel qui l'exécute.

N'existerait-il pas un raccourci piétonnier pour arriver plus vite à la gare ?

Fondamental

L'algorithmique permet ainsi de passer d'un problème à résoudre à un algorithme qui décrit la démarche de résolution du problème. La programmation a alors pour rôle de traduire cet algorithme dans un langage « compréhensible » par l'ordinateur afin qu'il puisse exécuter l'algorithme automatiquement.

Du problème au code source
PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimerRéalisé avec Scenari (nouvelle fenêtre)