Przeczytaj
Zadanie 1. Oś liczbowa
Na osi OX mieszka pewna zmienna o imieniu z3a2
, która swobodnie się po niej porusza.
Zadanie 1.1
Zmienna postanowiła odwiedzić swojego przyjaciela, którego dom znajduje się w miejscu zerowym funkcji . Oto założenia:
Dom ten mieści się w przedziale .
Dom jest widoczny z odległości .
Na jaką współrzędną zmienna powinna się udać?
Napisz program, który obliczy współrzędną miejsca zerowego podanej funkcji tak, aby błąd bezwzględny odpowiedzi (odległość, z której widoczny jest dom) wynosił nie więcej niż .
Plik wynik.txt
powinien zawierać określoną współrzędną miejsca zerowego funkcji zawartego w przedziale , przy założonym błędzie bezwzględnym .
Wynik zapisz w pliku wynik.txt.
Do oceny oddajesz:
plik
wynik.txt
zawierający odpowiedź (współrzędnąx
miejsca zerowego funkcji zawartego w przedziale , przy założonym błędzie bezwzględnym )plik(i) z komputerową realizacją zadania (kodem programu)
Przyjmij, że funkcja jest ciągła, określona i na końcach przedziału ma różne znaki.
Rozwiązanie przedstawimy w postaci pseudokodu, ponieważ na egzaminie maturalnym można posługiwać się następującymi językami: C++, Java lub Python.
Korzystając z przedstawionego za pomocą pseudokodu rozwiązania, napisz program (w języku C++, Java lub Python), który wyznaczy współrzędną miejsca zerowego podanej funkcji tak, aby błąd bezwzględny odpowiedzi nie przekroczył wartości . Rozwiązanie zadania znajdziesz w osobnym pliku tekstowym pod omówieniem pseudokodu.
Rozwiązanie
Wiemy, że dokładność wynosi .
Znamy przedział, w którym powinniśmy szukać: .
Mamy wszystkie dane potrzebne do rozwiązania zadania.
Zapisujemy wartość błędu bezwzględnego, w jakim powinno zmieścić się przybliżenie. [wiersz 1.]
Ustalamy, od jakiej wartości rozpoczniemy przeszukiwanie – może to być dowolna wartość zawierająca się w przedziale. W tym wypadku została wybrana ostatnia możliwa. [wiersz 2.]
Wypisujemy wynik, który zwróci program. [wiersz 3.]
Definiujemy funkcję
metodaStycznych
, która zwróci przybliżoną wartość miejsca zerowego funkcji. [wiersz 1.]Do kolejnej wartości
x
przypisujemy poprzednią – jest to konieczne w kontekście następnych obliczeń. [wiersz 2.]Obliczamy następne możliwe miejsce zerowe – w tym celu zapisujemy kolejne przybliżenie z poprzedniej iteracji pętli –
x1
do zmiennejx0
, przechowującej poprzednią sprawdzaną wartość. [wiersze 3. i 4.]Ustalamy wartość argumentu funkcji dla punktu przecięcia stycznej do funkcji i osi OX. [wiersz 5.]
Sprawdzamy warunek, czy znaleźliśmy się w otoczeniu pierwiastka funkcji. [wiersz 6.]
Gdy przybliżenie będzie odpowiednie, czyli będzie mieściło się w granicy błędu, przerywamy działanie pętli. [wiersz 7.]
Na koniec zwracamy przybliżoną wartość znalezionego miejsca zerowego, co kończy działanie funkcji. [wiersz 8.]
Definiujemy funkcje
funkcja(x)
ipochodna(x)
, które zwrócą wartość funkcji oraz pochodnej w wybranym punkciex
.
Definiujemy funkcję zwracającą wartość bezwzględną z wybranej wartości. [wiersz 1.]
Wartość bezwzględna zmienia ujemne wartości w dodatnie, natomiast dla nieujemnych wartość pozostaje niezmienna. [wiersze od 2. do 5.]
Przykładowa odpowiedź do zadania:
Przy założonych danych wejściowych poprawne wyniki zawarte są w przedziale .
Zadanie 1.2
Po odwiedzinach przyszła pora na powrót zmiennej z3a2
do domu.
Zmienna znajduje się w punkcie, w którym funkcja przecina oś OX. Punkt jest nie dalej od środka układu współrzędnych niż 3 jednostki.
Napisz program, który obliczy, do jakiego przedziału zmienna z3a2
powinna się udać – dla przedziału nie powinien on być większy niż 1 jednostka, oraz poda przybliżoną pozycję jej domu (współrzędną x
).
Przyjmij, że dom zmiennej z3a2
jest widziany z tej samej odległości, co dom jej przyjaciela, czyli (jest to wartość błędu bezwzględnego).
Plik wynik2.txt
powinien zawierać określoną współrzędną – przybliżoną pozycję domu zmiennej z3a2
.
Wynik zapisz w pliku wynik2.txt.
Do oceny oddajesz:
plik
wynik2.txt
zawierający odpowiedź (współrzędnąx
– przybliżoną pozycję domu zmiennejz3a2
)plik(i) z komputerową realizacją zadania (kodem programu)
Rozwiązanie przedstawimy w postaci pseudokodu, ponieważ na egzaminie maturalnym można posługiwać się następującymi językami: C++, Java lub Python.
Korzystając z przedstawionego za pomocą pseudokodu rozwiązania, napisz program (w języku C++, Java lub Python), który wyznaczy przybliżoną pozycję domu zmiennej z3a2
. Rozwiązanie zadania znajdziesz w osobnym pliku tekstowym pod omówieniem pseudokodu.
Rozwiązanie
Zacznijmy od ustalenia przedziału, w którym ma się znajdować miejsce zerowe funkcji.
Możemy to zrobić np. metodą bisekcji. Polega ona na podziale ustalonego przedziału na dwie części, a następnie sprawdzeniu, w której z powstałych części wartości na jej końcach przyjmują różne znaki (na jednym końcu dodatni, na drugim ujemny) – czyli gdzie znajduje się w niej miejsce zerowe funkcji.
Następnie na powstałym przedziale stosujemy metodę stycznych i zwracamy przybliżenie miejsca zerowego funkcji.
Rozwiązując to zadanie, skorzystamy ze zmodyfikowanego kodu z rozwiązania zadania 1.1.
Wartością, od której rozpoczniemy przeszukiwanie, niech będzie ostatnia wartość w ustalonym przez bisekcję przedziale. [wiersz 2.]
Definiujemy funkcję bisekcji, która dla podanego przedziału ustali przedział nie większy niż jedna jednostka, w którym znajduje się szukany pierwiastek. Na koniec funkcja zwróci ostatnią wartość w znalezionym przedziale. [wiersz 1.]
Sprawdzamy warunek, czy nie osiągnęliśmy oczekiwanej wielkości przedziału. [wiersz 2.]
Sprawdzamy, w której części przedziału skrajne wartości przyjmą różne znaki. Jeżeli w pierwszej, wówczas wywołujemy rekurencyjnierekurencyjnie funkcję bisekcji dla pierwszej części przedziału. W przeciwnym wypadku dla drugiej części przedziału. [wiersze od 3. do 6.]
Funkcję wykorzystującą metodę stycznych zapisujemy analogicznie jak w zadaniu 1.1.
Działanie funkcji: funkcja oraz pochodna zostają zachowane, zmieniają się jedynie dane, na których działają przedstawione funkcje.
Przykładowa odpowiedź do zadania:
Przy założonych danych wejściowych poprawne wartości współrzędnej pozycji domu zmiennej zawarte są w przedziale .
Słownik
miejsce zerowe funkcji; punkt, w którym wykres funkcji przecina oś OX
technika programowania, w której funkcja wywołuje samą siebie, aż do napotkania przypadku podstawowego, czyli takiego, którego nie da się rozłożyć na mniejsze problemy