Un algorithme est une série d’instructions interprétables et exécutables sur une machine.
Écrire un algorithme en langage naturel consiste à rédiger ses instructions dans la langue commune.
Décrire un algorithme en langage symbolique permet de l’adapter aux contraintes du langage de programmation.
Nous allons présenter le vocabulaire et les syntaxes les plus souvent utilisés pour exprimer les différentes étapes d’un algorithme.
Déclarer une variable
Les variables sont utilisées pour stocker une information provisoirement lors de l’exécution de l’algorithme. Au tout début de l’algorithme les variables doivent être créées, c’est la déclaration des variables. Pour déclarer une variable il faut donner un nom (le nom de la variable) et un type (le type d’information que la variable pourra stocker).
En langage naturel la déclaration des variables s’écrit :
« Je demande ‘nom de la variable’ un ‘type de la variable’ ».En langage symbolique la déclaration des variables s’écrit :
« Variable ‘nom de la variable’ : ‘type de la variable’ ».
Langage naturel | Langage symbolique |
« Je demande $a$ un réel » | « Variable a : réel » |
« Je demande $i$ un entier » | « Variable i : entier » |
« Je demande $x$, $y$ des réels » | « Variables x, y : réels » |
Lire une variable
Lire une variable permet d’accéder à l’information stockée dans cette variable.
Langage naturel | Langage symbolique |
« Lire $x$ » | Lire(x) |
Afficher la valeur d'une variable
À la fin de l’exécution de l’algorithme il faut afficher le résultat calculé qui est stocké dans une variable.
Langage naturel | Langage symbolique |
« Afficher $b$ » | Afficher(b) |
Affectation
Affecter une valeur à une variable signifie attribuer une valeur à cette variable.
En langage naturel l’affectation d’une variable s’écrit :
« ‘nom de la variable’ prend la valeur ‘nouvelle valeur’ »,
ou « À ‘nom de la variable’ affecter ‘nouvelle valeur’ »,
ou « Dans ‘nom de la variable’ mettre ‘nouvelle valeur’ ».En langage symbolique on utilise la notation : ‘nom de la variable’ ← ‘nouvelle valeur’
Langage naturel | Langage symbolique |
« $a$ prend la valeur $3,5$ » | a ← 3,5 |
« À $i$ affecter la valeur $2$ » | i ← 2 |
« Dans $x$ mettre la valeur $10,4$ » | x ← 10,4 |
Saisir une valeur
La saisie permet de demander à un utilisateur d’entrer des valeurs à affecter à des variables de l’algorithme.
Langage naturel | Langage symbolique |
Entrer $a$ | a ← Saisie() |
Entrer(a) |
Instruction conditionnelle
La structure alternative permet de réaliser différents traitements suivant si une condition est vraie ou non.
En langage naturel elle s’écrit :
Si ‘condition’ alors ‘traitement 1’
Sinon ‘traitement 2’
Fin SiEn langage symbolique ce sont les même instructions que l’on trouve parfois en anglais :
Si / If ‘condition’ alors / then ‘traitement 1’
Sinon / else ‘traitement 2’
Fin Si / End / End if
Dans le cas où aucune exécution alternative n’est nécessaire on peut écrire :
Si ‘condition’ alors ‘traitement 1’
Fin Si
Plusieurs instructions conditionnelles peuvent être imbriquées, voici un exemple en langage naturel.
Si ‘$a>0$’ alors
‘$a$ prend la valeur $a-1$’
Sinon
‘$a$ prend la valeur $-a$’
Fin Si
Si ‘$a≠0$’ alors
‘$x$ prend la valeur $1/a$’
Si $a>0$
‘$a$ prend la valeur $a-1$’
Fin Si
Sinon
‘$x$ prend la valeur $0$’
Fin Si
Itération
La structure répétitive (ou boucle) permet de réaliser un calcul itératif.
On distingue :
- le calcul itératif avec un nombre d’itérations donné :
Pour ‘nom de la variable’ variant de $I_0$ à $N$
‘traitement’
Fin Pour - le calcul itératif avec une fin de boucle conditionnelle :
Tant que ‘condition’
‘traitement’
Fin Tant que
Pour ‘$i$’ variant de $0$ à $5$
‘$u$ prend la valeur $u^2$'
Fin Pour
Tant que ‘$u >5$’
Faire ‘$u$ prend la valeur $u - u/2$’
Fin Tant que