Académique Documents
Professionnel Documents
Culture Documents
et
programmation OO
Fortran 90
La notion de classe
...
type Etudiant :: yassmine
...
Les variables type dérivé(exemple)
...
type Etudiant :: yassmine
...
yassmine%annee=2
yassmine%specialite=mecanique
yassmine%institut=g.meca
yassmine%montant_bourse=1250078
yassmine%moyen_annuel=14.25
Les modules
Un module est une unité de programme particulière introduite en
Fortran 90 pour encapsuler entre autres des données et des définitions
de types dérivés, des procédures (après l’instruction CONTAINS)
Quel que soit le nombre d’accès (USE) au même module, les entités ainsi
définies sont uniques.
Doit être compilé séparément avant de pouvoir être utilisé. Le
compilateur crée pour chaque fichier source : un fichier objet de même
nom suffixé par .o, autant de fichiers nom_module.mod qu’il y a de
modules
Si un module fait appel (USE) à d’autres modules, ces derniers doivent
avoir été précédemment compilés
program amoi
Exemple
use alui
implicit none
type(gmres) :: gm
print *,"avant : ",gm%maxcom
gm%maxcomp=20
print *,"apres : ",gm%maxcomp
end program amoi
module alui
integer, parameter :: d = selected_real_kind(15)
type gmres
real(kind=d) :: tol=1.D-12, relax=1.85_d
integer :: maxiter=50
integer :: maxcomp=10
end type gmres
end module alui
Exemple
module YSM_mod
type YSM
intege r :: nn,m
real,dimension (:),allocatable :: a
integer,dimension (:) :: ia
integer,dimension (:) :: ja
end type YSM
Contains
subroutine YSMcreate (matr,m)
type (YSM) :: matr
integer :: m
. . .
end subroutine YSMcreate
end module YSM_mod
Exemple
module YSM_mod
type YSM
intege r :: nn,m
real,dimension (:),allocatable :: a
integer,dimension (:) :: ia
integer,dimension (:) :: ja
end type YSM
Contains
subroutine YSMcreate (matr,m)
type (YSM) :: matr
integer :: m
. . .
end subroutine YSMcreate
end module YSM_mod