Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
WIPING57 - Całkowanie |
Zadanie eliminacyjne w konkursie WIPING5 organizowanym przez
Wydział Informatyki Zachodniopomorskiego Uniwersytetu Technologicznego w Szczecinie
Całkowanie
Twoim zadaniem jest wyznaczenie całki oznaczonej funkcji o postaci:
f(x) = a1 * sin(a2 * x + a3) + a4
gdzie: a1, a2, a3, a4 to dowolne liczby rzeczywiste.
W zależności od parametru podanego na wejściu, określającego rodzaj metody, oraz kroku całkowania, oblicz całkę jednym z czterech sposobów:
-
Budując prostokąty o odpowiedniej szerokości (krok całkowania). Wysokością każdego z prostokątów jest wartość funkcji w punkcie określającym początek podstawy.
-
Budując prostokąty o odpowiedniej szerokości (krok całkowania). Wysokością każdego z prostokątów jest wartość funkcji w punkcie określającym koniec podstawy.
-
Budując prostokąty o odpowiedniej szerokości (krok całkowania). Wysokością każdego z prostokątów jest wartość funkcji w punkcie określającym środek podstawy.
-
Budując trapezy o odpowiedniej szerokości/wysokości (krok całkowania).
Liczenie całki zgodnie z np. pierwszą metodą, można zapisać wzorem:
gdzie f(xi) to wartość funkcji w punkcie xi tj (co sprowadza się do liczenia “pól” kolejnych prostokątów z uwzględnieniem znaku), a wartość funkcji dotyczy lewego górnego wierzchołka prostokąta.
Aby łatwiej było Wam zrozumieć jak działa każda z metod przedstawiamy poniżej graficzną ilustrację każdej z metod (kolejno od lewej: metody 1, 2, 3, 4):
Aby stwierdzić, jak dokładny wynik otrzymałeś/otrzymałaś wyznacz dokładną wartość całki oraz błąd bezwzględny zgodnie z wzorami poniżej. Dokładna wartość całki oznaczonej:
Błąd bezwzględny:
abs(w1 - w2)
gdzie w1, w2 to otrzymane wartości całki: dokładny oraz przybliżony (otrzymany jedną z 4 metod).
Wejście
Jeden wiersz zawierający kolejno następujące dane rozdzielone spacjami:
- a1 - liczba rzeczywista
- a2 - liczba rzeczywista (a2≠0)
- a3 - liczba rzeczywista
- a4 - liczba rzeczywista
- pocz - liczba rzeczywista, początek przedziału całkowania
- kon - liczba rzeczywista, koniec przedziału całkowania (pocz ≤ kon)
- k - liczba rzeczywista, krok całkowania
- metoda - liczba całkowita, numer metody całkowania
Wyjście
Jeden wiersz zawierający trzy liczby rzeczywiste zaokrąglone do czterech miejsc po przecinku, rozdzielone spacjami. Kolejno:
- wartość całki wyznaczona metodą analityczną
- wartość całki wyznaczona wskazaną metodą (1-4)
- błąd bezwzględny otrzymanego wyniku względem rozwiązania analitycznego
Przykład
Wejście:
1 1 0 0 -3.0 3.0 1.0 2
Wyjście:
0.0000 0.1411 0.1411
Informacje dodatkowe:
- program zostanie uruchomiony 10 razy dla różnych zestawów danych
- każde poprawne rozwią zanie daje 10% punktacji zadania
- zadanie ma wartość punktową
4,0
Dodane przez: | Sławomir Wernikowski |
Data dodania: | 2017-01-07 |
Limit czasu wykonania programu: | 1s |
Limit długości kodu źródłowego | 5000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | C-CLANG C CSHARP C++ 4.3.2 CPP CPP14 CPP14-CLANG C99 JAVA PAS-GPC PAS-FPC PERL PERL6 PHP PYTHON PYPY PYTHON3 PY_NBC RUBY |