* fichier : puevol.dgibi
*---------------------------------------------------------------------*
* Cas-test de l'operateur '**' *
* *
* Ce cas-test verifie l'elevation a la puissance d'un objet de *
* type EVOLUTION : *
* 1. Elevation a la puissance ENTIERE POSITIVE ; *
* 2. Elevation a la puissance ENTIERE NEGATIVE ; *
* 3. Elevation a la puissance REELLE POSITIVE ; *
* 4. Elevation a la puissance REELLE NEGATIVE ; *
* *
*---------------------------------------------------------------------*
* *
* Pour avoir les messages, mettre IMES1 a VRAI : *
IMES1 = FAUX ;
*
'OPTI' 'ECHO' 0 ;
'OPTI' 'DIME' 2 'ELEM' QUA4 ;
* *
*------------------- 1. PUISSANCE ENTIERE POSITIVE -------------------*
* *
* Construction d'une EVOLUTION : *
LX1 = 'PROG' 0. 1. 2. ;
LY1 = 'PROG' 2. 3. 5. ;
EVK1 = 'EVOL' 'MANU' 'T' LX1 'K' LY1 ;
* *
* Elevation a la puissance : *
N1 = 2 ;
EVK2 = EVK1 ** N1 ;
* *
* Verification du resultat : *
ERR1 = 0. ;
'SI' ('NEG' ('TYPE' EVK2) 'EVOLUTIO') ;
ERR1 = 1. ;
'FINS' ;
LEGX1 = 'EXTR' EVK1 'LEGX' 1 ;
'SI' ('NEG' ('EXTR' EVK2 'LEGX' 1) LEGX1) ;
ERR1 = ERR1 + 1. ;
'FINS' ;
LX2 = 'EXTR' EVK2 'ABSC' ;
LY2 = 'EXTR' EVK2 'ORDO' ;
ERR1 = ERR1 + ('MAXI' (LX1 - LX2)) + ('MAXI' ((LY1 ** N1) - LY2)) ;
* *
* Message de sortie : *
IERR1 = 'NEG' ERR1 0. ;
VECH1 = 'VALE' 'ECHO' ;
'OPTI' 'ECHO' 0 ;
'SI' IMES1 ;
'SI' IERR1 ;
'SAUT' 1 'LIGN' ;
'MESS'
'*** Erreur dans l"elevation a la puissance entiere positive' ;
'MESS'
' d"un objet de type EVOLUTIOn.' ;
'FINS' ;
'FINS' ;
'OPTI' 'ECHO' VECH1 ;
* *
* Gestion de l'erreur : *
'SI' IERR1 ;
'SAUT' 1 'LIGN' ;
'ERRE' 5 ;
'FINS' ;
* *
*------------------- 2. PUISSANCE ENTIERE NEGATIVE -------------------*
* *
* Elevation a la puissance : *
N1 = -1 ;
EVK2 = EVK1 ** N1 ;
* *
* Verification du resultat : *
'SI' ('NEG' ('TYPE' EVK2) 'EVOLUTIO') ;
ERR1 = 1. ;
'FINS' ;
LEGX1 = 'EXTR' EVK1 'LEGX' 1 ;
'SI' ('NEG' ('EXTR' EVK2 'LEGX' 1) LEGX1) ;
ERR1 = ERR1 + 1. ;
'FINS' ;
LX2 = 'EXTR' EVK2 'ABSC' ;
LY2 = 'EXTR' EVK2 'ORDO' ;
ERR1 = ERR1 + ('MAXI' (LX1 - LX2)) + ('MAXI' ((LY1 ** N1) - LY2)) ;
* *
* Message de sortie : *
IERR1 = 'NEG' ERR1 0. ;
VECH1 = 'VALE' 'ECHO' ;
'OPTI' 'ECHO' 0 ;
'SI' IMES1 ;
'SI' IERR1 ;
'SAUT' 1 'LIGN' ;
'MESS'
'*** Erreur dans l"elevation a la puissance entiere negative' ;
'MESS'
' d"un objet de type EVOLUTIOn.' ;
'FINS' ;
'FINS' ;
'OPTI' 'ECHO' VECH1 ;
* *
* Gestion de l'erreur : *
'SI' IERR1 ;
'SAUT' 1 'LIGN' ;
'ERRE' 5 ;
'FINS' ;
* *
*------------------- 3. PUISSANCE REELLE POSITIVE --------------------*
* *
* Elevation a la puissance : *
X1 = 2.5 ;
EVK2 = EVK1 ** X1 ;
* *
* Verification du resultat : *
'SI' ('NEG' ('TYPE' EVK2) 'EVOLUTIO') ;
ERR1 = 1. ;
'FINS' ;
LEGX1 = 'EXTR' EVK1 'LEGX' 1 ;
'SI' ('NEG' ('EXTR' EVK2 'LEGX' 1) LEGX1) ;
ERR1 = ERR1 + 1. ;
'FINS' ;
LX2 = 'EXTR' EVK2 'ABSC' ;
LY2 = 'EXTR' EVK2 'ORDO' ;
ERR1 = ERR1 + ('MAXI' (LX1 - LX2)) + ('MAXI' ((LY1 ** X1) - LY2)) ;
* *
* Message de sortie : *
IERR1 = 'NEG' ERR1 0. ;
VECH1 = 'VALE' 'ECHO' ;
'OPTI' 'ECHO' 0 ;
'SI' IMES1 ;
'SI' IERR1 ;
'SAUT' 1 'LIGN' ;
'MESS'
'*** Erreur dans l"elevation a la puissance reelle positive' ;
'MESS'
' d"un objet de type EVOLUTIOn.' ;
'FINS' ;
'FINS' ;
'OPTI' 'ECHO' VECH1 ;
* *
* Gestion de l'erreur : *
'SI' IERR1 ;
'SAUT' 1 'LIGN' ;
'ERRE' 5 ;
'FINS' ;
* *
*------------------- 4. PUISSANCE REELLE NEGATIVE --------------------*
* *
* Elevation a la puissance : *
X1 = -1.2 ;
EVK2 = EVK1 ** X1 ;
* *
* Verification du resultat : *
'SI' ('NEG' ('TYPE' EVK2) 'EVOLUTIO') ;
ERR1 = 1. ;
'FINS' ;
LEGX1 = 'EXTR' EVK1 'LEGX' 1 ;
'SI' ('NEG' ('EXTR' EVK2 'LEGX' 1) LEGX1) ;
ERR1 = ERR1 + 1. ;
'FINS' ;
LX2 = 'EXTR' EVK2 'ABSC' ;
LY2 = 'EXTR' EVK2 'ORDO' ;
ERR1 = ERR1 + ('MAXI' (LX1 - LX2)) + ('MAXI' ((LY1 ** X1) - LY2)) ;
* *
* Message de sortie : *
IERR1 = 'NEG' ERR1 0. ;
VECH1 = 'VALE' 'ECHO' ;
'OPTI' 'ECHO' 0 ;
'SI' IMES1 ;
'SI' IERR1 ;
'SAUT' 1 'LIGN' ;
'MESS'
'*** Erreur dans l"elevation a la puissance reelle positive' ;
'MESS'
' d"un objet de type EVOLUTIOn.' ;
'FINS' ;
'FINS' ;
'OPTI' 'ECHO' VECH1 ;
* *
* Gestion de l'erreur : *
'SI' IERR1 ;
'SAUT' 1 'LIGN' ;
'ERRE' 5 ;
'FINS' ;
* *
*---------------------------------------------------------------------*
* *
* Message de sortie si test reussi : *
VECH1 = 'VALE' 'ECHO' ;
'OPTI' 'ECHO' 0 ;
'SI' IMES1 ;
'SAUT' 1 'LIGN' ;
'MESS'
'*** TEST REUSSI ***'
;
'FINS' ;
'OPTI' 'ECHO' VECH1 ;
* *
'FIN' ;
'OPTI' 'ECHO' 1 ;
© Cast3M 2003 - All rights reserved.
Disclaimer