Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Esercizio 3
- Calcolare il valore di pi-greco come somma dei termini
- 4, - 4/3, + 4/5, - 4/7, + 4/9, - 4/11, + ... ,
- il cui termine i-mo si ottiene dal precedente aggiungendo 4./(2.*i +1) per i pari e
- sottraendo 4./(2.*i +1) per i dispari. Utilizzare il seguente algoritmo:
- pi ↠0.; iâ†0;
- while (i<numTermini)
- { if (i è pari) somma a pi il valore 4./(2.*i +1);
- else sottrai da pi il valore 4./(2.*i +1);
- i=i+1; }
- In particolare verificare quale valore di p-greco si ottiene con 1000 e 10000 termini e
- quanti termini è necessario sommare per ottenere il valore approssimato 3.141592
- */
- #include <stdio.h>
- #include <stdlib.h>
- #define VALUE_CALC(i) 4.00000/(2.00000*i+1);
- double pi_value( int );
- int term_pi( void );
- int main()
- {
- int term = 0;
- double pi = 0.0;
- /*
- printf("Inserisci il numero di termini che si desidera valutare per poter effettuare il calcolo del pigreco:\n");
- scanf("%d", &term);
- pi = pi_value(term);
- printf("Il termine %d-esimo del pigreco è uguale %f\n", term, pi);
- */
- printf("Il valore del pi greco corretto 3.141592 lo si ottiene dopo %d termini!!\n", term_pi());
- #ifdef _WIN32
- system("PAUSE");
- #endif
- return EXIT_SUCCESS;
- }
- int term_pi( void )
- {
- double pi = 0.0;
- const double PIGRECO = 3.141592;
- int i = 0;
- int n_term = 0;
- while ( pi <= PIGRECO + 0.000001 && PIGRECO <= pi + 0.000001 )
- {
- if ( ( i % 2 ) == 0 )
- {
- pi += VALUE_CALC(i);
- }
- else
- {
- pi -= VALUE_CALC(i);
- }
- i++;
- n_term++;
- }
- return n_term;
- }
- double pi_value( int term )
- {
- double pi = 0.0;
- int i = 0;
- while ( i < term )
- {
- if ( ( i % 2 ) == 0 )
- {
- pi += VALUE_CALC(i);
- }
- else
- {
- pi -= VALUE_CALC(i);
- }
- i++;
- }
- return pi;
- }
Advertisement
Add Comment
Please, Sign In to add comment