Mettre en oeuvre des algorithmes
L’objectif d’un programme est généralement :
- Effectuer un traitement (calculs, chargement de fichiers ou de données…).
- Afficher le résultat du traitement dans le flux de sortie.
Les algorithmes sont à la base de tout programme. Un bon développeur est avant tout un bon algorithmicien.
Un algorithme est une méthode permettant de résoudre un problème de manière systématique.
Les algorithmes ne sont pas spécifiques à l’informatique.
Les 3 exemples ci-dessous sont des algorithmes:
- La méthode consistant à poser une multiplication pour calculer le produit de 2 nombres.
- Les instructions données par un GPS pour atteindre une destination.
- Une recette de cuisine pour réaliser une tarte aux fraises.
Ce qui distingue un algorithme d’une autre méthode de résolution de problèmes, c’est le caractère systématique de son exécution. En d’autres termes, un algorithme ne doit demander aucune initiative à celui ou celle qui l’exécute. Par exemple, un ordinateur n’étant capable d’aucune initiative, il ne peut exécuter une tâche que si on lui fournit un algorithme pour le faire. Tout programme informatique a donc, par définition, la structure d’un algorithme.
Le caractère systématique ne signifie pas que l’exécutant de l’algorithme ne doit rien savoir faire a priori. Au contraire, tout algorithme présuppose un certain nombre de capacités.
Dans nos 3 exemples cités précédemment:
- Poser une addition suppose de connaître ses tables d’additions.
- Suivre un GPS suppose de savoir conduire, de connaître sa droite et sa gauche, ainsi que le code de la route.
- Suivre une recette de cuisine suppose de savoir peser, couper, verser les ingrédients.
Les algorithmes pour l’informatique doivent donc s’appuyer sur ce que “sait faire” l’ordinateur.
En pratique, ces capacités dépendent du langage et de l’environnement de programmation utilisés.