/*************************************************************************************************************************************/ /* */ /* E T U D E D E L A P E R T E D E S P R O P R I E T E S D ' A S S O C I A T I V I T E */ /* D E L A M U L T I P L I C A T I O N E T D E L A D I S T R I B U T I V I T E D E */ /* L A M U L T I P L I C A T I O N P A R R A P P O R T A L ' A D D I T I O N L O R S */ /* D E L ' E T U D E D E L A D Y N A M I Q U E D E V E R H U L S T : */ /* */ /* */ /* Author of '$xtc/verhulst.O5$c' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 20250807094342). */ /* */ /*************************************************************************************************************************************/ #include <stdio.h> #define PRECIS double \ /* Definition de la precision ('float' ou 'double') des calculs. Le phenomene de la */ \ /* sensibilite a l'ordre des operations ne se manifeste qu'en 'double'... */ #define pas 10 \ /* Pas d'edition des valeurs (dx). */ #define N 9 \ /* Nombre d'instants a editer (le nombre d'iterations est donc 'N*pas'). */ #define R 3.0 \ /* Taux de croissance. */ #define X0 0.5 \ /* Conditions initiales. */ main() { PRECIS r=R; PRECIS dx=X0; int n; for (n=0 ; n<(N*pas) ; n++) { if ((n%pas) == 0) { printf("\n iteration(%04d) = %10.7f",n,dx); } else { } dx = (r+1)*dx - r*dx*dx; /* Le resultat depend des options d'optimisation '-O2' et -O3', mais ATTENTION, il ne faut */ /* pas mettre ici de parentheses redondantes... */ } }