Instructions d’écriture et de lecture
CHAPITRE 3
42
1.2.4 Cas des valeurs réelles
Considérons ce petit programme :
réel x := 3.25, y := 9.57
écrire x, y
On s’attend à ce qu’il nous affiche quelque chose comme :
3.25 9.57
Considérons alors un programme voisin (les valeurs de x et de y, de type réel, ont simple-
ment été introduites dans le programme avec des notations différentes) :
réel x := 0.325e1, y := 95.7e-1
écrire x, y
Pourquoi nous présenterait-il les valeurs sous cette forme :
0.325e1 95.7e-1
plutôt que sous la forme précédente ? En effet, les notions de nombre de décimales et de
notation exponentielle ou décimale n’existent plus une fois que le nombre est codé en
binaire. Dans le cas présent, il est probable que les valeurs binaires de x et de y seront les
mêmes.
La plupart des langages vous permettent de choisir la manière dont vous souhaitez voir s’affi-
cher vos résultats. Par exemple, vous pourrez choisir une notation décimale ou une notation
exponentielle. Vous pourrez choisir le nombre de chiffres significatifs du résultat. À ce pro-
pos, n’oubliez pas que les valeurs précédentes, une fois codées en binaire, se trouvent entâc-
hées d’une légère erreur de représentation1, ce qui signifie que, pour peu que l’on demande
un nombre de chiffres significatifs important, leur écriture pourrait très bien conduire à des
choses telles que :
3.24999993 9.56999992
Certains langages permettent de choisir automatiquement la notation décimale ou la notation
exponentielle, en fonction de la valeur du nombre, de façon à toujours écrire un nombre de
chiffres significatifs donné (par exemple 6), en arrondissant la valeur effective et, parfois, ils
suppriment les zéros de fin, de sorte que nos nombres précédents semblent exacts puisqu’ils
s’affichent alors sous la forme 3.25 et 9.57.
Là encore, nous ne nous préoccuperons pas ici de ces détails de présentation.
Exercice 3.1 Écrire un programme qui donne des valeurs à deux variables entières nommées
a et b, et qui en affiche les valeurs, le produit et la somme, sous cette forme :
a = 3, b = 5
a*b = 15
a+b = 8
1. Mais cette erreur de représentation sera la même pour x et pour y.