Télécharger fich4.eso

Retour à la liste

Numérotation des lignes :

fich4
  1. C FICH4 SOURCE CB215821 20/11/04 21:17:25 10766
  2. SUBROUTINE FICH4(MYMOT,MYLMOT,NBMOTS,INDMOT,IMPR,IRET)
  3. IMPLICIT REAL*8 (A-H,O-Z)
  4. IMPLICIT INTEGER (I-N)
  5. C***********************************************************************
  6. C NOM : FICH4
  7. C PROJET : Noyau linéaire NLIN
  8. C DESCRIPTION : Cherche le mot MYMOT dans le tableau de CHARACTER*4
  9. C MYLMOT.
  10. C Si on le trouve, on renvoie son indice dans la liste
  11. C sinon erreur...
  12. C LANGAGE : ESOPE
  13. C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF)
  14. C mél : gounand@semt2.smts.cea.fr
  15. C***********************************************************************
  16. C APPELE PAR : FILFAL
  17. C***********************************************************************
  18. C ENTREES : * MYMOT (type CH*(*)) : mot à rechercher.
  19. C * MYLMOT (type CH*4) : liste de mots.
  20. C * NBMOTS (type ENTIER) : nombre de mots de MYLMOT
  21. C SORTIES : * INDMOT (type ENTIER) : indice de MYMOT dans
  22. C MYLMOT.
  23. C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  24. C***********************************************************************
  25. C VERSION : v1, 13/04/2000, version initiale
  26. C HISTORIQUE : v1, 13/04/2000, création
  27. C HISTORIQUE :
  28. C HISTORIQUE :
  29. C***********************************************************************
  30. C Prière de PRENDRE LE TEMPS de compléter les commentaires
  31. C en cas de modification de ce sous-programme afin de faciliter
  32. C la maintenance !
  33. C***********************************************************************
  34.  
  35. -INC PPARAM
  36. -INC CCOPTIO
  37. INTEGER NBMOTS
  38. CHARACTER*(*) MYLMOT(*),MYMOT
  39. INTEGER INDMOT
  40. *
  41. INTEGER IMPR,IRET
  42. *
  43. INTEGER INBM
  44. LOGICAL LFOUND
  45. *
  46. * Executable statements
  47. *
  48. IF (IMPR.GT.5) WRITE(IOIMP,*) 'Entrée dans fich4'
  49. INBM=0
  50. LFOUND=.FALSE.
  51. 1 CONTINUE
  52. IF (.NOT.LFOUND.AND.INBM.LT.NBMOTS) THEN
  53. INBM=INBM+1
  54. LFOUND=MYMOT.EQ.MYLMOT(INBM)
  55. GOTO 1
  56. ENDIF
  57. IF (.NOT.LFOUND) THEN
  58. WRITE(IOIMP,*) 'On n''a pas trouvé le mot ',MYMOT
  59. WRITE(IOIMP,*) 'dans la liste de mots.'
  60. WRITE(IOIMP,*) (MYLMOT(INBM),INBM=1,NBMOTS)
  61. GOTO 9999
  62. ENDIF
  63. INDMOT=INBM
  64. *
  65. * Normal termination
  66. *
  67. IRET=0
  68. RETURN
  69. *
  70. * Format handling
  71. *
  72. *
  73. * Error handling
  74. *
  75. 9999 CONTINUE
  76. IRET=1
  77. WRITE(IOIMP,*) 'An error was detected in subroutine fich4'
  78. RETURN
  79. *
  80. * End of subroutine FICH4
  81. *
  82. END
  83.  
  84.  
  85.  
  86.  
  87.  

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