Techniques et concepts de l'entreprise, de la finance et de l'économie 
(et fondements mathématiques)

Une initiation aux algorithmes

logo

 

 

 

 

 

 

 

 

 

 

Introduction à l'algorithmique

Qu’est-ce qu’un algorithme ? C’est à cette simple question que nous nous proposons de répondre ici. Pas de présentation compliquée, même pas de schéma. Juste une introduction qui s’inscrit dans un cours de mathématiques de classe de seconde.

Définition

L’algorithme tire son nom du mathématicien et astronome perse al-Kharezmi, né dans les années 780 en Ouzbékistan (dans notre alphabet son nom n’est pas fixé et vous trouverez de nombreuses orthographes au fil de vos lectures). C’est du titre de l’un de ses ouvrages que le mot algèbre est né.

Selon le Larousse encyclopédique (2 vol.), un algorithme est « une suite finie d’opérations élémentaires constituant un schéma de calcul ou de résolution d’un problème ». C’est l’outil de base de la programmation informatique.

La science des algorithmes est l’algorithmique.

Langage

Un algorithme peut s’écrire dans un langage « naturel » ou être formulé dans un langage propre à un environnement logiciel.

Tout programme est donc la traduction d’un algorithme. Les langages de programmations sont nombreux (Java, C++…) et ne doivent pas être confondus avec des langages purement descriptifs (HTML…).

Exemples

De nombreuses activités de la vie courante sont des processus. Par exemple, les tâches que nous enchaînons chaque matin avant d’aller travailler, la réalisation d’une recette de cuisine ou encore le chemin à emprunter pour nous rendre d’un point à un autre peuvent être présentés comme des algorithmes.

En mathématiques, on étudie l’algorithme d’Euclide au collège et l’algorithme de Dijkstra en terminale ES (spé. maths). Mais toutes les techniques peuvent être présentées sous forme d’algorithmes. Les plus simples sont programmables sur calculatrice.

Voyons à présent de quoi se compose un algorithme simple.

Variables et affectations

Un variable est une sorte de boîte, repérée par un nom, qui contient une information. Ce peut être un nombre sur lequel on peut effectuer des calculs (variable numérique), un nombre qui ne sert pas à calculer (variable alphanumérique, par exemple un matricule), une date, un nom, etc.

L’affectation est le fait d’attribuer une valeur à une variable.

Si vous remplissez un formulaire, vous trouvez les variables nom et date de naissance auxquelles vous affectez vos propres coordonnées. L’important est de bien distinguer la VARIABLE de la VALEUR qu’elle prend.

Structure

La déclaration de variable : par cette instruction on donne un nom à une variable et on précise sa qualité (nombre entier, nombre avec deux décimales, date de format JJ/MM/AA…).

L’entrée : une instruction permet d’entrer une valeur pour la stocker dans une variable. En langage naturel, cette instruction peut être saisir, lire ou demander.

Lorsqu’une valeur figure dans le programme, la variable est initialisée. Au cours du traitement, elle peut changer de valeur.

La sortie : un résultat est envoyé sur un périmètre de sortie (écran, imprimante, haut-parleur…). En langage naturel : afficher, imprimer

La structure : en langage naturel, un algorithme comporte quatre phases : la déclaration de variable, l’entrée ou l’initialisation, le traitement et la sortie. En langage informatique, il n’y a pas forcément de distinction entre la déclaration et l’entrée.

Exemple d’une multiplication par 2 :

Variable X est un réel
Entrée saisir X
Traitement X prend la valeur 2 × X
Sortie afficher X

Évidemment, ce traitement est un peu léger… On remarque qu’il n’a pas été nécessaire d’introduire deux variables X et Y, avec Y qui serait le double de X. Il est important de garder ce « sens de l’économie » lorsqu’on passe à des programmes lourds pour ne pas complexifier inutilement les algorithmes et allonger le temps de traitement.

Les processus moins basiques font intervenir des instructions conditionnelles, des boucles et des fonctions.

Exercice

Écrire en langage naturel un algorithme qui demande une température en degrés Celsius (C) pour donner son équivalent en degrés Farenheit (F). Pour mémoire : F = 32 + 1,8C. On considérera que la température est exprimée par un nombre décimal.

Corrigé

Variable X est un nombre décimal
Entrée saisir X
Traitement X prend la valeur 1,8 × X
  X prend la valeur X + 32
Sortie afficher X

Avec calculatrice programmable

Si vous souhaitez vous initier à la programmation sur une TI-82 ou TI-83, rendez-vous en page initiation à la programmation sur TI (exemple d'un algorithme permettant de déterminer le volume d'un cône).

 

programme du sandwich

 

© JY Baudot - Droits d'auteur protégés