next up previous
suivant: Création et initialisation d'un monter: Manipulation des structures de précédent: Manipulation des structures de

Déclaration d'une SEGMENT

Avant la première instruction éxécutable d'un sous-programme fortran, il faut déclarer les SEGMENTS qui seront utilisés.

Un SEGMENT peut contenir autant de variables fortran que nécessaire et de tous les types fortran admis. La déclaration se fait comme suit :


 		   

SEGMENT MONSEG

INTEGER IJK,NOMB(LL,LC),JLC
REAL X,XX(N)
REAL*8 Y,YY(3,MM)
CHARACTER*NBCA ICHA(8,IK),CHAI
ENDSEGMENT

La déclaration est comprise entre les mots SEGMENT et ENDSEGMENT. Rappelons que nous sommes en fortran et que ces instructions doivent etre frappées au delà de la septième colonne.

MONSEG est le nom de la classe de la structure matérialisée par ce segment. Une structure appartenant à la classe MONSEG contiendra un entier IJK, un tableau d'entier NOMB, un entier JLC .... et enfin une chaine de NBCA caractères appelée CHAI.

Dans cet exemple IJK,NOMB et JLC sont des noms de variables de type fortran INTEGER, X ET XX sont de type RELLES, etc... Pour des raisons d'architecture de machines il est préférable de ne pas employer DOUBLE PRECISION mais REAL*8. ICHA et CHAI sont des variables contenant des chaines de NBCA caractères.

Remarquons que certaines dimensions de tableaux sont fixées tandis que d'autres font référence à des noms de variables entières (il est d'usage dans CASTEM2000 de respecter les types implicites du fortran). C'est les valeurs de ces variables fortran au moment de l'initialisation du segment qui définiront les dimensions prises par les tableaux. Les variables dimensionnantes sont dans notre exemple LL,LC,N,MM,IK, elles ne sont pas incluses dans le SEGMENT, ne servant qu'au moment de sa création. Une instruction particulière permettra, si besoin est, de connaitre la longueur d'un tableau dans un SEGMENT déjà crée.


next up previous
suivant: Création et initialisation d'un monter: Manipulation des structures de précédent: Manipulation des structures de
traduction LAMS 2004-04-21