





![[BIG]](../icons/zoom18.gif)
![[Normal]](../icons/zoom14.gif)
![[small]](../icons/zoom10.gif)
 Suiv.:  1.7 Modules - Algorithmes - Utilitaires
Sup.:   Généralités
 Préc.:  1.5 Tableaux dynamiques
Index
Table des matières
 
 
Les modules communiquent entre eux via des  Structures de
Données (SD) standardisées.
Celles-ci sont traitées en bloc
par des sous-programmes utilitaires permettant de les manipuler
simplement.
Une SD peut résider :
-   en mémoire principale,
        sous forme d'un ensemble de tableaux
        dynamiques,
  
-   en mémoire secondaire,
        sous forme d'un fichier
        (fichier Fortran  unformatted formé de plusieurs
        enregistrements).
Parmi les nombreux avantages des SD, citons les suivants :
-  Les interfaces entre modules sont bien normalisées,
        simples et fiables.
  
-  Le nombre de paramètres de chaque module est réduit.
        En effet, une SD regroupe un grand nombre
        d'informations, comme par exemple la définition
        complète d'un maillage.
  
-  La programmation des modules est facilitée
        par des outils prédéfinis de lecture, d'écriture,
        ou d'impression.
Toute SD possède un type (exemples :
 NOPO,  MAIL,  COOR,  B). Les
différents tableaux d'une SD de type donné sont décrits dans
la partie  iii.
Si une SD est de type générique  tysd,
elle peut être manipulée dans un module à l'aide des variables
suivantes :
-   CHARACTER*80 NOMFIC :
        nom du fichier
        (cf. [Fortran 77],
        ordre  OPEN, spécificateur  FILE).
  
-   INTEGER NFtysd :
        numéro d'unité du fichier
        (cf. [Fortran 77],
        ordre  OPEN, spécificateur  UNIT).
         NFtysd = 0 signifie que la SD est en mémoire centrale.
  
-   INTEGER NItysd :
        entier, appelé  niveau, qui permet de distinguer
        deux SD de même type qui résident simultanément
        en mémoire centrale.
Remarques concernant les fichiers :
-  L'expérience montre que l'instruction Fortran  OPEN
        n'est pas tout à fait portable. Par suite, Modulef s'interdit
        cette instruction et fait appel à
        l'utilitaire  OUVRIR (p.  )
        ou  OUVRIS (p. )
        ou  OUVRIS (p. ). ).
-  Les programmes qui manipulent des fichiers ont souvent besoin
        d'utiliser un numéro d'unité libre, c'est-à-dire
        connecté à aucun fichier. L'utilitaire
         TRUNIT (p.  )
        permet d'obtenir un tel numéro. )
        permet d'obtenir un tel numéro.
En conclusion, l'appel d'un module qui demande en entrée une SD de
type  NOPO (par exemple)
se présente typiquement de la façon suivante :
      ...
      CALL TRUNIT(NFNOPO)
      NINOPO = 0
      CALL LIBCAR(NOMFIC)
      CALL OUVRIS(NFNOPO, NOMFIC, 'OLD,UNFORMATTED', 0)
      CALL MODULE(M, NFNOPO, NINOPO, ...)
      ...






![[BIG]](../icons/zoom18.gif)
![[Normal]](../icons/zoom14.gif)
![[small]](../icons/zoom10.gif)
 Suiv.:  1.7 Modules - Algorithmes - Utilitaires
Sup.:   Généralités
 Préc.:  1.5 Tableaux dynamiques
Index
Table des matières