$$$$ PECHE * PECHE PROCEDUR PASCAL 20/07/30 21:15:25 10672 'DEBPROC' PECHE TT*TABLE NOM*MOT VAL/FLOTTANT MOT1/'MOT'; 'SI' ( 'EXIS' TT 'TEMPS' ); *----------- TRAITEMENT D'UNE TABLE FORMAT DE PASAPAS --------------- 'SI' ('EXIS' MOT1) ; IPOL1 = 'EGA' MOT1 'IPOL' ; 'SINO' ; IPOL1 = FAUX ; 'FINS' ; TT1 = TT . NOM ; TT2 = TT . 'TEMPS'; NDIM = 'DIME' TT2 ; JIMPRIM = 'VALEUR' 'IMPI' ; 'SI' ( 'EXIS' VAL ) ; ICOMP = -1 ; ISUCCES = 0 ; VALREF = VAL * 1.E-10 ; 'REPETER' BOUC NDIM ; ICOMP = ICOMP + 1 ; VAL1 = TT2.ICOMP; 'SI' ( 'EGA' VAL1 VAL VALREF) ; TOTO = TT1.ICOMP ; ISUCCES = 1 ; 'SI' ( 'NEG' JIMPRIM 0 ) ; 'MESS' ' ON A TROUVE UN RESULTAT AU TEMPS ' VAL1 ; 'FINSI'; 'QUITTER' BOUC ; 'SINO' ; 'SI' IPOL1 ; SI (VAL1 '>' VAL) ; ICOMPM1 = ICOMP - 1 ; VAL0 = TT2.ICOMPM1 ; NOM0 = TT1.ICOMPM1 ; SI (EGA NOM 'MODELES') ; TOTO = NOM0 ; SINON ; NOM1 = TT1.ICOMP ; TOTO = (VAL - VAL0) / (VAL1 - VAL0) * (NOM1 - NOM0) ; TOTO = NOM0 + TOTO ; FINSI ; ISUCCES = 1 ; 'SI' ( 'NEG' JIMPRIM 0 ) ; 'MESS' ' ON A TROUVE UN RESULTAT AU TEMPS ' VAL1 ; 'FINSI'; 'QUITTER' BOUC ; FINS ; 'FINS' ; 'FINSI' ; 'FIN' BOUC ; 'SINON'; TOTO = TT1.(NDIM - 1) ; ISUCCES = 1 ; 'FINSI' ; 'SI' ( ISUCCES 'EGA' 0 ) ; 'ERREUR' '*** On n a pas trouve le résultat cherché.' ; 'FINSI' ; 'SINON'; 'SI' ( 'EXIS' TT 'RESUDEPL' ); *------------ TRAITEMENT D'UNE TABLE ISSUE DE NONLIN -------------- TT1 = TT . NOM ; TTIND = 'INDEX' TT1 ; NDIM = 'DIME' TTIND ; JIMPRIM = 'VALEUR' 'IMPI' ; 'SI' ( 'EXIS' VAL ) ; ICOMP = 0 ; ISUCCES = 0 ; VALREF = TTIND . NDIM * 1.E-6 ; 'REPETER' BOUC NDIM ; ICOMP = ICOMP + 1 ; VAL1 = TTIND . ICOMP ; 'SI' ( 'EGA' VAL1 VAL VALREF ) ; TOTO = TT1 . ( TTIND . ICOMP ) ; ISUCCES = 1 ; 'SI' ( 'NEG' JIMPRIM 0 ) ; 'MESS' ' ON A TROUVE UN RESULTAT AU TEMPS ' VAL1; 'FINSI'; 'QUITTER' BOUC ; 'FINSI' ; 'FIN' BOUC ; 'SINON'; TOTO = TT1 . ( TTIND . NDIM ) ; ISUCCES = 1 ; 'FINSI' ; 'SI' ( ISUCCES 'EGA' 0 ) ; 'ERREUR' '*** On n a pas trouve le résultat cherché.' ; 'FINSI' ; 'SINON'; 'ERRE' '*** La table fournie ne convient pas'; 'FINSI'; 'FINSI'; 'FINPROC' TOTO ;