Prezentacja multimedialna
Zadanie 2. Wyspy skarbów
Po Morzu Skarbów pływa wiele pirackich statków. Jednym z nich jest okręt załogi kapitana Sigma. Drużyna po wielu latach żeglugi pod piracką banderą postanowiła przejść na emeryturę. Członkowie załogi obmyślili plan, dzięki któremu nigdy nie zabraknie im pieniędzy.
Na wyspach leżących na popularnym wśród piratów morzu zakopane są niewyobrażalne skarby. Wiele z nich umiejscowionych jest na tzw. złotej linii, która biegnie wzdłuż brzegu morza.
Na swojej mapie skarbów kapitan opisał brzeg każdej z tych wysp jako funkcję względem złotej linii (prosta y = 0). Skrajne wybrzeża każdej wyspy ograniczone są przez: oś OX z dołu, funkcję opisującą brzeg wyspy z góry oraz proste x = 0 i x = 3.
Kapitan Sigma odkrył, że wszystkie wyspy przylegające do złotej linii mogą być miejscem ukrycia skarbów. Jeżeli powierzchnia wyspy jest większa niż 100 jednostek kwadratowych, to znaczy, że ukryto skarb o wartości równej współczynnikowi funkcji przy xIndeks górny 33
, zaokrąglonemu w górę do liczby całkowitej.
Każdy z 30 wierszy pliku wyspy.txt
zawiera 5 liczb rzeczywistych. Są to kolejne współczynniki funkcji wielomianowej czwartego stopnia (począwszy od współczynnika przy xIndeks górny 44
), oddzielają je pojedyncze znaki odstępu.
Przykładowe dane:
Oznaczają funkcje:
wyspy.txt
Do obliczenia pola powierzchni wysp przyjmij różne liczby prostokątów (za punkt przecięcia wykresu z podstawą prostokąta przyjmij środek podstawy prostokąta) lub trapezów, na które podzielisz pole każdej wyspy. W pliku precyzja.txt
znajdują się w pięciu wersach liczby całkowite dodatnie oznaczające, na ile prostokątów lub trapezów należy podzielić działkę.
precyzja.txt
Jeśli w wierszu pliku precyzja.txt
znajduje się liczba 6, to powinniśmy podzielić pole wyspy na 6 prostokątów:
Lub na 6 trapezów:
Napisz program, który wyznaczy, ile wysp zawiera skarby oraz jaka jest łączna wartość skarbu znajdującego się na wyspach, w zależności od liczby prostokątów lub trapezów z pliku precyzja.txt
. Wyniki zapisz do pliku skarb.txt
.
Do oceny oddajesz:
plik
skarb.txt
zawierający odpowiedź (pary liczb całkowitych określające liczbę wysp ze skarbami oraz liczbę złotych monet, odpowiadających przyjętej liczbie prostokątów lub trapezów z danej linii z plikuprecyzja.txt
)plik(i) z komputerową realizacją zadania (kodem programu)
Twoim zadaniem jest opracowanie rozwiązania zadania w wybranym przez siebie języku programowania: C++, Java lub Python. Odpowiedź do zadania dla danych z plików znajdziesz na dole strony, zarówno dla metody prostokątów jak i dla metody trapezów.
Rozwiązanie
Zapoznaj się z prezentacją przedstawiającą przykładowe rozwiązanie.
Poprawne rozwiązanie (metoda prostokątów)
Liczba prostokątów | Liczba wysp oraz wartość skarbu |
---|---|
5 | 22 151 |
10 | 22 151 |
50 | 22 151 |
100 | 22 151 |
2000 | 22 151 |
Poprawne rozwiązanie (metoda trapezów)
Liczba trapezów | Liczba wysp oraz wartość skarbu |
---|---|
5 | 23 159 |
10 | 22 151 |
50 | 22 151 |
100 | 22 151 |
2000 | 22 151 |
ODPOWIEDŹ DO ZADANIA:
Metoda prostokątów:
Metoda trapezów:
Dodaj do swojego programu komentarze tak, żeby był zrozumiały dla osoby, która nie potrafi programować.