* DYNAMOD3 PROCEDUR NOBODY 92/01/01 00:00:00 001 TABL_MAX*'TABLE ' ; ************************************************************************ * * D Y N A M O D 3 * --------------- * * FONCTION: * --------- * * RECHERCHE D'UN MAXIMUM D'UNE COMPOSANTE EN VALEUR ABSOLUE AU * COURS DU TEMPS APRES RECOMBINAISON DES MODES. * * PHRASE D'APPEL (EN GIBIANE): * ---------------------------- * * RESUTAB = DYNAMOD3 BASMOD SOLUDY TABLMAX ; * * OPERANDES: * ---------- * * BASMOD : OBJET BASEMODA. * * SOLUDY : OBJET SOLUTION. * * TABLMAXI : TABLE CONTENANT AUTANT DE TABLES (N) QUE DE MAXIMUM * DEMANDE. * I VARIANT DE 1 A N * TABLMAXI I 'TYPE' : UN MOT, TYPE DU MAXIMUM * (DEPL,ACCE,VITE,LIAI,CONT). * TABLMAXI I 'STRUCTURE' : OBJET BASEMODA, (FACULTATIF) * SOUS-STRUCTURE OU DOIT S'EFFECTUER LA * RECOMBINAISON. * TABLMAXI I 'NUMERO' : OBJET ENTIER, (FACULTATIF) * NUMERO DE LA SOUS-STRUCTURE OU DOIT * S'EFFECTUER LA RECOMBINAISON. * PUIS, * TABLMAXI I 'POINT' : OBJET CHPOINT,MAILLAGE,ATTACHE. * POINT OU DOIT S'EFFECTUER LA DEMANDE DE * MAXIMUM. * TABLMAXI I 'COMPOSANTE' : UN MOT, NOM DE LA COMPOSANTE * DU POINT. * OU, * TABLMAXI I 'CHPOINT' : OBJET CHPOINT, CHAMP CONTENANT * LES POINTS ET LES COMPOSANTES OU DOIT * S'EFFECTUER LA DEMANDE DU MAXIMUM. * * * RESULTATS: * ---------- * * RESUTAB : OBJET TABLE, INDICEE DE 1 A N * I VARIANT DE 1 A N * RESUTAB I : UN FLOTTANT, RESULTAT DE LA RECHERCHE * DEMANDEE. * * VARIABLES: * ---------- * * NBTABLE : NOMBRE DE TABLES CONTENANT LE MAXIMUM A RECHERCHER. * NBINDICE : NOMBRE D'INDICES DANS UNE TABLE. * * * * AUTEUR, DATE DE CREATION: * ------------------------- * * P.M. L.V. 30 MARS 1988 * ************************************************************************ * * RESUMAXI = 'TABLE' ; NBTABLE = 'DIMENSION' TABL_MAX ; INDICE1 = 0 ; * 'REPETER' BOUCLE1 NBTABLE ; INDICE1 = INDICE1 '+' 1 ; TAB_MAXI = TABL_MAX.INDICE1 ; * * ------ LECTURE DE LA TABLE ------ * SI ('EXISTE' TAB_MAXI 'POINT') ; PTS_MAX = TAB_MAXI.'POINT' ; SINON ; 'ERREUR' 'OPTION MAXI INDISPONIBLE POUR UN CHPOINT' ; CHP_MAX = TAB_MAXI.'CHPOINT' ; FINSI ; TXT_MAXI = 'TEXTE' ' ' ; SI ('EXISTE' TAB_MAXI 'STRUCTURE') ; _MSTRUC_ = TAB_MAXI.'STRUCTURE' ; TXT_MAXI = 'TEXTE' TXT_MAXI '_MSTRUC_' ; FINSI ; SI ('EXISTE' TAB_MAXI 'NUMERO') ; _MNUME_ = TAB_MAXI.'NUMERO' ; TXT_MAXI = 'TEXTE' TXT_MAXI '_MNUME_' ; FINSI ; * * ------- OPERATEUR MAXI ------- * SI ('EXISTE' PTS_MAX) ; SI ('EGA' MONTYPE 'ATTACHE ') ; 'ERREUR' 'OPTION MAXI INDISPONIBLE POUR UN OBJET ATTACHE'; SINON ; PTS_MAX COMP_MAX ; LISTORD2 = 'ABS' LISTORD ; 'DETR' LISTORD2 ; FINSI ; *+* A DEVELOPPER ULTERIEUREMENT. * SINON ; * MAXI1 = 'EVOL' 'RECO' BASMOD TXT_MAXI SOLUDY TYP_MAX CHP_MAX ; FINSI ; * * ---------- RESULTAT ----------- * RESUMAXI.INDICE1 = XMAXI ; 'DETR' MAXI1 ; * 'FIN' BOUCLE1 ; * 'FINPROC' RESUMAXI ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales