{"id":"informator-maturalny-informatyka-2015/zad/16","paper_id":"informator-maturalny-informatyka-2015","number":"16","points":null,"ptype":"open","subject":"informatyka","category":"informator-maturalny","year":2015,"month":null,"level":null,"text":"Zadanie 16. Miejsce zerowe (0-6)\nPrzedstawiona poniżej rekurencyjna funkcja Mzer znajduje metodą bisekcji miejsce zerowe\nfunkcji f , ciągłej w przedziale\n,a b , z dokładnością do 2\n [epsilon].\nSpecyfikacja\nDane: liczby a i b takie, że a\nb\n\noraz\n\n\n0\nf a\nf b\n\n\nliczba\n0\n\nWynik: liczba rzeczywista x z przedziału\n,a b taka, że \n\n0\nf x \n\n\ndla pewnego  takiego,\nże\n2\n2\n\n\n\n\n\n\nFunkcja\n\n\n, ,\nMzer a b \n1. jeżelib\na\n\n\n\n, to wykonaj:\na.\n\n/ 2\ns\na b\n\n\nb. jeżeli\n\n0\nf s \n, to podaj s jako wynik\nc. jeżeli\n\n\n0\nf a\nf s\n\n\n, to podaj\n\n\n, ,\nMzer a s  jako wynik\nw przeciwnym przypadku podaj\n\n\n, ,\nMzer s b  jako wynik\n2. w przeciwnym przypadku podaj \n/ 2\na\nb\n\njako wynik\na)\nPoniżej prezentujemy fragment wykresu funkcji f , dla której wywołujemy funkcję Mzer:\nWykres funkcji f w przedziale <0,128>\n-40\n-20\n0\n20\n40\n60\n80\n100\n0\n5\n10\n15\n20\n25\n30\n35\n40\n45\n50\n55\n60\n65\n70\n75\n80\n85\n90\n95 100 105 110 115 120 125\nPrzykładowe zadania z rozwiązaniami 37\nWykres przecina oś OX w punkcie 72,7. Załóżmy, że funkcja Mzer została wywołana\ndla\n0\na \ni\n128\nb \n. W poniższej tabelce podaj liczbę kolejnych rekurencyjnych wywołań\nfunkcji Mzer przy podanych poniżej początkowych wartościach .\n\nliczba wywołań Mzer\n10\n4\n32\n25\n5\n1\n5\nMiejsce na obliczenia\nb) Poniżej\nprezentujemy\nzapis\nalgorytmu\nopisanego\nfunkcją\nMzer\nw\npostaci\nnierekurencyjnej. Zapis poniższego algorytmu jest niepełny, uzupełnij brakujące\nelementy tak, aby realizował tę samą metodę poszukiwania miejsca zerowego, którą\nopisuje funkcja Mzer.\nAlgorytm:\n1. dopóki b\na\n\n\n\nwykonuj\na)\ns \nb) jeżeli\n\n0\nf s \n, to podaj s jako wynik i zakończ wykonywanie algorytmu\nc) jeżeli\n\n\n0\nf a\nf s\n\n\n, to\nb \nw przeciwnym przypadku\n2. podaj \n/ 2\na\nb\n\njako wynik\n38 Informator o egzaminie maturalnym z informatyki od roku szkolnego 2014/2015\nWymagania ogólne\nIII. Rozwiązywanie problemów i podejmowanie\ndecyzji z wykorzystaniem komputera, z zastosowaniem\npodejścia algorytmicznego.\nWymagania szczegółowe\n5. Rozwiązywanie problemów i podejmowanie decyzji\nz wykorzystaniem komputera, stosowanie podejścia\nalgorytmicznego.\nZdający:\n2) stosuje podejście algorytmiczne do rozwiązywania\nproblemu,\n5) posługuje się podstawowymi technikami\nalgorytmicznymi,\n9) stosuje rekurencję w prostych sytuacjach\nproblemowych,\n11) opisuje podstawowe algorytmy.\nSchemat punktowania\nPodpunkt\nCzynność\nLiczba\npunktów\nza\npodpunkt\nLiczba\npunktów\nza\nzadanie\na\nZa wszystkie poprawne odpowiedzi - 3 punkty.\nZa trzy poprawne odpowiedzi - 2 punkty.\nZa dwie poprawne odpowiedzi - 1 punkt.\n3\n6\nb\nZa każde poprawne uzupełnienie brakującego\nelementu - 1 punkt.\n3\nZadanie 16. Miejsce zerowe (0-6) - rozwiązanie\nPrzedstawiona poniżej rekurencyjna funkcja Mzer znajduje metodą bisekcji miejsce zerowe\nfunkcji f ciągłejw przedziale\n,a b z dokładnością do 2\n [epsilon].\nSpecyfikacja:\nDane: liczby a i b takie, że a\nb\n\noraz\n\n\n0\nf a\nf b\n\n\nliczba\n0\n\nWynik: liczba rzeczywista x z przedziału\n,a b taka, że \n\n0\nf x \n\n\ndla pewnego \ntakiego, że\n2\n2\n\n\n\n\n\n\nFunkcja\n\n\n, ,\nMzer a b \n1. jeżelib\na\n\n\n\n, to wykonaj:\na.\n2\na\nb\ns\n\n\nb. jeżeli\n\n0\nf s \n, to podaj s jako wynik\nc. jeżeli\n\n\n0\nf a\nf s\n\n\n, topodaj\n\n\n, ,\nMzer a s  jako wynik\nw przeciwnym przypadku podaj\n\n\n, ,\nMzer s b  jako wynik\nPrzykładowe zadania z rozwiązaniami 39\n2. w przeciwnym przypadku podaj \n/ 2\na\nb\n\njako wynik\n)\nPoniżej prezentujemy fragment wykresu funkcji f , dla której wywołujemyfunkcję Mzer:\nWykres przecina oś OX w punkcie 72,7. Załóżmy, że funkcja Mzer została wywołana\ndla\n0\na \ni\n128\nb \n. W poniższej tabelce podaj liczbę kolejnych rekurencyjnych wywołań\nfunkcji Mzerprzy podanych poniżej wartościach \n\nliczba wywołań Mzer\n10\n4\n32\n2\n25\n3\n5\n5\n1\n5\n10\nb) Poniżej prezentujemy zapis algorytmu opisanego funkcją Mzer w postaci\nnierekurencyjnej. Zapis poniższego algorytmu jest niepełny, uzupełnij brakujące\nelementy tak, aby realizował tę samą metodę poszukiwania miejsca zerowego, którą\nopisuje funkcja Mzer.\nAlgorytm\n1. dopóki b\na\n\n\n\nwykonuj\na)\n2\na\nb\ns\n\n\nb) jeżeli\n\n0\nf s \n, to podaj s jako wynik i zakończ wykonywanie algorytmu\nWykres funkcji f w przedziale <0,128>\n-40\n-20\n0\n20\n40\n60\n80\n100\n0\n5\n10\n15\n20\n25\n30\n35 40\n45\n50 55\n60\n65\n70 75\n80\n85\n90\n95 100 105 110 115 120 125\n40 Informator o egzaminie maturalnym z informatyki od roku szkolnego 2014/2015\nc) jeżeli\n\n\n0\nf a\nf s\n\n\n, to b\ns\n\nw przeciwnym przypadku a\ns\n\n2. podaj \n/ 2\na\nb\n\njako wynik\nKomentarz\nPodpunkt a\nAby obliczyć liczbę kolejnych rekurencyjnych wywołań funkcji Mzer dla każdej podanej\nwartości , należy ustalić wartości zmiennych z jakimi będzie ona wywoływana w kolejnych\nkrokach. Funkcja zakończy działanie w momencie, gdy b\na\n\n\n\nDla każdej dokładności startujemy od wywołania funkcji\n\n\n0,128,\nMzer\n, zaś kolejne\nwywołania to:\nDla\n32\n\nmamy dwa wywołania:\n\n\n64,128,32\nMzer\n\n\n64,96,32\nMzer\nDla\n25\n\nmamy trzy wywołania:\n\n\n64,128,25\nMzer\n\n\n64,96,25\nMzer\n\n\n64,80,25\nMzer\nDla\n5\n\nmamy pięć wywołań:\n\n\n64,128,5\nMzer\n\n\n64,96,5\nMzer\n\n\n64,80,5\nMzer\n\n\n72,80,5\nMzer\n\n\n72,76,5\nMzer\nDla\n1\n5\n\nmamy dziesięć wywołań:\n1\n64,128, 5\nMzer \n\n\n\n\n\n1\n64,96, 5\nMzer \n\n\n\n\n\n1\n64,80, 5\nMzer \n\n\n\n\n\n1\n72,80, 5\nMzer \n\n\n\n\n\n1\n72,76, 5\nMzer \n\n\n\n\n\n1\n72,74, 5\nMzer \n\n\n\n\n\nPrzykładowe zadania z rozwiązaniami 41\n1\n72,73, 5\nMzer \n\n\n\n\n\n1\n72,5;73; 5\nMzer \n\n\n\n\n\n1\n72,5;72,75; 5\nMzer \n\n\n\n\n\n1\n72,625;72,75; 5\nMzer \n\n\n\n\n\nPodpunkt b\nAby uzupełnić luki w przedstawionej nierekurencyjnej wersji funkcji Mzer, należy zauważyć\nprostą własność: w kolejnych krokach zawsze ustalamy środek aktualnego przedziału, tzn.\n2\na\nb\ns\n\n\n, a następnie sprawdzamy czy miejsce zerowe funkcji leży na lewo od punktu s\n(wtedy b\ns\n\n), czy na prawo od punktu s(as).\nPodpunkt a) sprowadza się do przeanalizowania algorytmu zaprezentowanego w treści\nzadania na konkretnych danych i wyznaczenia liczby wywołań funkcji rekurencyjnej. Funkcja\nMzer opisuje podręcznikowy algorytm znajdowania miejsca zerowego funkcji ciągłej f\nmetodą bisekcji. Zadaniem zaprezentowanej implementacji tego algorytmu jest podanie\nmiejsca zerowego funkcji w przedziale \n\n,a b , z dokładnością do 2\n przy założeniu, że\n\n\n0\nf a\nf b\n\n\n(zauważmy, że ciągłość funkcji f w powiązaniu z warunkiem\n\n\n0\nf a\nf b\n\n\ngwarantuje, że f ma miejsce zerowe w przedziale \n\n,a b ).\nW treści zadania przedstawiono pseudokod rekurencyjnej wersji algorytmu, która\nrozpoczyna się od sprawdzenia czy odległość między krańcami przedziału [a,b] jest większa\nod  (czyli podwojonej dokładności wyniku):\n1. Gdy b - a , wówczas mamy gwarancję że środek przedziału \n\n,a b znajduje się nie dalej\nniż 2\n od miejsca zerowego funkcji f. Dlatego też jako wynik zwracany jest właśnie\nśrodek przedziału, czyli wartość (a+b)/2.\n2. Gdy b - a  , mamy dwie możliwości. Jeśli środek przedziału \n\n,a b jest miejscem\nzerowym funkcji f, zwracamy go oczywiście jako wartość. W przeciwnym razie\nredukujemy zadanie wyszukania miejsca zerowego w \n\n,a b do zadania poszukiwania\nmiejsca zerowego w [a,s] lub [s,b], gdzie s to środek przedziału \n\n,a b . Efektem redukcji\njest więc dwukrotne zmniejszenie długości przedziału, w którym poszukujemy miejsca\nzerowego.\nZauważmy, że gdyby wywołania funkcji Mzer dla a=0 i b=128 oraz podanych w punkcie a)\nwartości  nigdy nie kończyły się znalezieniem dokładnej wartości miejsca zerowego (czyli\nspełnieniem warunku f(s)=0), odpowiedzi w punkcie a) sprowadzałyby się do wskazania\nilokrotnie trzeba „połowić” przedział o długości 128 aby uzyskać przedział o długości nie\nwiększej niż . W rozwiązaniu można by więc ograniczyć się do policzenia, ile takich\n„połowień” należy wykonać. Aby jednak mieć pewność poprawności rozwiązania, trzeba\nsprawdzić że wartość środka przedziału s rzeczywiście w naszym przykładzie nie „trafi”\nidealnie w miejsce zerowe (równe 72,7) w kolejnych wywołaniach rekurencyjnych. Taką\nskrupulatną analizę przedstawiliśmy omawiając rozwiązanie punktu a).\n42 Informator o egzaminie maturalnym z informatyki od roku szkolnego 2014/2015\nPunkt b) zadania wymaga zastosowania standardowej techniki zamiany rekurencji na\niterację. Zamiast wywoływać funkcję z nowymi wartościami krańców przedziałów,\nzmieniamy w pętli wartości zmiennych a i b tak, aby odpowiadały one końcom coraz\nmniejszych przedziałów dla których wywoływana jest funkcja rekurencyjna Mzer.\nPrzedstawiony szkielet algorytmu z pozostawionymi miejscami do uzupełnienia sugeruje\nsposób, w jaki w tym przypadku należy dokonać zamiany rekurencji na iterację.\nPrzykładowe zadania z rozwiązaniami 43","answer":null,"answer_text":null,"solution":null,"image":"img/informator-maturalny-informatyka-2015/zad-16.webp","solution_image":null,"topics":null,"page_from":36,"source":"ocr","answer_source":null,"answer_text_source":null,"solution_source":null,"text_source":"ocr","source_label":"Informatyka · Informator maturalny · 2015","subject_label":"Informatyka","category_label":"Informator maturalny","text_html":"<p>Zadanie 16. Miejsce zerowe (0-6)<br>Przedstawiona poniżej rekurencyjna funkcja Mzer znajduje metodą bisekcji miejsce zerowe<br>funkcji f , ciągłej w przedziale<br>,a b , z dokładnością do 2<br> [epsilon].<br>Specyfikacja<br>Dane: liczby a i b takie, że a<br>b<br><br>oraz<br><br><br>0<br>f a<br>f b<br><br><br>liczba<br>0<br><br>Wynik: liczba rzeczywista x z przedziału<br>,a b taka, że <br><br>0<br>f x <br><br><br>dla pewnego  takiego,<br>że<br>2<br>2<br><br><br><br><br><br><br>Funkcja<br><br><br>, ,<br>Mzer a b </p>\n<ol><li>jeżelib</li></ol>\n<p>a<br><br><br><br>, to wykonaj:<br>a.<br><br>/ 2<br>s<br>a b<br><br><br>b. jeżeli<br><br>0<br>f s <br>, to podaj s jako wynik<br>c. jeżeli<br><br><br>0<br>f a<br>f s<br><br><br>, to podaj<br><br><br>, ,<br>Mzer a s  jako wynik<br>w przeciwnym przypadku podaj<br><br><br>, ,<br>Mzer s b  jako wynik</p>\n<ol><li>w przeciwnym przypadku podaj </li></ol>\n<p>/ 2<br>a<br>b<br><br>jako wynik<br>a)<br>Poniżej prezentujemy fragment wykresu funkcji f , dla której wywołujemy funkcję Mzer:<br>Wykres funkcji f w przedziale &lt;0,128&gt;<br>-40<br>-20<br>0<br>20<br>40<br>60<br>80<br>100<br>0<br>5<br>10<br>15<br>20<br>25<br>30<br>35<br>40<br>45<br>50<br>55<br>60<br>65<br>70<br>75<br>80<br>85<br>90<br>95 100 105 110 115 120 125<br>Przykładowe zadania z rozwiązaniami 37<br>Wykres przecina oś OX w punkcie 72,7. Załóżmy, że funkcja Mzer została wywołana<br>dla<br>0<br>a <br>i<br>128<br>b <br>. W poniższej tabelce podaj liczbę kolejnych rekurencyjnych wywołań<br>funkcji Mzer przy podanych poniżej początkowych wartościach .<br><br>liczba wywołań Mzer<br>10<br>4<br>32<br>25<br>5<br>1<br>5<br>Miejsce na obliczenia<br>b) Poniżej<br>prezentujemy<br>zapis<br>algorytmu<br>opisanego<br>funkcją<br>Mzer<br>w<br>postaci<br>nierekurencyjnej. Zapis poniższego algorytmu jest niepełny, uzupełnij brakujące<br>elementy tak, aby realizował tę samą metodę poszukiwania miejsca zerowego, którą<br>opisuje funkcja Mzer.<br>Algorytm:</p>\n<ol><li>dopóki b</li></ol>\n<p>a<br><br><br><br>wykonuj<br>a)<br>s <br>b) jeżeli<br><br>0<br>f s <br>, to podaj s jako wynik i zakończ wykonywanie algorytmu<br>c) jeżeli<br><br><br>0<br>f a<br>f s<br><br><br>, to<br>b <br>w przeciwnym przypadku</p>\n<ol><li>podaj </li></ol>\n<p>/ 2<br>a<br>b<br><br>jako wynik<br>38 Informator o egzaminie maturalnym z informatyki od roku szkolnego 2014/2015<br>Wymagania ogólne<br>III. Rozwiązywanie problemów i podejmowanie<br>decyzji z wykorzystaniem komputera, z zastosowaniem<br>podejścia algorytmicznego.<br>Wymagania szczegółowe</p>\n<ol><li>Rozwiązywanie problemów i podejmowanie decyzji</li></ol>\n<p>z wykorzystaniem komputera, stosowanie podejścia<br>algorytmicznego.<br>Zdający:</p>\n<ol><li>stosuje podejście algorytmiczne do rozwiązywania</li></ol>\n<p>problemu,</p>\n<ol><li>posługuje się podstawowymi technikami</li></ol>\n<p>algorytmicznymi,</p>\n<ol><li>stosuje rekurencję w prostych sytuacjach</li></ol>\n<p>problemowych,</p>\n<ol><li>opisuje podstawowe algorytmy.</li></ol>\n<p>Schemat punktowania<br>Podpunkt<br>Czynność<br>Liczba<br>punktów<br>za<br>podpunkt<br>Liczba<br>punktów<br>za<br>zadanie<br>a<br>Za wszystkie poprawne odpowiedzi - 3 punkty.<br>Za trzy poprawne odpowiedzi - 2 punkty.<br>Za dwie poprawne odpowiedzi - 1 punkt.<br>3<br>6<br>b<br>Za każde poprawne uzupełnienie brakującego<br>elementu - 1 punkt.<br>3<br>Zadanie 16. Miejsce zerowe (0-6) - rozwiązanie<br>Przedstawiona poniżej rekurencyjna funkcja Mzer znajduje metodą bisekcji miejsce zerowe<br>funkcji f ciągłejw przedziale<br>,a b z dokładnością do 2<br> [epsilon].<br>Specyfikacja:<br>Dane: liczby a i b takie, że a<br>b<br><br>oraz<br><br><br>0<br>f a<br>f b<br><br><br>liczba<br>0<br><br>Wynik: liczba rzeczywista x z przedziału<br>,a b taka, że <br><br>0<br>f x <br><br><br>dla pewnego <br>takiego, że<br>2<br>2<br><br><br><br><br><br><br>Funkcja<br><br><br>, ,<br>Mzer a b </p>\n<ol><li>jeżelib</li></ol>\n<p>a<br><br><br><br>, to wykonaj:<br>a.<br>2<br>a<br>b<br>s<br><br><br>b. jeżeli<br><br>0<br>f s <br>, to podaj s jako wynik<br>c. jeżeli<br><br><br>0<br>f a<br>f s<br><br><br>, topodaj<br><br><br>, ,<br>Mzer a s  jako wynik<br>w przeciwnym przypadku podaj<br><br><br>, ,<br>Mzer s b  jako wynik<br>Przykładowe zadania z rozwiązaniami 39</p>\n<ol><li>w przeciwnym przypadku podaj </li></ol>\n<p>/ 2<br>a<br>b<br><br>jako wynik<br>)<br>Poniżej prezentujemy fragment wykresu funkcji f , dla której wywołujemyfunkcję Mzer:<br>Wykres przecina oś OX w punkcie 72,7. Załóżmy, że funkcja Mzer została wywołana<br>dla<br>0<br>a <br>i<br>128<br>b <br>. W poniższej tabelce podaj liczbę kolejnych rekurencyjnych wywołań<br>funkcji Mzerprzy podanych poniżej wartościach <br><br>liczba wywołań Mzer<br>10<br>4<br>32<br>2<br>25<br>3<br>5<br>5<br>1<br>5<br>10<br>b) Poniżej prezentujemy zapis algorytmu opisanego funkcją Mzer w postaci<br>nierekurencyjnej. Zapis poniższego algorytmu jest niepełny, uzupełnij brakujące<br>elementy tak, aby realizował tę samą metodę poszukiwania miejsca zerowego, którą<br>opisuje funkcja Mzer.<br>Algorytm</p>\n<ol><li>dopóki b</li></ol>\n<p>a<br><br><br><br>wykonuj<br>a)<br>2<br>a<br>b<br>s<br><br><br>b) jeżeli<br><br>0<br>f s <br>, to podaj s jako wynik i zakończ wykonywanie algorytmu<br>Wykres funkcji f w przedziale &lt;0,128&gt;<br>-40<br>-20<br>0<br>20<br>40<br>60<br>80<br>100<br>0<br>5<br>10<br>15<br>20<br>25<br>30<br>35 40<br>45<br>50 55<br>60<br>65<br>70 75<br>80<br>85<br>90<br>95 100 105 110 115 120 125<br>40 Informator o egzaminie maturalnym z informatyki od roku szkolnego 2014/2015<br>c) jeżeli<br><br><br>0<br>f a<br>f s<br><br><br>, to b<br>s<br><br>w przeciwnym przypadku a<br>s<br></p>\n<ol><li>podaj </li></ol>\n<p>/ 2<br>a<br>b<br><br>jako wynik<br>Komentarz<br>Podpunkt a<br>Aby obliczyć liczbę kolejnych rekurencyjnych wywołań funkcji Mzer dla każdej podanej<br>wartości , należy ustalić wartości zmiennych z jakimi będzie ona wywoływana w kolejnych<br>krokach. Funkcja zakończy działanie w momencie, gdy b<br>a<br><br><br><br>Dla każdej dokładności startujemy od wywołania funkcji<br><br><br>0,128,<br>Mzer<br>, zaś kolejne<br>wywołania to:<br>Dla<br>32<br><br>mamy dwa wywołania:<br><br><br>64,128,32<br>Mzer<br><br><br>64,96,32<br>Mzer<br>Dla<br>25<br><br>mamy trzy wywołania:<br><br><br>64,128,25<br>Mzer<br><br><br>64,96,25<br>Mzer<br><br><br>64,80,25<br>Mzer<br>Dla<br>5<br><br>mamy pięć wywołań:<br><br><br>64,128,5<br>Mzer<br><br><br>64,96,5<br>Mzer<br><br><br>64,80,5<br>Mzer<br><br><br>72,80,5<br>Mzer<br><br><br>72,76,5<br>Mzer<br>Dla<br>1<br>5<br><br>mamy dziesięć wywołań:<br>1<br>64,128, 5<br>Mzer <br><br><br><br><br><br>1<br>64,96, 5<br>Mzer <br><br><br><br><br><br>1<br>64,80, 5<br>Mzer <br><br><br><br><br><br>1<br>72,80, 5<br>Mzer <br><br><br><br><br><br>1<br>72,76, 5<br>Mzer <br><br><br><br><br><br>1<br>72,74, 5<br>Mzer <br><br><br><br><br><br>Przykładowe zadania z rozwiązaniami 41<br>1<br>72,73, 5<br>Mzer <br><br><br><br><br><br>1<br>72,5;73; 5<br>Mzer <br><br><br><br><br><br>1<br>72,5;72,75; 5<br>Mzer <br><br><br><br><br><br>1<br>72,625;72,75; 5<br>Mzer <br><br><br><br><br><br>Podpunkt b<br>Aby uzupełnić luki w przedstawionej nierekurencyjnej wersji funkcji Mzer, należy zauważyć<br>prostą własność: w kolejnych krokach zawsze ustalamy środek aktualnego przedziału, tzn.<br>2<br>a<br>b<br>s<br><br><br>, a następnie sprawdzamy czy miejsce zerowe funkcji leży na lewo od punktu s<br>(wtedy b<br>s<br><br>), czy na prawo od punktu s(as).<br>Podpunkt a) sprowadza się do przeanalizowania algorytmu zaprezentowanego w treści<br>zadania na konkretnych danych i wyznaczenia liczby wywołań funkcji rekurencyjnej. Funkcja<br>Mzer opisuje podręcznikowy algorytm znajdowania miejsca zerowego funkcji ciągłej f<br>metodą bisekcji. Zadaniem zaprezentowanej implementacji tego algorytmu jest podanie<br>miejsca zerowego funkcji w przedziale <br><br>,a b , z dokładnością do 2<br> przy założeniu, że<br><br><br>0<br>f a<br>f b<br><br><br>(zauważmy, że ciągłość funkcji f w powiązaniu z warunkiem<br><br><br>0<br>f a<br>f b<br><br><br>gwarantuje, że f ma miejsce zerowe w przedziale <br><br>,a b ).<br>W treści zadania przedstawiono pseudokod rekurencyjnej wersji algorytmu, która<br>rozpoczyna się od sprawdzenia czy odległość między krańcami przedziału [a,b] jest większa<br>od  (czyli podwojonej dokładności wyniku):</p>\n<ol><li>Gdy b - a , wówczas mamy gwarancję że środek przedziału </li></ol>\n<p><br>,a b znajduje się nie dalej<br>niż 2<br> od miejsca zerowego funkcji f. Dlatego też jako wynik zwracany jest właśnie<br>środek przedziału, czyli wartość (a+b)/2.</p>\n<ol><li>Gdy b - a  , mamy dwie możliwości. Jeśli środek przedziału </li></ol>\n<p><br>,a b jest miejscem<br>zerowym funkcji f, zwracamy go oczywiście jako wartość. W przeciwnym razie<br>redukujemy zadanie wyszukania miejsca zerowego w <br><br>,a b do zadania poszukiwania<br>miejsca zerowego w [a,s] lub [s,b], gdzie s to środek przedziału <br><br>,a b . Efektem redukcji<br>jest więc dwukrotne zmniejszenie długości przedziału, w którym poszukujemy miejsca<br>zerowego.<br>Zauważmy, że gdyby wywołania funkcji Mzer dla a=0 i b=128 oraz podanych w punkcie a)<br>wartości  nigdy nie kończyły się znalezieniem dokładnej wartości miejsca zerowego (czyli<br>spełnieniem warunku f(s)=0), odpowiedzi w punkcie a) sprowadzałyby się do wskazania<br>ilokrotnie trzeba „połowić” przedział o długości 128 aby uzyskać przedział o długości nie<br>większej niż . W rozwiązaniu można by więc ograniczyć się do policzenia, ile takich<br>„połowień” należy wykonać. Aby jednak mieć pewność poprawności rozwiązania, trzeba<br>sprawdzić że wartość środka przedziału s rzeczywiście w naszym przykładzie nie „trafi”<br>idealnie w miejsce zerowe (równe 72,7) w kolejnych wywołaniach rekurencyjnych. Taką<br>skrupulatną analizę przedstawiliśmy omawiając rozwiązanie punktu a).<br>42 Informator o egzaminie maturalnym z informatyki od roku szkolnego 2014/2015<br>Punkt b) zadania wymaga zastosowania standardowej techniki zamiany rekurencji na<br>iterację. Zamiast wywoływać funkcję z nowymi wartościami krańców przedziałów,<br>zmieniamy w pętli wartości zmiennych a i b tak, aby odpowiadały one końcom coraz<br>mniejszych przedziałów dla których wywoływana jest funkcja rekurencyjna Mzer.<br>Przedstawiony szkielet algorytmu z pozostawionymi miejscami do uzupełnienia sugeruje<br>sposób, w jaki w tym przypadku należy dokonać zamiany rekurencji na iterację.<br>Przykładowe zadania z rozwiązaniami 43</p>","solutions":[]}