/*************************************************************************************************************************************/ /* */ /* T E S T D E V A L E U R S A L E A T O I R E S E T */ /* D E L E U R T R A N S F O R M A T I O N N O N L I N E A I R E : */ /* */ /* */ /* Author of '$xtc/proba.01$c' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, AAAAMMJJhhmmss). */ /* */ /*************************************************************************************************************************************/ #include "INCLUDES.01.I" /* Introduit le 20051116101945... */ #define ITER 10000 extern double drand48(); #define MINIMUM 0.0 #define MAXIMUM (100.0-MINIMUM) #define ALEATOIRE \ (MINIMUM+(MAXIMUM*drand48())) extern double exp(); #define CONVERSION(x) \ exp(-(x)) main() { int n; double somme1=0,minimum1=+1e300,maximum1=-1e300; double somme2=0,minimum2=+1e300,maximum2=-1e300; for (n=1 ; n<=ITER ; n++) { double valeur=ALEATOIRE; minimum1=MIN2(valeur,minimum1); maximum1=MAX2(valeur,maximum1); somme1=somme1+valeur; minimum2=MIN2(CONVERSION(valeur),minimum2); maximum2=MAX2(CONVERSION(valeur),maximum2); somme2=somme2+CONVERSION(valeur); } printf("\n minimum............................................=%g",minimum1); printf("\n maximum............................................=%g",maximum1); printf("\n moyenne des valeurs aleatoires.....................=%f",somme1/(double)n); printf("\n"); printf("\n minimum............................................=%g",minimum2); printf("\n maximum............................................=%g",maximum2); printf("\n moyenne des valeurs aleatoires apres transformation=%f",somme2/(double)n); }