Télécharger dimens.eso

Retour à la liste

Numérotation des lignes :

  1. C DIMENS SOURCE GOUNAND 14/01/29 21:15:04 7923
  2. SUBROUTINE DIMENS
  3. ************************************************************************
  4. *
  5. * D I M E N S
  6. * -----------
  7. *
  8. * SOUS-PROGRAMME ASSOCIE A L'OPERATEUR "DIMENSION"
  9. *
  10. * FONCTION:
  11. * ---------
  12. *
  13. * FOURNIR LA DIMENSION D'UN OBJET, LA SIGNIFICATION DU MOT
  14. * "DIMENSION" DEPENDANT DE L'OBJET CONSIDERE.
  15. *
  16. * PHRASE D'APPEL (EN GIBIANE):
  17. * ----------------------------
  18. *
  19. * LONG = DIMENSION OBJ ;
  20. *
  21. * OPERANDE ET RESULTAT:
  22. * ---------------------
  23. *
  24. * LONG 'ENTIER ' DIMENSION DE "OBJ".
  25. * OBJ 'LISTREEL' OBJET DONT ON PEUT DEFINIR UNE "DIMENSION".
  26. * OU 'LISTCHPO'
  27. * OU 'RIGIDITE'
  28. * OU 'LISTENTI'
  29. * OU 'SOLUTION'
  30. * OU 'LISTMOTS'
  31. * OU 'TABLE '
  32. * OU 'EVOLUTIO'
  33. * OU 'CHARGEME'
  34. * OU 'NUAGE ' ('COMP' ou 'UPLE')
  35. * OU 'MOT'
  36. *
  37. *
  38. * MODE DE FONCTIONNEMENT:
  39. * -----------------------
  40. *
  41. * APPEL D'UN SOUS-PROGRAMME DISTINCT SELON LE TYPE D'OBJET DONT ON
  42. * CHERCHE LA DIMENSION.
  43. *
  44. * SOUS-PROGRAMMES APPELES:
  45. * ------------------------
  46. *
  47. * QUETYP,ECRENT,DIMEN1,DIMEN2,DIMEN3,DIMEN4,DIMEN5,DIMEN6
  48. * DIMEN7,DIMEN8,DIMEN9,DIME10
  49. *
  50. * AUTEUR, DATE DE CREATION:
  51. * -------------------------
  52. *
  53. * PASCAL MANIGOT 1ER OCTOBRE 1984
  54. * MODIFIE LE 13 OCTOBRE 1987 PAR DENIS ROBERT
  55. *
  56. * LANGAGE:
  57. * --------
  58. *
  59. * FORTRAN77 + EXTENSION: CARACTERES MIS DANS DES ENTIERS
  60. *
  61. ************************************************************************
  62. *
  63. IMPLICIT INTEGER(I-N)
  64. IMPLICIT REAL*8(A-H,O-Z)
  65. -INC CCOPTIO
  66. *
  67. CHARACTER*512 CMOT
  68. CHARACTER*4 MOTCLE(2)
  69. DATA MOTCLE/'COMP','UPLE'/
  70. *
  71. 10 CONTINUE
  72. CALL LIROBJ('LISTREEL',IPOINT,0,IRETOU)
  73. IF (IRETOU.NE.1) GOTO 20
  74. CALL DIMEN1 (IPOINT,IDIMEN)
  75. GOTO 5000
  76. 20 CONTINUE
  77. CALL LIROBJ('LISTCHPO',IPOINT,0,IRETOU)
  78. IF (IRETOU.NE.1) GOTO 30
  79. CALL DIMEN2 (IPOINT,IDIMEN)
  80. GOTO 5000
  81. 30 CONTINUE
  82. CALL LIROBJ('RIGIDITE',IPOINT,0,IRETOU)
  83. IF (IRETOU.NE.1) GOTO 40
  84. CALL DIMEN3 (IPOINT,IDIMEN)
  85. GOTO 5000
  86. 40 CONTINUE
  87. CALL LIROBJ('LISTENTI',IPOINT,0,IRETOU)
  88. IF (IRETOU.NE.1) GOTO 50
  89. CALL DIMEN4 (IPOINT,IDIMEN)
  90. GOTO 5000
  91. 50 CONTINUE
  92. CALL LIROBJ('SOLUTION',IPOINT,0,IRETOU)
  93. IF (IRETOU.NE.1) GOTO 60
  94. CALL DIMEN5 (IPOINT,IDIMEN)
  95. GOTO 5000
  96. 60 CONTINUE
  97. CALL LIROBJ('LISTMOTS',IPOINT,0,IRETOU)
  98. IF (IRETOU.NE.1) GOTO 70
  99. CALL DIMEN6 (IPOINT,IDIMEN)
  100. GOTO 5000
  101. 70 CONTINUE
  102. CALL LIROBJ('TABLE ',IPOINT,0,IRETOU)
  103. IF (IRETOU.NE.1) GOTO 80
  104. CALL DIMEN7 (IPOINT,IDIMEN)
  105. GOTO 5000
  106. 80 CONTINUE
  107. CALL LIROBJ('EVOLUTIO',IPOINT,0,IRETOU)
  108. IF (IRETOU.NE.1) GO TO 90
  109. CALL DIMEN8 (IPOINT,IDIMEN)
  110. GO TO 5000
  111. 90 CONTINUE
  112. CALL LIROBJ('CHARGEME',IPOINT,0,IRETOU)
  113. IF (IRETOU.NE.1) GO TO 100
  114. CALL DIMEN9 (IPOINT,IDIMEN)
  115. GO TO 5000
  116. 100 CONTINUE
  117. CALL LIROBJ('NUAGE ',IPOINT,0,IRETOU)
  118. IF (IRETOU.NE.1) GO TO 110
  119. CALL LIRMOT(MOTCLE,2,JEMIL,1)
  120. IF (IERR.NE.0) RETURN
  121. CALL DIME10 (IPOINT,JEMIL,IDIMEN)
  122. GO TO 5000
  123. 110 CONTINUE
  124. CALL LIRCHA(CMOT,0,LMOT)
  125. IF (LMOT.EQ.0) GO TO 666
  126. IDIMEN=LMOT
  127. GO TO 5000
  128. C
  129. C PAS D OPERANDE CORRECTE TROUVE
  130. C
  131. 666 CALL QUETYP(MOTERR(1:8),0,IRETOU)
  132. IF(IRETOU.NE.0) THEN
  133. CALL ERREUR (39)
  134. ELSE
  135. CALL ERREUR(533)
  136. ENDIF
  137. RETURN
  138. *
  139. 5000 CONTINUE
  140. *
  141. CALL ECRENT(IDIMEN)
  142. RETURN
  143. *
  144. END
  145.  
  146.  
  147.  
  148.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales