Fortran - Constantes

Les constantes font référence aux valeurs fixes que le programme ne peut pas modifier lors de son exécution. Ces valeurs fixes sont également appeléesliterals.

Les constantes peuvent être de l'un des types de données de base comme une constante entière, une constante flottante, une constante de caractère, une constante complexe ou une chaîne littérale. Il n'y a que deux constantes logiques:.true. et .false.

Les constantes sont traitées comme des variables régulières, sauf que leurs valeurs ne peuvent pas être modifiées après leur définition.

Constantes et littéraux nommés

Il existe deux types de constantes -

  • Constantes littérales
  • Constantes nommées

Une constante littérale a une valeur, mais pas de nom.

Par exemple, voici les constantes littérales -

Type Exemple
Constantes entières 0 1 -1 300 123456789
Constantes réelles 0,0 1,0 -1,0 123,456 7,1E + 10-52,715E-30
Constantes complexes (0,0, 0,0) (-123,456E + 30, 987,654E-29)
Constantes logiques .vrai. .faux.
Constantes de caractère

"PQR" "a" "123'abc $% # @!"

" une citation "" "

'PQR' 'a' '123 "abc $% # @!'

'une apostrophe' ''

Une constante nommée a une valeur ainsi qu'un nom.

Les constantes nommées doivent être déclarées au début d'un programme ou d'une procédure, tout comme une déclaration de type de variable, en indiquant son nom et son type. Les constantes nommées sont déclarées avec l'attribut de paramètre. Par exemple,

real, parameter :: pi = 3.1415927

Exemple

Le programme suivant calcule le déplacement dû au mouvement vertical sous gravité.

program gravitationalDisp

! this program calculates vertical motion under gravity 
implicit none  

   ! gravitational acceleration
   real, parameter :: g = 9.81   
   
   ! variable declaration
   real :: s ! displacement   
   real :: t ! time  
   real :: u ! initial speed  
   
   ! assigning values 
   t = 5.0   
   u = 50  
   
   ! displacement   
   s = u * t - g * (t**2) / 2  
   
   ! output 
   print *, "Time = ", t
   print *, 'Displacement = ',s  
   
end program gravitationalDisp

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

Time = 5.00000000    
Displacement = 127.374992