Les langages de programmation

Mini-cours sur les algorithmes

Table des matières

Avant de lire ce cours, je choisis mes couleurs

Souvent,

Faute de temps, on n'écrit pas l'algorithme et on code directement.
Faute de temps, on ne commente pas le code.
Faute de temps, on ne documente pas (suffisamment) le programme.
On a l'impression qu'on a terminé son travail lorsque son programme fonctionne parfaitement.

Prendre le temps, aujourd'hui, de bien concevoir la solution permet bien souvent de gagner bien du temps demain.

Un bon code n'est pas seulement celui qui permet au programme de bien faire son travail - par exemple, en affichant toujours la bonne réponse - c'est aussi celui qui permet de le faire le plus rapidement possible et qui permet d'être facilement modifiable en vue de futures améliorations.

Analyser le problème

Avant de décrire la solution, il faut comprendre le problème !

L'analyse du problème commence par une feuille de papier, sur laquelle on commence par lister les données, puis par gribouiller un début de solution. Puis, on se rencontre que ... alors on corrige, ajoute, supprime. Bref, on se rapproche petit à petit de la solution. Puis, avec l'habitude, on trouve de plus en plus vite les solutions.

Souvent, les problèmes très simples ne doivent pas être décomposés en sous-problèmes plus simples à résoudre. Décrire la solution d'un gros problème consiste alors à découper en sous-problèmes puis à imbriquer les sous-solutions. Souvent, il est nécessaire de stocker des résultats intermédiaires.

Qu'est-ce qu'un algorithme

Un algorithme est la description des opérations requises pour obtenir, à partir de données, un résultat.

Un traitement informatique (= un programme) fait toujours la même chose !
Il collecte les informations, les traite et produit un résultat.

Les données viennent du clavier (et/ou d'un fichier, voire de la souris)

Le résultat est envoyé à l'écran (et/ou dans un fichier, voire l'imprimante)

En JavaScript, les données sont tapées au clavier (ou en déplaçant un curseur via la souris) et le résultat s'affiche à l'écran. Le JavaScript n'est pas un langage destiné au traitement de fichiers, contrairement au C ou C++.

Cette description du traitement des données, aussi appelé traitement informatique, est faite en pseudo-français, car la faire en français prendrait plus de temps.

Un code source est la traduction d'un algorithme.
Cette traduction est faite dans un langage de programmation.
Différents existent : C, C++, Java, PHP, JavaScript, ...
Un même algorithme pourrait donc être traduit dans différents langages.
Un algorithme, des programmes ...