le type réel
Page 1 sur 1
le type réel
Motivation
Les valeurs de type real appelées nombres réels sont indispensables dans les applications dites numériques de la programmation .
Généralités
Real est un identificateur prédéfini. Il signifie "un objet (constante, variable...) de type real contiendra un nombre réel et rien d'autre".
Les constantes de type real sont les nombres réels eux-mêmes.
Les opérations possibles sur les valeurs réelles sont:
+ - * /
où + représente l'addition
- représente la soustraction
* représente la multiplication
/ représente la division
Les expressions de type real sont des combinaisons de ces opérations.
Exemples:
- 1.0 est une expression réduite à une seule constante qui peut
également s'écrire 1.0e0 ou 0.1e1 ou 0.1E+1 ou 10.0e-1...
- 3.0 + 4 .0 est une expression de valeur 7.0
- 4.3 * 5.0e0 est une expression de valeur 21.5
- 4.0 / 2.0 est une expression de valeur 2.0
- 5.0 / 2.0 est une expression de valeur 2.5
- 2.0 + 3.0 * 4.0 est une expression qui vaut 14.0
- 2.0 + (3.0 * 4.0) est une expression qui vaut 14.0
- (2.0 + 3.0) * 4.0 est une expression qui vaut 20.0
Il est possible d'écrire des valeurs réelles sur l'écran au moyen de write (...) .
Exemples:
- write ( 1.0 ); écrit la valeur 1.0 à l'écran sous la forme 0.1e+1 (notation scientifique)
- write ( 4.0, 10.0 ); écrit les valeurs 4.0 suivie de 10.0 sur l'écran
- write ( 3.0 + 4.0 ); écrit la valeur de l'expression, à savoir 7.0, sur l'écran
- write ( 'Valeur de pi: ', 3.1416 ); écrit le message Valeur de pi: suivi de la valeur réelle 3.1416
- const max = 10.0;
var nombre : real; (* pour notre exemple *)
...
write ( max ); écrit la valeur de max (10.0) sur l'écran
write ( 2.0 * max + 1.0 ); écrit la valeur 21.0 sur l'écran
write ( max * nombre ); écrit la valeur de max * nombre sur l'écran
Fonctions prédéfinies
- abs (valeur) valeur absolue de valeur, par exemple abs (-3.4) vaut 3.4
- sqr (valeur) carré de valeur, par exemple sqr (5.0) vaut 25.0
- sqrt (valeur) racine carrée de valeur (>= 0!); exemple: sqrt (4.0) vaut 2.0
- exp (valeur) nombre e à la puissance valeur
- ln (valeur) logarithme naturel de valeur
Priorité des opérateurs
En mathématiques une question se pose avec un calcul tel que 2 + 3 * 4: quel est le résultat de ce calcul? Est-ce 20 (calcul 2 + 3 = 5 puis multiplication par 4) ou 14 (ajouter 2 à 3 * 4)?
Le même problème se pose en programmation. Il en existe deux solutions:
- fixer l'ordre d'évaluation (c'est-à-dire de calcul) d'une expression en utilisantles parenthèses ( et ). A ce moment la sous-expression entre parenthèses est d'abord calculée. Par exemple:
(2 + 3) * 4 2+3 donne 5, multiplié par 4 donne 20
2 + (3 * 4) 3*4 donne 12, ajouté à 2 donne 14
(3 * (1 + 2)) + 4 1+2 donne 3, multiplié par 3 donne 9, ajouté à 4 donne 13
- en l'absence de parenthèses des règles de priorités interviennent. Celles propres à Pascal sont:
a. L'évaluation des fonctions est l'opération la plus prioritaire.
b. Les opérateurs dits multiplicatifs ( * / div mod) sont plus prioritaires que les opérateurs dits additifs (+ -).
c. En cas de même priorité l'expression est évaluée de gauche à droite.
Exemples:
- sin ( x ) * 5.0 calcul de sin ( x ) puis multiplication par 5.0 (règle a)
- 2 + 3 * 4 donne 14 car la sous-expression 3 * 4 est d'abord évaluée (règle b: priorité de * par rapport à + )
- 2 * 3 + 4 div 3 donne 7 car la sous-expression 2 * 3 est d'abord évaluée (règles b puis c), puis la sous-expression 4 div 3 l'est (règles b puis c) enfin l'addition des résultats partiels 6 et 1 est effectuée
Dans le cas d'une expression comportant des parenthèses et nécessitant l'usage des règles de priorités, les parenthèses sont naturellement considérées en premier.
Exemple:
- 2 + (3 + 4 * 2) * 5 donne 57 (4 * 2 puis ajouter 3 donne 11, multiplier par 5 puis ajouter 2)
Les valeurs de type real appelées nombres réels sont indispensables dans les applications dites numériques de la programmation .
Généralités
Real est un identificateur prédéfini. Il signifie "un objet (constante, variable...) de type real contiendra un nombre réel et rien d'autre".
Les constantes de type real sont les nombres réels eux-mêmes.
Les opérations possibles sur les valeurs réelles sont:
+ - * /
où + représente l'addition
- représente la soustraction
* représente la multiplication
/ représente la division
Les expressions de type real sont des combinaisons de ces opérations.
Exemples:
- 1.0 est une expression réduite à une seule constante qui peut
également s'écrire 1.0e0 ou 0.1e1 ou 0.1E+1 ou 10.0e-1...
- 3.0 + 4 .0 est une expression de valeur 7.0
- 4.3 * 5.0e0 est une expression de valeur 21.5
- 4.0 / 2.0 est une expression de valeur 2.0
- 5.0 / 2.0 est une expression de valeur 2.5
- 2.0 + 3.0 * 4.0 est une expression qui vaut 14.0
- 2.0 + (3.0 * 4.0) est une expression qui vaut 14.0
- (2.0 + 3.0) * 4.0 est une expression qui vaut 20.0
Il est possible d'écrire des valeurs réelles sur l'écran au moyen de write (...) .
Exemples:
- write ( 1.0 ); écrit la valeur 1.0 à l'écran sous la forme 0.1e+1 (notation scientifique)
- write ( 4.0, 10.0 ); écrit les valeurs 4.0 suivie de 10.0 sur l'écran
- write ( 3.0 + 4.0 ); écrit la valeur de l'expression, à savoir 7.0, sur l'écran
- write ( 'Valeur de pi: ', 3.1416 ); écrit le message Valeur de pi: suivi de la valeur réelle 3.1416
- const max = 10.0;
var nombre : real; (* pour notre exemple *)
...
write ( max ); écrit la valeur de max (10.0) sur l'écran
write ( 2.0 * max + 1.0 ); écrit la valeur 21.0 sur l'écran
write ( max * nombre ); écrit la valeur de max * nombre sur l'écran
Fonctions prédéfinies
- abs (valeur) valeur absolue de valeur, par exemple abs (-3.4) vaut 3.4
- sqr (valeur) carré de valeur, par exemple sqr (5.0) vaut 25.0
- sqrt (valeur) racine carrée de valeur (>= 0!); exemple: sqrt (4.0) vaut 2.0
- exp (valeur) nombre e à la puissance valeur
- ln (valeur) logarithme naturel de valeur
Priorité des opérateurs
En mathématiques une question se pose avec un calcul tel que 2 + 3 * 4: quel est le résultat de ce calcul? Est-ce 20 (calcul 2 + 3 = 5 puis multiplication par 4) ou 14 (ajouter 2 à 3 * 4)?
Le même problème se pose en programmation. Il en existe deux solutions:
- fixer l'ordre d'évaluation (c'est-à-dire de calcul) d'une expression en utilisantles parenthèses ( et ). A ce moment la sous-expression entre parenthèses est d'abord calculée. Par exemple:
(2 + 3) * 4 2+3 donne 5, multiplié par 4 donne 20
2 + (3 * 4) 3*4 donne 12, ajouté à 2 donne 14
(3 * (1 + 2)) + 4 1+2 donne 3, multiplié par 3 donne 9, ajouté à 4 donne 13
- en l'absence de parenthèses des règles de priorités interviennent. Celles propres à Pascal sont:
a. L'évaluation des fonctions est l'opération la plus prioritaire.
b. Les opérateurs dits multiplicatifs ( * / div mod) sont plus prioritaires que les opérateurs dits additifs (+ -).
c. En cas de même priorité l'expression est évaluée de gauche à droite.
Exemples:
- sin ( x ) * 5.0 calcul de sin ( x ) puis multiplication par 5.0 (règle a)
- 2 + 3 * 4 donne 14 car la sous-expression 3 * 4 est d'abord évaluée (règle b: priorité de * par rapport à + )
- 2 * 3 + 4 div 3 donne 7 car la sous-expression 2 * 3 est d'abord évaluée (règles b puis c), puis la sous-expression 4 div 3 l'est (règles b puis c) enfin l'addition des résultats partiels 6 et 1 est effectuée
Dans le cas d'une expression comportant des parenthèses et nécessitant l'usage des règles de priorités, les parenthèses sont naturellement considérées en premier.
Exemple:
- 2 + (3 + 4 * 2) * 5 donne 57 (4 * 2 puis ajouter 3 donne 11, multiplier par 5 puis ajouter 2)
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum