/* */ /* Programma sviluppato da */ /* */ /* Giovanni DI CECCA */ /* */ /* http://www.dicecca.net */ /* */ #include /* Prototipi di funzioni */ float taylor (float x); void eps_sing(float *eps); main( ) { float suc; float x; printf("inserisci l'esponente per calcolare la successione finita"); scanf("%f", &x); suc = taylor(x); printf("\nIl valore calcolato è : "); printf("%f", suc); return 0; } /*-------------------------------------------------*/ /* Fuzione del Calcolo della successione di Taylor */ /*-------------------------------------------------*/ float taylor (float x) { float eps, sum, val, op; /* Carica la funzione di Epsilon macchina singola precisione */ eps_sing(&eps); sum = 0; op=0; val = 1; do { sum = sum + val; op = op + +; val = val*(x/op); }while(val > sum * eps); printf("\n totale operazioni %f", op); return sum; } /*--------------------------------------*/ /* Fuzione del Calcolo Epsilon macchina */ /*--------------------------------------*/ void eps_sing(float *eps) { float e1,e2; e1=1; do { *eps=e1; e1=e1/2; e2=e1+1; }while(e2 != 1); }