{"id":"informatyka-2012-maj-matura-podstawowa/zad/1","paper_id":"informatyka-2012-maj-matura-podstawowa","number":"1","points":null,"ptype":"open","subject":"informatyka","category":"matura","year":2012,"month":"maj","level":"podstawowa","text":"Zadanie 1. Fibonacci (7 pkt)\nPoniższa funkcja rekurencyjna Fib oblicza k-ty wyraz ciągu Fibonacciego.\nDane: k - liczba naturalna większa od zera\nFunkcja\n\nFib k\n1. Jeżeli\n1\nk  lub\n2\nk \n, to wynikiem jest 1.\n2. Jeżeli\n2\nk \n, to wynikiem jest\n\n\n\n\n1\n2\nFib k\nFib k\n\n\n\nPrzykład:\nZgodnie z powyższą definicją funkcji Fib mamy:\n\n\n\n\n\n\n\n\n4\n3\n2\n2\n1\n2\n1\n1\n1\n3\nFib\nFib\nFib\nFib\nFib\nFib\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\na) Uzupełnij tabelę, wpisując dla podanych argumentów k wartości obliczane przez funkcję\nFib .\nk\n\nFib k\n1\n1\n2\n1\n3\n2\n8\n11\nPoziom podstawowy - część I\n3\nb) Wywołanie funkcji\n\nFib k dla\n2\nk \npowoduje dwa kolejne wywołania tej funkcji\nz mniejszymi argumentami, które z kolei mogą wymagać kolejnych wywołań Fib , itd.\nProces ten można zilustrować za pomocą tzw. drzewa wywołań rekurencyjnych. Poniżej\nprezentujemy drzewo wywołań rekurencyjnych dla\n5\nk \n. W węzłach drzewa znajdują się\nargumenty wywołań.\nNarysuj drzewo wywołań rekurencyjnych dla\n\n6\nFib\n5\n3\n4\n3\n2\n2\n1\n2\n1\n4\nPoziom podstawowy - część I\nc) k-ty wyraz ciągu Fibonacciego można wyznaczyć iteracyjnie w następujący sposób:\nDane: k - liczba naturalna większa od zera\nAlgorytm:\n1.\n1,\n_1\n1,\n2\nFi\nFi\ni\n\n\n\n2. dopóki i\nk\n\npom\nFi\n\n_1\nFi\nFi\nFi\n\n\n_1\nFi\npom\n\n1\ni\ni\n\n3. wypisz Fi\nZdefiniujmy następujący ciąg:\n\nPierwszy i drugi wyraz ciągu są równe 1.\n\nJeśli\n2\nk \ni k jest parzyste, to k-ty wyraz jest sumą trzech wyrazów\ngo poprzedzających.\n\nJeśli\n2\nk \ni k jest nieparzyste, to k-ty wyraz jest równy wyrazowi o numerze \n\n1\nk \nKilka pierwszych wyrazów tego ciągu podano w poniższej tabeli.\nk\n1\n2\n3\n4\n5\n6\n7\n8\nk-ty wyraz\n1\n1\n1\n3\n3\n7\n7\n17\nZapisz algorytm (w postaci listy kroków, schematu blokowego lub w wybranym języku\nprogramowania), który dla danej wartości k wyznacza k-ty wyraz opisanego powyżej ciągu.\nZapisz rozwiązanie w postaci iteracyjnej.\nSpecyfikacja:\nDane: k - liczba naturalna większa od zera\nWynik: k-ty wyraz ciągu zdefiniowanego powyżej\nAlgorytm:\nPoziom podstawowy - część I\n5\nNr zadania\n1a\n1b\n1c\nMaks. liczba pkt\n2\n1\n4\nWypełnia\negzaminator Uzyskana liczba pkt\n6\nPoziom podstawowy - część I","answer":null,"answer_text":"Zadanie 1. a) (0-2)\nObszar standardów\nOpis wymagań\nWiadomości i rozumienie\nZnajomość podstawowych algorytmów i technik\nalgorytmicznych - rekurencji (I.7)\nPoprawna odpowiedź:\nk\nFib(k)\n8\n21\n11\n89\n2 p. - za podanie dwóch poprawnych odpowiedzi\n1 p. - za podanie jednej poprawnej odpowiedzi\n0 p. - za podanie niepoprawnej odpowiedzi albo jej brak\nZadanie 1. b) (0-1)\nWiadomości i rozumienie\nWyodrębnianie elementów składowych algorytmu (I.7)\nPoprawna odpowiedź:\n1 p. - za poprawne narysowanie drzewa wywołań\n0 p. - za niepoprawny rysunek drzewa wywołań albo brak odpowiedzi\nZadanie 1. c) (0-4)\nKorzystanie z informacji\nZastosowanie podstawowych algorytmów w rozwiązywaniu\nproblemów informatycznych (II.5)\n4\n3\n2\n2\n1\n5\n3\n4\n3\n2\n2\n1\n2\n1\n6\nKryteria oceniania odpowiedzi - poziom podstawowy\n3\nPrzykładowe poprawne odpowiedzi:\nPrzykład 1.\n1,\n_1\n1,\n2\nFi\nFi\ni\n\n\n\ndopóki i\nk\n\njeżeli \n\n1 mod 2\n0\ni \n\nto\npom\nFi\n\n_1\n_ 2\nFi\nFi\nFi\nFi\n\n\n\n_ 2\n_1\nFi\nFi\n\n_1\nFi\npom\n\nw przeciwnym razie\n_ 2\n_1\nFi\nFi\n\n_1\nFi\nFi\n\n1\ni\ni\n\nwypisz Fi\nPrzykład 2\n\n\n1\n1,\n2\n1\nTab\nTab\n\n\n3\ni \ndopóki i\nk\n\njeżeli mod 2\n0\ni\n\nto\n\n\n\n\n\n\n\n3\n2\n1\nTab i\nTab i\nTab i\nTab i\n\n\n\n\n\n\nw przeciwnym razie\n\n\n1\nTab i\nTab i\n\n\n1\ni\ni\n\nwypisz\n\nTab i\n4 p. - za w pełni poprawny algorytm, w tym:\nza poprawne rozróżnianie wyrazów parzystych i nieparzystych - 1 p.\nza poprawne obliczanie wyróżnianych wyrazów nieparzystych - 1 p.\nza poprawne obliczanie wyróżnianych wyrazów parzystych - 1 p.\nza poprawną konstrukcję pętli umożliwiającej obliczanie wszystkich elementów (wraz\nz trzema pierwszymi elementami) - 1 p.\n0 p. - za błędny algorytm, algorytm rekurencyjny albo brak odpowiedzi","solution":null,"image":"img/informatyka-2012-maj-matura-podstawowa/zad-1.webp","solution_image":null,"topics":null,"page_from":2,"source":"ocr","answer_source":null,"answer_text_source":"ocr","solution_source":null,"text_source":"ocr","source_label":"Informatyka · Matura · maj 2012 (podstawowa)","subject_label":"Informatyka","category_label":"Matura","text_html":"<p>Zadanie 1. Fibonacci (7 pkt)<br>Poniższa funkcja rekurencyjna Fib oblicza k-ty wyraz ciągu Fibonacciego.<br>Dane: k - liczba naturalna większa od zera<br>Funkcja<br><br>Fib k</p>\n<ol><li>Jeżeli</li></ol>\n<p>1<br>k  lub<br>2<br>k <br>, to wynikiem jest 1.</p>\n<ol><li>Jeżeli</li></ol>\n<p>2<br>k <br>, to wynikiem jest<br><br><br><br><br>1<br>2<br>Fib k<br>Fib k<br><br><br><br>Przykład:<br>Zgodnie z powyższą definicją funkcji Fib mamy:<br><br><br><br><br><br><br><br><br>4<br>3<br>2<br>2<br>1<br>2<br>1<br>1<br>1<br>3<br>Fib<br>Fib<br>Fib<br>Fib<br>Fib<br>Fib<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>a) Uzupełnij tabelę, wpisując dla podanych argumentów k wartości obliczane przez funkcję<br>Fib .<br>k<br><br>Fib k<br>1<br>1<br>2<br>1<br>3<br>2<br>8<br>11<br>Poziom podstawowy - część I<br>3<br>b) Wywołanie funkcji<br><br>Fib k dla<br>2<br>k <br>powoduje dwa kolejne wywołania tej funkcji<br>z mniejszymi argumentami, które z kolei mogą wymagać kolejnych wywołań Fib , itd.<br>Proces ten można zilustrować za pomocą tzw. drzewa wywołań rekurencyjnych. Poniżej<br>prezentujemy drzewo wywołań rekurencyjnych dla<br>5<br>k <br>. W węzłach drzewa znajdują się<br>argumenty wywołań.<br>Narysuj drzewo wywołań rekurencyjnych dla<br><br>6<br>Fib<br>5<br>3<br>4<br>3<br>2<br>2<br>1<br>2<br>1<br>4<br>Poziom podstawowy - część I<br>c) k-ty wyraz ciągu Fibonacciego można wyznaczyć iteracyjnie w następujący sposób:<br>Dane: k - liczba naturalna większa od zera<br>Algorytm:<br>1.<br>1,<br>_1<br>1,<br>2<br>Fi<br>Fi<br>i<br><br><br></p>\n<ol><li>dopóki i</li></ol>\n<p>k<br><br>pom<br>Fi<br><br>_1<br>Fi<br>Fi<br>Fi<br><br><br>_1<br>Fi<br>pom<br><br>1<br>i<br>i<br></p>\n<ol><li>wypisz Fi</li></ol>\n<p>Zdefiniujmy następujący ciąg:<br><br>Pierwszy i drugi wyraz ciągu są równe 1.<br><br>Jeśli<br>2<br>k <br>i k jest parzyste, to k-ty wyraz jest sumą trzech wyrazów<br>go poprzedzających.<br><br>Jeśli<br>2<br>k <br>i k jest nieparzyste, to k-ty wyraz jest równy wyrazowi o numerze <br><br>1<br>k <br>Kilka pierwszych wyrazów tego ciągu podano w poniższej tabeli.<br>k<br>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>k-ty wyraz<br>1<br>1<br>1<br>3<br>3<br>7<br>7<br>17<br>Zapisz algorytm (w postaci listy kroków, schematu blokowego lub w wybranym języku<br>programowania), który dla danej wartości k wyznacza k-ty wyraz opisanego powyżej ciągu.<br>Zapisz rozwiązanie w postaci iteracyjnej.<br>Specyfikacja:<br>Dane: k - liczba naturalna większa od zera<br>Wynik: k-ty wyraz ciągu zdefiniowanego powyżej<br>Algorytm:<br>Poziom podstawowy - część I<br>5<br>Nr zadania<br>1a<br>1b<br>1c<br>Maks. liczba pkt<br>2<br>1<br>4<br>Wypełnia<br>egzaminator Uzyskana liczba pkt<br>6<br>Poziom podstawowy - część I</p>","answer_text_html":"<p>Zadanie 1. a) (0-2)<br>Obszar standardów<br>Opis wymagań<br>Wiadomości i rozumienie<br>Znajomość podstawowych algorytmów i technik<br>algorytmicznych - rekurencji (I.7)<br>Poprawna odpowiedź:<br>k<br>Fib(k)<br>8<br>21<br>11<br>89<br>2 p. - za podanie dwóch poprawnych odpowiedzi<br>1 p. - za podanie jednej poprawnej odpowiedzi<br>0 p. - za podanie niepoprawnej odpowiedzi albo jej brak<br>Zadanie 1. b) (0-1)<br>Wiadomości i rozumienie<br>Wyodrębnianie elementów składowych algorytmu (I.7)<br>Poprawna odpowiedź:<br>1 p. - za poprawne narysowanie drzewa wywołań<br>0 p. - za niepoprawny rysunek drzewa wywołań albo brak odpowiedzi<br>Zadanie 1. c) (0-4)<br>Korzystanie z informacji<br>Zastosowanie podstawowych algorytmów w rozwiązywaniu<br>problemów informatycznych (II.5)<br>4<br>3<br>2<br>2<br>1<br>5<br>3<br>4<br>3<br>2<br>2<br>1<br>2<br>1<br>6<br>Kryteria oceniania odpowiedzi - poziom podstawowy<br>3<br>Przykładowe poprawne odpowiedzi:<br>Przykład 1.<br>1,<br>_1<br>1,<br>2<br>Fi<br>Fi<br>i<br><br><br><br>dopóki i<br>k<br><br>jeżeli <br><br>1 mod 2<br>0<br>i <br><br>to<br>pom<br>Fi<br><br>_1<br>_ 2<br>Fi<br>Fi<br>Fi<br>Fi<br><br><br><br>_ 2<br>_1<br>Fi<br>Fi<br><br>_1<br>Fi<br>pom<br><br>w przeciwnym razie<br>_ 2<br>_1<br>Fi<br>Fi<br><br>_1<br>Fi<br>Fi<br><br>1<br>i<br>i<br><br>wypisz Fi<br>Przykład 2<br><br><br>1<br>1,<br>2<br>1<br>Tab<br>Tab<br><br><br>3<br>i <br>dopóki i<br>k<br><br>jeżeli mod 2<br>0<br>i<br><br>to<br><br><br><br><br><br><br><br>3<br>2<br>1<br>Tab i<br>Tab i<br>Tab i<br>Tab i<br><br><br><br><br><br><br>w przeciwnym razie<br><br><br>1<br>Tab i<br>Tab i<br><br><br>1<br>i<br>i<br><br>wypisz<br><br>Tab i<br>4 p. - za w pełni poprawny algorytm, w tym:<br>za poprawne rozróżnianie wyrazów parzystych i nieparzystych - 1 p.<br>za poprawne obliczanie wyróżnianych wyrazów nieparzystych - 1 p.<br>za poprawne obliczanie wyróżnianych wyrazów parzystych - 1 p.<br>za poprawną konstrukcję pętli umożliwiającej obliczanie wszystkich elementów (wraz<br>z trzema pierwszymi elementami) - 1 p.<br>0 p. - za błędny algorytm, algorytm rekurencyjny albo brak odpowiedzi</p>","solutions":[]}