![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
 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.