Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

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:

  1. 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.

  2. 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.

  3. 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.

  4. Budując trapezy o odpowiedniej szerokości/wysokości (krok całkowania).

 

Liczenie całki zgodnie z np. pierwszą metodą, można zapisać wzorem:

całka2

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:

 

całka

 

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 (poczkon)
  • 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łowego5000B
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
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.