Qu’est-ce qu’un algorithme ?

1. Vocabulaire

Définition 1.
Un algorithme est une suite finie et non ambiguë d’opérations ou de processus élémentaires explicites, appelés « instructions » et rangés dans un certain ordre, permettant de résoudre un problème ou d’obtenir un résultat.

Al-Khwārizmī

Le mot « algorithme » vient de « Algorithmi », transcription latinisée du mot « Al-Khawarizmi », nom du célèbre mathématicien de langue arabe, et du mot grec « arithmos » qui signifie «nombre». D’où le mot « arithmétique ».

Muḥammad ibn Mūsā al-Khwārizmī, né dans les années 780, probablement à Khiva dans la région du Khwarezm (d’où il prend son nom), dans l’actuel Ouzbékistan, mort vers 850 à Bagdad.

Exemples d’algorithme

  • Une recette de cuisine est un algorithme. Gâteau au yaourt : Préciser les ingrédients. Déterminer les quantités. Expliciter l’ordre de la préparation. Enfin, sortir du four et servir.
  • Un mode d’emploi d’une machine est un algorithme.
  • Les tâches quotidiennes d’une personne, effectuées entre le réveil et le départ à l’école forment un algorithme.
  • Algorithmes de résolution d’une équation du type $f(x)=0$. Il existe différentes méthodes et différents algorithmes pour résoudre une équation $f(x)=0$.
    Algorithme de dichotomie,
    Méthode de Newton ou méthode des tangentes,
    etc.$\ldots$

1.2. Structure d’un algorithme

Un algorithme est composé, en général, de trois parties :

  1. Déclaration des variables
    Exemple : N est un entier naturel. X est un nombre réel. “Nom” est une chaîne de caractères,$\ldots$
  2. Le corps de l’algorithme est composé en deux parties :
    • l’Initialisation, qui consiste à donner des valeurs initiales aux variables si nécessaire,
    • puis le Traitement, c’est-à-dire la suite finie d’instructions à exécuter pour résoudre le problème : Instruction 1 Instruction 2 etc.
  3. L’affichage des résultats et Sortie. Fin de l’algorithme.

1.3. Langages de programmation

Un algorithme peut être écrit ou traduit dans un ou plusieurs langages de programmation, puis compilé pour créer un programme exécutable (une application) dans un ordinateur ou une calculatrice.

Un langage de programmation est un code de communication entre un être humain et une machine (en général un ordinateur) ou entre deux machines, qui permet d’écrire des programmes et de les exécuter.

Il en existe un grand nombre de langages de programmation, par exemple C, C++, C#, Java, Python ou encore PHP. Un programme informatique se présente concrètement sous la forme d’un (ou le plus souvent plusieurs) fichiers texte, contenant des commandes spécifiques au langage.

Ce sont les ordres données à la machine, qu’on appelle également « instructions ».

L’ensemble des fichiers représente le code source du programme. Chaque langage de programmation dispose de sa propre syntaxe (manière de construire les instructions) et d’instructions spécifiques.

Nous allons donner des exemples essentiellement dans trois langages :

  • Algobox, langage d’apprentissage qui utilise le « langage courant » ou un pseudo-langage.
  • Langages de calculatrices :
  • TI-Basic est le nom du langage de programmation des calculatrices graphiques Texas Instruments.
  • Basic Casio est le langage de programmation des calculatrices graphiques Casio.
  • Le langage « Python » dont nous allons apprendre les instructions de base en classe de seconde. Python est un langage multiplateforme, c’est-à-dire disponible sur plusieurs architectures (Ordinateur PC, Tablettes, Calculatrices, Smartphones,…) et systèmes d’exploitation (Windows, Linux, Mac, Android…).