Algorithmique/Introduction
Une page de Wikiversité.
| Chapitre 1 | |||
| Leçon : Algorithmique | |||
|---|---|---|---|
| Retour au | Sommaire | ||
| Chap. suiv. : | Variables | ||
En raison de limitations techniques, la typographie souhaitable du titre, « Algorithmique : Introduction
Algorithmique/Introduction », n'a pu être restituée correctement ci-dessus.
Sommaire |
[modifier] Qu'est-ce que l'algorithmique et les algorithmes
La première partie de la question est facile, mais ne vous apportera guère de réponse, l'algorithmique c'est de savoir comment lire, écrire, évaluer et optimiser des algorithmes.
Donc on en vient rapidement à la seconde partie de la question, qu'est-ce qu'un algorithme ?
Il s'agit d'une recette à suivre pour arriver à un certain résultat (et même à un résultat certain). Plus précisément :
|
Définition |
|
Un algorithme est un ensemble d'instructions compréhensibles permettant d'arriver à un résultat donné. |
Dans le cadre de la programmation informatique, l'algorithme va donc nous permettre d'écrire de manière compréhensible par tous et de manière suffisamment proche des langages de programmation ce que l'ordinateur va devoir faire.
Il s'agit d'un niveau d'abstraction qui doit être indépendant du langage de programmation et permettre ainsi de faire ressortir uniquement la logique intrinsèque du programme.
[modifier] Pourquoi faire des algorithmes
Souvent les programmeurs autodidactes vous affirmeront qu'ils s'en sont toujours sorti sans jamais faire d'algorithmique. Certes, il est possible et même assez courant de réaliser un programme sans y avoir recours. Mais la rédaction préalable des algorithmes permet plusieurs choses :
- d'être compréhensible par tout informaticien même s'il ne connait pas le langage du programme
- de rester focalisé sur la logique du programme et non sur les particularités du langage utilisé
- de vérifier la complexité du programme et donc de l'optimiser
- de faire ressortir de manière compréhensible les cas d'utilisations
[modifier] Comment faire des algorithmes
Cela va être l'objectif des chapitres suivants de cette leçon. Mais pour donner un avant-goût, sachez que de nos jours les algorithmes sont rédigés dans un langage à mi-chemin entre le français et les langages de programmation, en pseudo-code :
|
Définition |
|
En programmation, le pseudo-code est une façon de décrire un algorithme sans référence à un langage de programmation particulier. L'écriture en pseudo-code permet souvent de bien prendre toute la mesure de la difficulté de l'implémentation de l'algorithme, et de développer une démarche structurée dans la construction de celui-ci. En effet, son aspect descriptif permet de décrire avec plus ou moins de détail l'algorithme, permettant de ce fait de commencer par une vision très large et de passer outre temporairement certains aspects complexes, ce que n'offre pas la programmation directe. |
Au cours des prochains chapitres nous allons donc voir, en pseudo-code les quatre principales familles d'instructions servant dans un algorithme :
- l'affectation de variable
- la lecture / écriture
- les tests
- les boucles
... et c'est tout ! Avec ces seulement quatre familles d'instructions vous devriez pouvoir venir à bout de n'importe quel algorithme !
[modifier] Y a-t-il une vie à côté des algorithmes ?
Nous ne voulions pas terminer cette introduction sans ajouter un petit mot sur la programmation non-algorithmique, qui existe et qui peut s'avérer utile dans certains cas.
Il s'agit d'une programmation dans laquelle on ne sait pas où on veut arriver et donc encore moins comment y aller ! Vous comprendrez donc bien que la notion d'algorithme n'est pas applicable dans ces cas là.
Cela peut-être utile pour simuler des comportements qui ne sont composés que de réaction, de hasard ou d'adaptation.