Sommaire
Les algorithmes sont partout : quand vous faรฎtes un paiement numรฉrique, quand vous vous identifiez sur une plateforme, quand vous dรฉverrouillez votre tรฉlรฉphone, quand vous regardez Netflix ou que vous bidouillez sur excelโฆ
Comprendre ce quโest un algorithme
Dรฉfinition
Un algorithme est une suite dโinstructions, qui une fois exรฉcutรฉe correctement, conduit ร un rรฉsultat donnรฉ.
Si lโalgorithme est juste, le rรฉsultat est le rรฉsultat voulu.
Lโalgorithme est donc avant tout et surtout un raisonnement logique qui permet dโobtenir un rรฉsultat dรฉterminรฉ ร partir dโinstructions.
Distinction algorithme et programmation
Un programme correspond ร la traduction dans un langage de programmation des opรฉrations dรฉcrites dans lโalgorithme. La programmation est surtout la maniรจre de communiquer les instructions ร une machine, avec un langage prรฉรฉtabli
Lโalgorithme correspond donc ร la rรฉflexion avant lโรฉlaboration du programme. Le programme est le moyen de communiquer, interagir avec une machine
Les instructions dans les algorithmes
Les ordinateurs, quels quโils soient, ne sont fondamentalement capables de comprendre que quatre catรฉgories d’ordres (en programmation, on n’emploie pas le terme d’ordre, mais plutรดt celui d’instructions).
Ces quatre familles d’instructions sont :
- lโaffectation de variables
- la lecture / รฉcriture
- les tests
- les boucles

Prenons un exemple simple : pour vous connecter ร un rรฉseau, vous devez entrer un identifiant et un nom de passe.
Votre nom.prรฉnom est affectรฉ une variable : identifiant
Votre mot de passe est affectรฉ ร une variable : motdepasse
Vous tapez votre identifiant, et votre mot de passe : le logiciel va lire ces informations (instruction de lecture)
Le logiciel effectue une sรฉrie de tests pour vรฉrifier que le mot de passe correspond ร votre identifiant. Pour ce faire il va comparer les valeurs
Lโidentifiant entrรฉ correspond ร un identifiant de la base de donnรฉe
Le mot de passe entrรฉ correspond au mot de passe de la base de donnรฉe correspondant ร lโidentifiant
SI il y a correspondance, vous accรฉdez au serveur
SI le mot de passe est diffรฉrent, le logiciel vous รฉcrit un message โmot de passe incorrectโ
Vous devez alors recommencer lโopรฉration jusquโร ce que le test soit rรฉalisรฉ : cโest la boucle.
Si vous avez utilisรฉ Excel vous avez maniรฉ des choses รฉquivalentes aux variables (nommer des cellules, leur donner un format) et aux tests (la fonction SI, RECHERCHEโฆ).
Un algorithme est issu de la combinaison de ces variables et des instructions
Un algorithme informatique se ramรจne donc toujours au bout du compte ร la combinaison de ces quatre รฉlรฉments, de mรชme que les couleurs rouge bleu jaune noir permettent de dรฉfinir une infinitรฉ de couleurs.


Lโaffectation de variable
Dans un programme informatique, on va avoir en permanence besoin de stocker provisoirement des valeurs. C’est la variable.
Une variable est toujours nommรฉe
Une variable est comme une boรฎte, que le programme va repรฉrer par une รฉtiquette. Pour avoir accรจs au contenu de la boรฎte, il suffit de la dรฉsigner par son รฉtiquette.
Lโaffectation consiste ร attribuer une valeur ร une variable
Cette valeur peut รชtre numรฉrique, date, monรฉtaire, avec ou sans dรฉcimale etc. Cette valeur peut รชtre le produit dโune opรฉration mathรฉmatique (soustraction, addition, multiplication, division)
les constantes
Une constante est un objet dont l’รฉtat reste inchangรฉ durant toute l’exรฉcution d’un programme, quelque soit le problรจme posรฉ.
On ne peut jamais modifier sa valeur et celle-ci doit donc รชtre prรฉcisรฉe lors de la dรฉfinition de l’objet.
Les instructions lecture/รฉcritures
Lโobjectif des fonctions lecture/รฉcriture est de permettre la communication entre la machine et lโutilisateur.
Attention, lecture et รฉcriture sโentendent du point de vue de la machine.
- La fonction lecture permet de rรฉcupรฉrer une information auprรจs de l’utilisateur en lui demandant de « rentrer » une valeur via un formulaire de saisie, une boรฎte de dialogue etcโฆ Le logiciel va donc lire la valeur transmise par lโhumain. Cette valeur sera ensuite stockรฉe dans une variable
- La fonction รฉcriture permet d’afficher un retour ร l’utilisateur pour lui donner le rรฉsultat dโune opรฉration en รฉcrivant une information. Le logiciel รฉcrit donc une rรฉponse ร lโhumain (rรฉsultat dโune requรชte, mot de passe incorrectโฆ)


Les instructions de test
Le test consiste ร donner des sรฉries dโinstructions ร effectuer selon que la situation se prรฉsente dโune maniรจre ou dโune autre. On retrouve alors la notion de condition, (SI sous excel par exemple)
Une condition est une comparaison, composรฉe de trois รฉlรฉments :
- une valeur
- un opรฉrateur de comparaison
- une autre valeur
Lโensemble des trois รฉlรฉments composant la condition constitue donc, si lโon veut, une affirmation, qui ร un moment donnรฉ est VRAIE ou FAUSSE.
Les valeurs peuvent รชtre a priori de nโimporte quel type (numรฉriques, caractรจresโฆ).
Mais si lโon veut que la comparaison ait un sens, il faut que les deux valeurs de la comparaison soient du mรชme type.
Les opรฉrateurs de comparaison
- รฉgal ร โฆ
- diffรฉrent deโฆ
- strictement plus petit queโฆ
- strictement plus grand queโฆ
- plus petit ou รฉgal ร โฆ
- plus grand ou รฉgal ร โฆ
Si nous reprenons l’exemple de l’authentification d’un utilisateur, l’algorithme sera le suivant


Les boucles
On peut dire en fait que les boucles constituent la seule vraie structure logique caractรฉristique de la programmation.
Les boucles n’existent que dans les langages de programmation proprement dits.
Pour prรฉvenir une erreur de saisie, par exemple, on peut programmer un algorithme, qui pose une condition permettant de vรฉrifier lโexactitude des donnรฉes et dโempรชcher lโalgorithme de planter.
Exemple : le format d’une date de naissance en JJ/MM/AAAAA
La boucle permet dโรฉviter une programmation infinie, grรขce ร une instruction โtant queโ. โtant queโ la saisie nโest pas correcte, le programme continue ร demander dโautres donnรฉes.
