Sprawdź się
Zadanie 3. Dostawa górska
Pani Zofia pracuje jako kierowca samochodu ciężarowego. Co tydzień dostarcza materiały do budowy parku rozrywki, który ma się znajdować w górach. Główna droga do parku została niestety uszkodzona, przez co pani Zofia zmuszona jest wybrać jedną z bocznych tras. Do parku rozrywki poza główną drogą prowadzi wiele bocznych dróg, jednak większość z nich jest zbyt wąska, aby samochód ciężarowy był w stanie bezpiecznie nimi przejechać.
Każda droga opisana jest za pomocą funkcji: szerokość drogi to odległość od miejsca zerowego funkcji do sufitu lub podłogi miejsca zerowego – w zależności od tego, która długość jest większa. Szerokości dróg zaokrąglane są do dwóch miejsc po przecinku.
Jest to najmniejsza liczba całkowita nie mniejsza od X.
Dla podanych liczb ich sufitami są odpowiednio:
3.4 --> 4
2.01 --> 3
-1.3 --> -1
5 --> 5
Jest to największa liczba całkowita nie większa od X.
Dla podanych liczb ich podłogami są odpowiednio:
3.4 --> 3
2.01 --> 2
-1.3 --> -2
5 --> 5
Plik funkcje.txt
zawiera 20 wierszy ze współczynnikami funkcji opisujących kolejne drogi.
Pojedynczy wiersz zawiera informację o liczbie współczynników oraz kolejne współczynniki funkcji oddzielone znakami odstępu, zapisane malejąco względem potęgi x
, przy której się znajdują.
Dla kolejnych funkcji ich zapis w pliku wyglądałby następująco:
3 3 2 1
2 -2 -1
3 5 0 1
Wszystkie miejsca zerowe funkcji, które opisują szerokość dróg, znajdują się w przedziale . Do znajdowania miejsc zerowych przyjmij dokładność .
Przyjmij, że wszystkie funkcje w podanym przedziale są określone, ciągłe oraz posiadają tylko jedno miejsce zerowe.
Napisz program w wybranym języku programowania, który dla danych z pliku funkcje.txt
wyznaczy najszerszą drogę, czyli największą odległość od miejsca zerowego do sufitu lub podłogi funkcji. Wynik zaokrąglij do dwóch miejsc po przecinku i zapisz go do pliku najszersza.txt
.
Do oceny oddajesz:
plik
najszersza.txt
zawierający odpowiedź (liczba rzeczywista dodatnia – szerokość najszerszej drogi),plik(i) z komputerową realizacją zadania.
Przedstaw rozwiązanie zadania w postaci programu w języku C++, Java lub Python. Zadbaj o prawidłowe wczytanie danych z pliku tekstowego do swojego programu. Odpowiedź do zadania dla danych z pliku znajdziesz pod sekcją ćwiczeń.
JĘZYK C++
JĘZYK JAVA
JĘZYK PYTHON
Odpowiedź do zadania
Uwaga: Ze względu na niedokładność odpowiedź może się różnić o 0,01.