Download puevol.dgibi

Back to the list

* 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