Télécharger conversion_enti.dgibi
************************************************************************ ************************************************************************ ************************************************************************ * NOM : conversion_enti.dgibi * * DESCRIPTION : Comparaison entre les differentes fonctions pour * convertir un reel en entier * * MOTS-CLÉS : troncature,partie entiere,arrondi,proche,floor,ceiling, * plancher,plafond,round * ************************************************************************ * HISTORIQUE : 18/12/2014 : JCARDO : creation du jeu de données * HISTORIQUE : * HISTORIQUE : ************************************************************************ * Prière de PRENDRE LE TEMPS DE COMPLÉTER LES COMMENTAIRES * en cas de modification de ce cas test afin de faciliter * la maintenance ! ************************************************************************ * GRAINE ALEATOIRE SEED1 = 235 ; * NOMBRE DE VALEURS DANS LES LISTES ALEATOIRES NB1 = 1000 ; * NOMBRE D'ELEMENTS PAR COTE DU CUBE NB2 = 5 ; * TRACER LES RESULTATS ? GRAPH = VRAI ; * boucle sur les options REPE BLOC1 NOPTI ; SI (EGA MOPTI 'TRON') ; EMIN1 = -1 ; EMAX1 = 1 ; FINS ; SI (EGA MOPTI 'INFE') ; EMIN1 = -1 ; EMAX1 = 0 ; FINS ; EMIN1 = 0 ; EMAX1 = 1 ; FINS ; SI (EGA MOPTI 'PROC') ; EMIN1 = -0.5 ; EMAX1 = 0.5 ; FINS ; MESS '| |' ; MESS '| O P T I O N " ' MOPTI ' " |' ; MESS '| |' ; * =============================== * TEST 1 POUR LES OBJETS LISTREEL * =============================== LENT1 = ENTI MOPTI LREE1 ; LECA1 = LENT1 - LREE1 ; SI GRAPH ; LECA1 ; 'TITY' 'Ecart absolu' 'YBOR' -1.5 1.5 'YGRA' 0.5 ; FINS ; ********* VALIDATION ********* SI ((EMAX2 >EG EMAX1) OU (EMIN2 <EG EMIN1)) ; FINS ; ****************************** * =============================== * TEST 2 POUR LES OBJETS LISTREEL * =============================== LENT2 = ENTI MOPTI LREE2 ; LECA2 = LENT2 - LREE2 ; * SI GRAPH ; * EVOL1 = EVOL 'ROUG' 'MANU' (PROG 1. 'PAS' 1. (DIME LREE2)) LECA2 ; * DESS EVOL1 'TITR' (CHAI '(ENTI "' MOPTI '" LREE2) - LREE2') * 'TITY' 'Ecart absolu' ; * FINS ; ********* VALIDATION ********* SI (EGA MOPTI 'TRON') ; EMIN1 = -1 ; EMAX1 = 1 ; EVAL1 = -0.5 ; FINS ; SI (EGA MOPTI 'INFE') ; EMIN1 = -1 ; EMAX1 = 0 ; EVAL1 = -0.5 ; FINS ; EMIN1 = 0 ; EMAX1 = 1 ; EVAL1 = 0.5 ; FINS ; SI (EGA MOPTI 'PROC') ; EMIN1 = -0.5 ; EMAX1 = 0.5 ; EVAL1 = 0.5 ; FINS ; SI ((EMAX2 NEG EVAL1 1.E-7) OU (EMIN2 NEG EVAL1 1.E-7)) ; FINS ; ****************************** * =========================== * TEST POUR LES OBJETS ENTIER * =========================== MESS 'TEST ENTIER' ; ENTI1 = SEED1 ; ENTI2 = ENTI ENTI1 ; ********* VALIDATION ********* SI (NEG ENTI1 ENTI2) ; FINS ; ****************************** * ============================= * TEST POUR LES OBJETS FLOTTANT * ============================= MESS 'TEST FLOTTANT' ; ENTI1 = ENTI MOPTI FLOT1 ; ********* VALIDATION ********* ECAR1 = ENTI1 - FLOT1 ; SI ((ECAR1 <EG EMIN1) OU (ECAR1 >EG EMAX1)) ; FINS ; ****************************** * ============================ * TEST POUR LES OBJETS CHPOINT * ============================ MESS 'TEST CHPOINT' ; MAIL1 = MAIL2 ET MAIL3 ; CHPO2 = ENTI MOPTI CHPO1 ; CECA1 = CHPO2 - CHPO1 ; SI GRAPH ; FINS ; ********* VALIDATION ********* SI ((EMAX2 >EG EMAX1) OU (EMIN2 <EG EMIN1)) ; FINS ; ****************************** * TEST 1 POUR LES OBJETS MOT * ========================== ENTI1 = ENTI MOT1 ; '10*(ENTI "' MOPTI '" MOT1) = ' (10*ENTI1)) ; ********* VALIDATION ********* SI (NEG ENTI1 SEED1) ; FINS ; ****************************** * TEST 2 POUR LES OBJETS MOT * ========================== MOT2 = '-2.98716E+2' ; ENTI2 = ENTI MOPTI MOT2 ; '10*(ENTI "' MOPTI '" MOT2) = ' (10*ENTI2)) ; ********* VALIDATION ********* SI (EGA MOPTI 'TRON') ; ENTI20 = -298 ; FINS ; SI (EGA MOPTI 'INFE') ; ENTI20 = -299 ; FINS ; ENTI20 = -298 ; FINS ; SI (EGA MOPTI 'PROC') ; ENTI20 = -299 ; FINS ; SI (NEG ENTI2 ENTI20) ; FINS ; ****************************** * TEST POUR LES OBJETS LISTMOTS * ============================= MESS 'TEST LISTMOTS' ; LENT1 = ENTI MOPTI LMOT1 ; '10*(ENTI "' MOPTI '" LMOT1[' &BLOC2 ']) = ' FIN BLOC2 ; ********* VALIDATION ********* SI (EGA MOPTI 'TRON') ; FINS ; SI (EGA MOPTI 'INFE') ; FINS ; FINS ; SI (EGA MOPTI 'PROC') ; FINS ; FINS ; ****************************** FIN BLOC1 ; ******************************************************** * Visualisation des 4 fonctions : TRON, INFE, SUPE, PROC ******************************************************** SI GRAPH ; LY1 = ENTI LX ; LY2 = ENTI 'INFERIEUR' LX ; LY3 = ENTI 'SUPERIEUR' LX ; LY4 = ENTI 'PROCHE' LX ; LY5 = LX ; TAB1 . 2 = 'TIRR' ; TAB1 . 3 = 'TIRR' ; TAB1 . 5 = 'TIRL' ; 'TITX' 'X' 'TITY' 'Y' 'LEGE' TAB1 'XBOR' -3.5 3.5 'XGRA' 0.5 'YBOR' -4. 4. 'YGRA' 1. ; FINS ; ******************************************************** * OPTI 'ECHO' 1 'TRAC' 'X' 'DONN' 5; FIN ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales