1 : C NORMAX SOURCE CHAT 05/01/13 02:00:14 5004 2 : SUBROUTINE NORMAX 3 : ************************************************************************ 4 : * 5 : * N O R M A X 6 : * ----------- 7 : * 8 : * SOUS-PROGRAMME ASSOCIE A L'OPERATEUR "MAX1" 9 : * 10 : * FONCTION: 11 : * --------- 12 : * 13 : * NORMER UN OBJET EN LE DIVISANT PAR SA PLUS GRANDE VALEUR (DE 14 : * TELLE SORTE QUE SON PLUS GRAND TERME DEVIENNE 1). 15 : * 16 : * PHRASE D'APPEL (EN GIBIANE): 17 : * ---------------------------- 18 : * 19 : * |(AVEC)| 20 : * OBJET2 = MAX1 OBJET1 (| | COMPOS ) ; 21 : * | SANS | 22 : * 23 : * LES PARENTHESES INDIQUANT DES ARGUMENTS FACULTATIFS. 24 : * 25 : * ARGUMENTS (EN GIBIANE): 26 : * ----------------------- 27 : * 28 : * OBJET1 TYPE_1 OBJET QUE L'ON NORME. 29 : * OBJET2 TYPE_1 OBJET NORME ISSU DE "OBJET1". 30 : * AVEC 'MOT ' MOT-CLE INDIQUANT QUE L'ON REGARDE 31 : * UNIQUEMENT,DANS LA RECHERCHE DU MAXIMUM, 32 : * LES VALEURS ASSOCIEES AUX COMPOSANTES CITEES 33 : * DANS "COMPOS". 34 : * C'EST L'OPTION PAR DEFAUT. 35 : * SANS 'MOT ' MOT-CLE INDIQUANT QUE L'ON EXCLUT, DANS LA 36 : * RECHERCHE DU MAXIMUM, LES VALEURS ASSOCIEES 37 : * AUX COMPOSANTES CITEES DANS "COMPOS". 38 : * COMPOS 'LISTMOTS' LISTE DES NOMS DES COMPOSANTES COMPRISES 39 : * OU EXCLUES. 40 : * 41 : * LES VALEURS POSSIBLES DE "TYPE_1" SONT: 42 : * - 'CHPOINT' (LES COMPOSANTES SONT ALORS UX, UY, UZ, LX, ...), 43 : * - ... (A COMPLETER AU FUR ET A MESURE) 44 : * 45 : * DICTIONNAIRE DES VARIABLES: (ORDRE ALPHABETIQUE) 46 : * --------------------------- 47 : * 48 : * IPOIN2 ENTIER POINTEUR DE L'OBJET NORME "OBJET2". 49 : * IPLMOT ENTIER POINTEUR DE L'OBJET "COMPOS". 50 : * IPOINT ENTIER POINTEUR DE L'OBJET "OBJET1". 51 : * IPOS ENTIER NUMERO D'ORDRE DU TYPE DE L'OBJET "OBJET1" DANS 52 : * LA LISTE CONTENUE DANS "LISTYP". 53 : * LISTYP ENTIER CONTIENT LES NOMS DES DIFFERENTS TYPES D'OBJET 54 : * DONT ON PEUT RECHERCHER LA PLUS GRANDE VALEUR. 55 : * MOTCLE CHARACTER CONTIENT LA CHAINE DE CARACTERES 'AVEC' OU 56 : * 'SANS'. 57 : * NBTYPE ENTIER NOMBRE DE NOMS DANS "LISTYP". 58 : * 59 : * MODE DE FONCTIONNEMENT: 60 : * ----------------------- 61 : * 62 : * APPEL D'UN SOUS-PROGRAMME DISTINCT SELON LE TYPE DE L'OBJET 63 : * "OBJET1". 64 : * 65 : * SOUS-PROGRAMMES APPELES: 66 : * ------------------------ 67 : * 68 : * LIROBJ, LIRTYP, ECROBJ, NORMA1 69 : * 70 : * AUTEUR, DATE DE CREATION: 71 : * ------------------------- 72 : * 73 : * PASCAL MANIGOT 5 NOVEMBRE 1984 74 : * 75 : * LANGAGE: 76 : * -------- 77 : * 78 : * FORTRAN77 + EXTENSION: CARACTERES MIS DANS DES ENTIERS 79 : * 80 : ************************************************************************ 81 : * 82 : IMPLICIT INTEGER(I-N) 83 : -INC CCOPTIO 84 : * 85 : PARAMETER (NBTYPE = 1) 86 : * 87 : CHARACTER*8 LISTYP(NBTYPE) 88 : * 89 : CHARACTER*(4) MOTCLE 90 : * 91 : DATA LISTYP/'CHPOINT '/ 92 : * 93 : * -- LECTURE DU MOT-CLE -- 94 : * 95 : ICODE = 0 95 : CALL LIRCHA (MOTCLE,ICODE,IRETOU) 96 : IF (IRETOU .EQ. 0) THEN 97 : MOTCLE = ' ' 98 : END IF 99 : * 100 : * -- LECTURE DE LA LISTE DE TYPES DE COMPOSANTE -- 101 : * 102 : ICODE = 0 102 : CALL LIROBJ ('LISTMOTS',IPLMOT,ICODE,IRETOU) 103 : IF (IRETOU .EQ. 0) THEN 104 : IPLMOT = 0 105 : ELSE IF (MOTCLE .EQ. ' ') THEN 106 : * PAR DEFAUT, LES COMPOSANTES NOMMEES SONT LES COMPOSANTES 107 : * PRISES EN COMPTE (ET NON PAS LES COMPOSANTES EXCLUES): 108 : MOTCLE = 'AVEC' 109 : END IF 110 : * 111 : * -- LECTURE DE L'OBJET -- 112 : * 113 : NBTYP = NBTYPE 114 : ICODE = 1 114 : CALL LIROBJ (LISTYP(1),IPOINT,ICODE,IRETOU) 115 : IF (IERR .NE. 0) RETURN 116 : * 117 : * -- NORMALISATION -- 118 : * 119 : * NORMALISATION D'UN "CHPOINT": 119 : CALL NORMA1 (IPOINT,IPLMOT,MOTCLE, IPOIN2) 120 : IF (IERR .NE. 0) RETURN 120 : CALL ECROBJ ('CHPOINT ',IPOIN2) 121 : * 122 : * 123 : END 124 :
© Cast3M 2003 - All rights reserved.
Disclaimer