Savoir-faire
Décrire un algorithme en langage naturel et symbolique
Prérequis

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.

Etapes

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 Si

  • En 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

bannière astuce

Astuce

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