Suiv.: Déclaration du super-tableau
Sup.: 3 Tableaux dynamiques
Préc.: 3 Tableaux dynamiques
Index
Table des matières
Dans cet exemple, un programme complet est présenté. Il comprend essentiellement trois parties :
PROGRAM MODUXX PARAMETER (LM = 2 000 000) COMMON M(LM) CALL INITIS(M, LM, 0, 0) CALL MODUL1(M) CALL MODUL2(M, M, M) CALL IMATAB(M) END
SUBROUTINE MODUL1(M) INTEGER M(*) CALL READRE(1, 'T1', IAT1, 100, M, ICODE) CALL READRE(2, 'T2', IAT2, 100, M, ICODE) NTYTAB = IINFO('REEL2') CALL TYPMOT(NTYTAB, NBREMO) CALL READRE(NTYTAB, 'T3', IAT3, 100*NBREMO, M, ICODE) CALL ALGO(M(IAT1), M(IAT2), M(IAT3)) END SUBROUTINE ALGO(T1, T2, T3) INTEGER T1(100) REAL T2(100) DOUBLE PRECISION T3(100) DO 100 I = 1, 100 T1(I) = 1 T2(I) = 2. T3(I) = 3.D0 100 CONTINUE END
SUBROUTINE MODUL2(M, XM, DM) INTEGER M(*) REAL XM(*) DOUBLE PRECISION DM(*) CALL READRE(1, 'T4', IAT4, 100, M, ICODE) CALL READRE(2, 'T5', IAT5, 100, M, ICODE) NTYTAB = IINFO('REEL2') CALL TYPMOT(NTYTAB, NBREMO) CALL READRE(NTYTAB, 'T6', IAT6, 100*NBREMO, M, ICODE) DO 100 I = 1, 100 M( IAT4-1 + I) = 4 XM( IAT5-1 + I) = 5. DM((IAT6-1)/NBREMO + I) = 6.D0 100 CONTINUE END
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++ IMPRESSION ALLOCATION DYNAMIQUE ++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ LONGUEUR EST LE NOMBRE DE MOTS DEMANDES ADRESSE EST L'ADRESSE RETOURNEE IAMARQUE EST L'ADRESSE DU DESCRIPTEUR DE TABLEAU NB MOTS EST LE NOMBRE DE MOTS REELLEMENT UTILISES LE DERNIER MOT UTILISE DANS LE SUPER-TABLEAU EST : 829 -------------------------------------------------------------------- | ESPACE | TYPE | LONGUEUR | ADRESSE | IAMARQUE | NB MOTS | NOM -------------------------------------------------------------------- | OCCUPE | 1 | 100 | 9 | 5 | 103 | T1 | OCCUPE | 2 | 100 | 113 | 109 | 103 | T2 | OCCUPE | 5 | 200 | 217 | 213 | 203 | T3 | OCCUPE | 1 | 100 | 421 | 417 | 103 | T4 | OCCUPE | 2 | 100 | 525 | 521 | 103 | T5 | OCCUPE | 5 | 200 | 629 | 625 | 203 | T6 | LIBRE | .... | ........ | ........ | 829 | 1999171 | .... --------------------------------------------------------------------
Cet exemple met en évidence un certain nombre de points : la déclaration du super-tableau, les utilitaires de gestion des tableaux dynamiques, la programmation avec ces tableaux, et les problèmes dus aux réels double précision.