Program oblicza przybliżoną wartość liczby PI. Zgodnie ze wzorem, który podałeś, obliczanie wartości polega na sumowaniu kolejnych liczb o postaci 1/m gdzie m to liczba całkowita przyjmująca wartości od 1 i jest zwiększana co 2 czyli jest to zawsze wartość nieparzysta (jeśli użytkownik poda wartości n = 5 to liczba 1/m przyjmuje wartości 1/1, 1/3, 1/5, 1/7, 1/9). Istotne jest to, że sumujemy na przemian liczbę dodatnią i liczbę ujemną (zatem dla n = 5 dodajemy tak naprawdę wartości 1/1, -1/3, 1/5, -1/7, 1/9) informacja o tym czy mamy o czynienia z liczbą dodatnią czy ujemną jest zawarta w zmiennej znak która na początku wynosi 1, a przy każdym przebiegu pętli jest mnożona przez -1, zatem przyjmuje na zmianę wartości 1, -1, 1, -1, 1, -1 .... Wynik sumowania jest zapamiętywany w zmiennej wynik, która na początku przyjmuje wartość 0.0 (ponieważ sumowanie dopiero nastąpi) i jest ona zwiększana stopniowo przez wartość o postaci 1/m. Gdy sumowanie się zakończy to następuje wyświetlenie zawartości zmiennej wynik, która jest dodatkowo mnożona przez 4 co wynika ze wzoru na obliczanie liczby PI.
Czy mógłby ktoś krok po kroku napisać, jakie działania są tu wykonywane (co oznaczają te 0.00 itd.? Jestem początkująca i niezbyt rozumiem, jaki jest sposób rozwiązania. Bardzo proszę o wytłumaczenie krok po kroku (co robimy).
Treść zadania:
Zadanie z programowania (kurs podstawowy, Język C):
Wzór na liczbę π jest: π=4 x ( 1 - 1/3 + 1/5 - 1/7 + 1/9 +... ). Należy stworzyć program, który poda wartość π w zależności od tego, jaką liczbę wyrazów (n) on zawiera (n powinien wprowadzić użytkownik).
Rozwiązanie:
#include
int main() {
int m, n;
int znak;
double wynik;
printf("Wprowadz liczbe naturalna: ");
scanf("%d", &n);
wynik = 0.0;
znak = 1;
for(m=0; m wynik += 1.0*znak/(2*m+1);
znak *= -1;
}
printf("%lf
", 4.0*wynik);
return 0;
}
Odpowiedź
Dodaj swoją odpowiedź