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.