Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Suiv.: Fonctions interprétées Sup.: Généralités Préc.: 1.2 Les niveaux d'utilisation Index Table des matières


1.3 Format libre

   

En Fortran 66, seules des données ``formatées'' sont admises. Par exemple, le format d'entrée (3I6,2X,F15.7) demande trois ``entiers'' cadrés à droite en colonnes 1 à 6, 7 à 12, 13 à 18, puis un ``réel'' en colonnes 21 à 35. Ce mode de lecture est plutôt rigide et fastidieux.

Fortran 77 a apporté une première amélioration avec les ``lectures dirigées par liste'' de la forme READ (UNIT,*). Les données sont fournies de manière plus naturelle, les unes à la suite des autres.

Modulef, avec le format libre, permet en outre d'inclure des commentaires, des expressions arithmétiques, des variables et des commandes. L'exemple suivant suggère la forme des données pour un programme interactif ou non.

Exemple

Tout d'abord, le programme cholxx est appelé sous sa forme interactive (section 1.2.2), c'est-à-dire qu'il crée un fichier réutilisé par la suite (réponse C à la première question). Chaque donnée peut débuter sur une colonne quelconque :

% cholxx
******************************************
APPEL DE LA RESOLUTION METHODE DE CHOLESKY
******************************************

-- CREATION DU DATA  =-=  EXECUTION MODULE (DATA EXISTANT)  =-=  FIN  =-=  ?
   -                      -                                      -
   C                                     -- PREMIERE DONNEE
-- NOM DU FICHIER DE DONNEES A CREER ?
      cholxx.data                           -- DEUXIEME DONNEE
-- NOM DU FICHIER DE LA S.D.E. MAIL ?
         x.mail                          -- TROISIEME DONNEE
-- NOMBRE DE CAS DE CHARGE      (NDSM) ?
         1
-- TYPE DES VALEURS DU PROBLEME (NTYP) ?
       2
-- LE NOMBRE DE DL PAR NOEUD EST IL CONSTANT (OUI-NON) ?
            OUI
...

L'appel précédent crée un fichier éditable :

% cat cholxx.data
x.mail 1   -- NOM ET NIVEAU DE LA SDE MAIL
1  2  3    -- NDSM NTYP ND
x.tae  1   -- NOM ET NIVEAU DE LA SDE TAE
1          -- 1 SI BDCL EST UTILISE, 0 SINON
x.bdcl 1   -- NOM ET NIVEAU DE LA SDE BDCL
0          -- 1 SI PRESENCE DE C.L.R.L., 0 SINON
x.b    1   -- NOM ET NIVEAU DE LA SDS B
5          -- IMPRESSION SOLUTION

Ce fichier éditable est ensuite lu par cholxx sous sa forme non interactive (réponse E à la première question) :

% cholxx
******************************************
APPEL DE LA RESOLUTION METHODE DE CHOLESKY
******************************************

-- CREATION DU DATA  =-=  EXECUTION MODULE (DATA EXISTANT)  =-=  FIN  =-=  ?
   -                      -                                      -
E
-- NOM DU FICHIER CONTENANT LES DONNEES ?
cholxx.data
...

Description rapide

Les nombreuses possibilités du format libre sont détaillées dans le chapitre 1 de ce guide. Pour un utilisateur ou un programmeur débutant, il suffit de connaître les quelques notions suivantes :

S'il s'agit de fournir des données à un programme :

S'il s'agit d'écrire un programme de lecture :

Il suffit d'appeler un certain nombre d'utilitaires de base (figure 1.1). Par exemple, CALL LIBENT(I) lit l'entier I et CALL LIBRSP(R) lit le réel simple précision R.


Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Suiv.: Fonctions interprétées Sup.: Généralités Préc.: 1.2 Les niveaux d'utilisation Index Table des matières