Ruban de Möbius

Instruction conditionnelle

Pour expliquer la notion d'instruction conditionnelle, nous allons étudier un exemple et écrire un algorithme où figure une telle instruction. Cet algorithme utilisera une formule appelée formule de Lorentz.

La formule de Lorentz sert à calculer le poids théorique P d’une personne adulte, en kg, en fonction de sa taille T, exprimée en cm :

P = T − 100 − (T − 150) ⁄ a

a = 2 pour une femme et a = 4 pour un homme.

Par exemple, le poids théorique d'une femme qui mesure 1,62 m est :

P = 162 − 100 − (162 − 150) ⁄ 2 = 56 kg

Le poids théorique d'un homme qui mesure 1,76 m est :

P = 176 − 100 − (176 − 150) ⁄ 4 = 69,5 kg

Imaginons maintenant un algorithme qui calcule le poids théorique d'une personne.

Cet algorithme doit utiliser trois variables : une variable Taille, une variable Poids et une variable Sexe.

Taille et Poids prendront des valeurs numériques : Taille sera saisie par l'utilisateur et Poids sera calculée par l'algorithme. On dit que ce sont des variables de type nombre.

En revanche, pour la variable Sexe, on peut imaginer qu'elle prenne la valeur h pour un homme et f pour une femme. Une telle variable n'est pas une variable de type nombre, mais de type chaîne de caractères.

L'algorithme utilisera aussi une variable A, susceptible de prendre les valeurs 2 et 4 en fonction du sexe de l'utlisateur de l'algorithme.

Voici donc le début de l'algorithme, écrit en langage naturel :

Déclaration des variables :

Taille, Poids et A sont des nombres

Sexe est une chaîne de caractères

Entrée :

Lire Taille

Lire Sexe

L'algorithme doit ensuite calculer le poids théorique.

Or, la formule à utiliser n'est pas la même selon que l'utilisateur est un homme ou une femme.

C'est ici qu'intervient la notion d'instruction conditionnelle.

Si l'utilisateur est une femme, il faut affecter la valeur 2 à la variable A ; et si l'utilisateur est un homme, il faut affecter la valeur 4 à la variable A. Ceci se fait au moyen d'une instruction conditionnelle.

En langage naturel, on dira :

Si Sexe = "f" alors A prend la valeur 2

Si Sexe = "h" alors A prend la valeur 4

Notons au passage qu'une chaîne de caractères s'écrit entre guillemets.

Une instruction conditionnelle commande donc l'exécution d'une ou plusieurs instructions uniquement si une certaine condition est vérifiée. Si la condition n'est pas vérifiée, l'algorithme doit passer à l'instruction suivante. Pour savoir quelle est cette instruction suivante, il convient d'indiquer la fin de l'instruction conditionnelle :

Si Sexe = "f" alors A prend la valeur 2

Fin de Si

Si Sexe = "h" alors A prend la valeur 4

Fin de Si

Dans notre exemple, la variable Sexe ne peut prendre que deux valeurs ; on peut donc remplacer les deux instructions conditionnelles par une seule :

Si Sexe = "f" alors A prend la valeur 2

Sinon A prend la valeur 4

Fin de Si

Voici ce que donne l'algorithme complet avec Algobox :

Taille EST_DU_TYPE NOMBRE

Poids EST_DU_TYPE NOMBRE

A EST_DU_TYPE NOMBRE

Sexe EST_DU_TYPE CHAINE

LIRE Taille

LIRE Sexe

SI (Sexe == "f") ALORS

DEBUT_SI

A PREND_LA_VALEUR 2

FIN_SI

SINON

DEBUT_SINON

A PREND_LA_VALEUR 4

FIN_SINON

Poids PREND_LA_VALEUR Taille − 100 − (Taille − 150) ⁄ A

AFFICHER Poids

Page suivante