4. Opérateurs et expressions▲
4-1. Opérateurs arithmétiques▲
4-1-1. Les opérateurs▲
4-1-2. Les expressions▲
Règle d'usage |
Interprétation |
---|---|
ajoute o2 à o1 |
|
+ o1 |
égal à o1 |
soustrait o2 à o1 |
|
- o1 |
inverse le signe de o1 |
multiplie o1 par o2 |
|
o1 divisé par o2 |
|
élève o1 à la puissance o2 |
Les opérandes o1 et o2 peuvent être :
- une constante numérique ;
- une variable numérique, précédée ou non d'un opérateur unaire (+ ou -) ;
- une expression arithmétique entre parenthèses.
2.
3.
4.
5.
3.14159
K
(A + B) * (C + D)
-1.0 / X + Y / Z ** 2
-2.0 * 3.14159 * RADIUS
4-1-3. Conversion implicite▲
Le type d'une expression arithmétique dépend des types de ses opérandes.
Dans le cas d'opérateurs binaires :
- Si les 2 opérandes sont du même type alors l'expression arithmétique résultante sera du même type ;
- Si un des 2 opérandes est de type
INTEGER
et l'autre de typeREAL
, alors l'opérande de typeINTEGER
est préalablement converti enREAL
et l'opération effectuée en modeREAL
.
2.
3.
4.
5.
Expression Valeur
99/100 0
7/3 2
(100*9)/5 180
(9/5)*100 100
4-2. Opérateurs relationnels▲
Opérateur |
Opération |
---|---|
strictement plus petit |
|
inférieur ou égal |
|
égal |
|
non égal |
|
strictement plus grand |
|
supérieur ou égal |
Ces opérateurs admettent des opérandes de type INTEGER
, REAL
ou CHARACTER
. Seuls les opérateurs ==
, /=
peuvent s'appliquer à des expressions de type COMPLEX
.
2.
3.
4.
N .GE.
0
X .LT.
Y
Z /=
3.7
(B**2 - 4*A*C) .GT.
0.
4-3. Opérateurs logiques▲
Opérateur |
Opération |
---|---|
négation logique |
|
conjonction logique |
|
disjonction inclusive |
|
équivalence logique |
|
non-équivalence logique |
Les opérandes doivent être des expressions de type LOGICAL
.
4-3-1. Les tables de vérité▲
Opérateur de négation :
l |
|
---|---|
|
|
|
|
Autres opérateurs :
l1 |
l2 |
||
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
l1 |
l2 |
||
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4-4. Opérateur de concaténation▲
L'opérateur de concaténation n'admet que des expressions de type CHARACTER
.
Expression |
Interprétation |
---|---|
concatène c1 avec c2 |
2.
3.
4.
5.
6.
'BON'
//
'JOUR'
-->
'BONJOUR'
CHARACTER
(LEN
=10) :: ch = 'BON'
ch = ch //
'JOUR'
! <-- INVALIDE !!!
ch = TRIM(ch) //
'JOUR'
! <-- VALIDE
4-5. Opérateur d'affectation▲
4-5-1. Syntaxe générale▲
variable = expression
où expression est une expression arithmétique, logique ou relationnelle.
4-5-2. Règles de typage▲
- Une valeur de type
CHARACTER
ne peut pas être affectée à une variable numérique ou vice-versa. - Une valeur de type
INTEGER
peut être affectée à une variable de typeREAL
. - Une valeur de type
REAL
peut également être affectée à une variable de typeINTEGER
. Mais dans ce cas, la valeur est alors tronquée en supprimant la partie fractionnaire.
2.
3.
4.
Expression Interprétation
x = 5 x = 5.0
N = 0.9999 N = 0
M = -1.9999 M = -1
4-6. Priorité des opérateurs▲
Dans le tableau suivant, les opérateurs sont donnés par ordre de priorité décroissante :
Opérateur |
Associativité |
---|---|
∗∗ |
D → G |
∗ et / |
G → D |
+ et − |
G → D |
|
G → D |
|
G → D |
|
G → D |
|
G → D |
|
G → D |
|
G → D |
2.
3.
4.
5.
6.
7.
8.
9.
REAL
a,b,c,d
LOGICAL
e, f, g
Expression Interprétation
2**3**2 2**(3**2) = 512
5.+4.*9.**2 5.+(4.*(9.**2)) = 329
e.OR.
f.AND.
g e.OR.
(f.AND.
g)
a**b+c.GT.
d.AND.
e (((a**b)+c).GT.
d).AND.
e