Zadanie 1 2 funkcje (sin x oraz ax2+bx+c) Obliczyć całkę

Transkrypt

Zadanie 1 2 funkcje (sin x oraz ax2+bx+c) Obliczyć całkę
Zadanie 1
2 funkcje (sin x oraz ax2+bx+c)
Obliczyć całkę numerycznie (metodą prostokątów, trapezów lub Simpsona)
Dostosować liczbę podziałów do granic całkowania oraz zadanej dokładności, zwrócić uwagę na
zakresy liczb float i double.
Zadanie 2
Do poprzedniego (do kopii zadania nr 1) zadania dołożyć 2 nowe funkcje (np. cos x i
ax3+bx2+cx+d). Dla wszystkich 4 funkcji program ma obliczać:
– całkę numerycznie z zadaną dokładnością,
– miejsca zerowe funkcji w zadanym zakresie całkowania.
Następnie należy przygotować zestaw przykładowych wywołań (testów) w postaci kodu programu.
Wywołania mają mieć postać:
// W miarę możliwości nadawać funkcjom i zmiennym angielskie nazwy
//parametr p1, p2, p3 (ew. p4 itd.) występują tylko jeżeli jest to konieczne.
//początek oznacza początek zakresu całkowania
//koniec oznacza koniec zakresu całkowania
Typ_wyniku r=
oblicz_calke(identyfikacja_całkowanej_funkcji, p1, p2, p3, początek, koniec, epsilon);
sprawdz_czy_rowne(r, wartość_oczekiwana);
Typ_wyniku r=
oblicz_miejsca_zerowe(identyfikacja_całkowanej_funkcji, p1, p2, p3, początek, koniec);
sprawdz_czy_rowne(r, wartość_oczekiwana);
Funkcja sprawdz_czy_rowne wyświetla OK: lub ERR: i wartości parametrów, OK:-jeśli wartości
parametrów są równe, ERR: jeżeli nie. Przykładowe wywołanie
double r = oblicz_calke(„sin”, 0, 3.14, 0.001);
sprawdz_czy_rowne(r, 1.98);//wyświetli OK: oczekiwano 1.98, obliczono: 1.98
double r = oblicz_calke(„sin”, 0, M_PI, 0.001);
sprawdz_czy_rowne(r, 2.0);//wyświetli OK: oczekiwano 2.0, obliczono: 2.0
double r = oblicz_calke(„sin”, 0, 3.14, 0.001);
sprawdz_czy_rowne(r, 2.0);//wyświetli ERR: oczekiwano 2.0, obliczono: 1.98
Wyniki można pobrać z jakiegoś wiarygodnego źródła (również wolframalpha ;) ).
Proszę zwrócić uwagę, że jedyną funkcją wypisującą cokolwiek na ekran powinna być funkcja
sprawdz_czy_rowne. Żadna z funkcji obliczających nie przyjmuje danych z klawiatury.
Powyższe wywołania umieścić jako kod funkcji testy, która jako jedyna jest wywołana z funkcji
main. Takie wywołania przygotować dla wszystkich funkcji (4), obydwu obliczeń (2-całka, miejsca
zerowe) i kilku warunków granicznych (ok. 5 - dokładnie pi, niedokładnie, zero, liczby ujemne,
duże liczby). W przybliżeniu daje to 40 testów. Można wykonać zadanie (albo jego część) w ten
sposób że najpierw piszemy testy.

Podobne dokumenty