le programme principal
les sous-programmes :
de type subroutine
de type function
les modules
« instructions »
Exemple :
Exemple
Identificateurs
Donne un nom à :
une variable
une constante
une procédure
Le langage FORTRAN
Déclarations & variables
Identificateurs
Règles à suivre :
suite de caractères alphanumériques (lettres non
accentuées, chiffres, underscore“_“)
une lettre en premier caractère
longueur limitée à 31 caractères
pas de distinction majuscule/minuscule (case
insensitive)
Le langage FORTRAN
Déclarations & variables
Identificateurs
Exemples :
A
test1
AbCdE
ze_E
Le langage FORTRAN
Déclarations & variables
Identificateurs
Exemples (incorrects):
1var
test 1
Ab CdE
ze-E
program
Le langage FORTRAN
Déclarations & variables
Types de données
Le type d’une variable détermine :
le nombre d’octets à réserver en mémoire
un mode de représentation interne
l’ensemble des valeurs admissibles
l’ensemble des opérateurs qui peuvent lui être
appliqués
Le langage FORTRAN
Déclarations & variables
Types de données
INTEGER entier
CHARACTER caractère
LOGICAL deux valeurs, .TRUE. ou .FALSE.
REAL réel simple précision
DOUBLE PRECISION réel double précision
COMPLEX complexe simple précision
Le langage FORTRAN
Déclarations & variables
Exemples de déclaration
INTEGER :: A
REAL :: D
LOGICAL logi
CHARACTER Char !un seul caractère
CHARACTER(len=4) chaine !une chaine de 4 caractère
COMPLEX z
Initialisation et modification
Une initialisation pourra s’effectuer à l’aide du
symbole « = »
Fortran permet d’initialiser une variable lors de sa
déclaration
Dans ce cas, les caractères :: sont obligatoires
Le langage FORTRAN
Déclarations & variables
Initialisation et modification
Exemples:
INTEGER :: A=5
REAL D
LOGICAL :: logi= .TRUE.
CHARACTER Char !un seul caractère
CHARACTER(len=4) chaine !une chaine de 4 caractère
D=4.5
chaine = ‘abcd’
Le langage FORTRAN
Déclarations & variables
variable = cmplx(variable_r,variable_i)
complex :: z
Exemple : real :: x,y
……
z = cmplx(x,y)
Le langage FORTRAN
Déclarations & variables
Le type CHARACTER (chaine de caractère):
Pour déclarer une chaîne de caractères on précise sa
longueur. Si elle n’est pas indiquée elle est égale à 1.
character[(len=<longueur>)] [,<attribut(s)>] [::] <variable> [=<value>]
Longueur:
Expression entière ou * (déduction par le compilateur
de la longueur)
Le langage FORTRAN
Déclarations & variables
character(len=10) :: nom
character :: oui_ou_non
character(len=10) :: ville=’sidi bel abbes’ !Tronqué
character(len=8) :: payé=’Algérie' !complété à gauche
character(len=8) :: capitale='Algérie'
character(len=*),parameter :: lang='F90' !auto-détecté
Le langage FORTRAN
Déclarations & variables
Les expressions constantes
permet de définir une « constante symbolique », un
symbole auquel on attribue une valeur qui ne pourra être
modifiée par le programme.
<type>, parameter :: <variable(s)> = <value>
Ici les :: sont obligatoires.
<variable> = <expression>
Le langage FORTRAN
Les expressions et l’instruction d’affectation
Expressions arithmétiques:
Addition : +
Soustraction : -
Multiplication : *
Division : / (Pas de division par zéro!)
Exponentiation :** (ab a**b)
Le langage FORTRAN
Les expressions et l’instruction d’affectation
Expression peut faire intervenir
Attention!:
mot = ‘bonjour’
print *, mot(2:6) Onjou
print *, mot(:3) Bon
print *, mot(4:) Jour
mot(2:2) = ‘a’
print *, mot(1:5) banjo
Le langage FORTRAN
Les opérations de lecture et d’écriture
print *,a
Le langage FORTRAN
Les opérations de lecture et d’écriture
Sortie
Entrée
ou
print * , 'La variable var vaut : ' , var
Le langage FORTRAN
Les opérations de lecture et d’écriture
read *, nom
read *, nom, prenom, age
read *, prenom
read *, age
Le langage FORTRAN
Les opérations de lecture et d’écriture
Exemple :
Exemple :
Real(-4) = -4.0
Le langage FORTRAN
Les fonctions intrinsèques en Fortran 90
Exemple :
Exemple :
Exemple :
Exemple :
mod(7, 3) = 1
mod(9,-6) = 3
Cette fonction est souvent utilisée pour tester si un nombre est pair ou impair.
Exemple :
mod(4,2) = 0
mod(5,2) = 1
Le langage FORTRAN
Les fonctions intrinsèques en Fortran 90
Exemple :
Trim(‘###C##D###’) =‘###C##D’
alors
len(c) = 15
Le langage FORTRAN
Les fonctions intrinsèques en Fortran 90
Exemple :
len_trim(‘###C##D###’) = 7
Exemple :
Exemple :
lge(‘TWO’,’THREE’) = true
Le langage FORTRAN
Les fonctions intrinsèques en Fortran 90
Exemple :
lge(’TWO’;’THREE’) = false
Le langage FORTRAN
Les fonctions intrinsèques en Fortran 90
Exemple :
char(71) =‘G’
char(63) =‘?’
Le langage FORTRAN
Les fonctions intrinsèques en Fortran 90
Exemple :
ichar(‘Y‘) = 89
ichar(‘%‘) = 37
Le langage FORTRAN
if (<exp_logique>) then
… ! instructions exécutées si exp_logique est vraie
else
… ! instructions exécutées si exp_logique est fausse
end if
moyenne=(note1+note2)/2
if (moyenne>=10) then
print *, “Etudiant admis avec moyenne de “,moyenne
else
print *, “Etudiant ajourné avec moyenne de “,moyenne
end if
Le langage FORTRAN
Les instructions de contrôle
if (age<30) then
if (ok==.true.) then
ou bien
if (ok) then
if (ok/=.true.) then
ou bien
if (.not. ok) then
Le langage FORTRAN
Les instructions de contrôle
Alternatives imbriquées
if ... else
Le langage FORTRAN
Les instructions de contrôle
select case (<exp_scal>)
L’instruction
case SELECT
(<sélecteur>) CASE : Choix multiple
bloc
case (<sélecteur>)
bloc
…
case default
bloc
end select
exp_scal : expression scalaire de type INTEGER, LOGICAL,CHARACTER
sélecteur : liste composée de 1 ou plusieurs éléments de la forme :
valeur
intervalle de la forme [valeur1]:valeur2 ou valeur1:[valeur2]
Le langage FORTRAN
Les instructions de contrôle
integer :: i
… L’instruction SELECT CASE : Choix multiple
select case(i)
case(0)
… !s’exécute si i=0
case(1,2)
… !s’exécute si i=1 ou i=2
case(5:10)
… !s’exécute si 5<=i<=10
case(:-1)
… !s’exécute si i<=-1
case(3,11:20)
… !s’exécute si i=3 ou 11<=i<=20
case default
… !s’exécute dans tous les autres cas
end select
Le langage FORTRAN
Les instructions de contrôle
Exemple
integer :: jour
read*,jour
select case(jour)
case(1)
print *, "Dimanche"
case(2)
print *, "Lundi"
...
case(7)
print *, "Samedi"
case default
print *, "Numéro de jour incorrect"
end select