{"id":"informatyka-2018-czerwiec-matura-rozszerzona/zad/2.3","paper_id":"informatyka-2018-czerwiec-matura-rozszerzona","number":"2.3","points":2,"ptype":"open","subject":"informatyka","category":"matura","year":2018,"month":"czerwiec","level":"rozszerzona","text":"Zadanie 2.3. (0-2)\nAby przyśpieszyć rekurencyjne obliczanie wartości n-tego wyrazu ciągu Fibonacciego, można\nskorzystać z następujących wzorów, prawdziwych dla dowolnego całkowitego k ≥ 2:\nF2k=(Fk+1)2 -(Fk-1)2\nF2k-1=(Fk)2 +(Fk-1)2\nZapisz w wybranej przez siebie notacji (w postaci listy kroków, w języku programowania lub\nw pseudokodzie) algorytm rekurencyjny, który służy do obliczania wartości liczby Fn dla\ndowolnego n ≥ 1 i korzysta z tych wzorów.\nAlgorytm.\nMIN_1R","answer":null,"answer_text":"Zadanie 2.3. (0-2)\nWymagania ogólne\nWymagania szczegółowe\nIII. Rozwiązywanie problemów\ni podejmowanie decyzji […]\nz zastosowaniem podejścia\nalgorytmicznego.\n5. Rozwiązywanie problemów\ni podejmowanie decyzji […], stosowanie\npodejścia algorytmicznego.\nZdający:\n1) analizuje, modeluje i rozwiązuje sytuacje\nproblemowe z różnych dziedzin;\n2) stosuje podejście algorytmiczne do\nrozwiązywania problemu;\n4) dobiera efektywny algorytm do\nrozwiązania sytuacji problemowej\ni zapisuje go w wybranej notacji;\n5) posługuje się podstawowymi\ntechnikami algorytmicznymi;\n11) opisuje podstawowe algorytmy\ni stosuje:\na) algorytmy na liczbach całkowitych\n18) oblicza liczbę operacji wykonywanych\nprzez algorytm;\n19) szacuje wielkość pamięci potrzebnej do\nkomputerowej realizacji algorytmu;\n20) bada efektywność komputerowych\nrozwiązań problemów;\nSchemat punktowania\n2 p. - za poprawną odpowiedź, w tym:.\n1 p. - za prawidłowe zdefiniowanie warunków,\n1 p. - za prawidłowe wywołania rekurencyjne.\n0 p. - za podanie odpowiedzi błędnej albo brak odpowiedzi.\nPrzykładowe rozwiązanie\nkw(long int n)\n{\nreturn n*n;\n}\nlong int f(long int n)\n{\nint i,k;\nif(n==1||n==2) return 1;\nelse if (n%2==0)\n{\ni=n/2+1;\nk=n/2-1;\nreturn kw(f(i))-kw(f(k));\n}\nelse {\ni=(n+1)/2;\nk=(n+1)/2-1;\nreturn kw(f(i))+kw(f(k));\n}\n}\nint main()\n{\nint n;\ncin>>n;\ncout << f(n)<< endl; return 0;\n}\nUwaga:\nDopuszczamy zastosowanie przez zdającego funkcji potęgowania wbudowanej w język\nprogramowania","solution":null,"image":"img/informatyka-2018-czerwiec-matura-rozszerzona/zad-2.3.webp","solution_image":null,"topics":null,"page_from":6,"source":"ocr","answer_source":null,"answer_text_source":"ocr","solution_source":null,"text_source":"ocr","source_label":"Informatyka · Matura · czerwiec 2018 (rozszerzona)","subject_label":"Informatyka","category_label":"Matura","text_html":"<p>Zadanie 2.3. (0-2)<br>Aby przyśpieszyć rekurencyjne obliczanie wartości n-tego wyrazu ciągu Fibonacciego, można<br>skorzystać z następujących wzorów, prawdziwych dla dowolnego całkowitego k ≥ 2:<br>F2k=(Fk+1)2 -(Fk-1)2<br>F2k-1=(Fk)2 +(Fk-1)2<br>Zapisz w wybranej przez siebie notacji (w postaci listy kroków, w języku programowania lub<br>w pseudokodzie) algorytm rekurencyjny, który służy do obliczania wartości liczby Fn dla<br>dowolnego n ≥ 1 i korzysta z tych wzorów.<br>Algorytm.<br>MIN_1R</p>","answer_text_html":"<p>Zadanie 2.3. (0-2)<br>Wymagania ogólne<br>Wymagania szczegółowe<br>III. Rozwiązywanie problemów<br>i podejmowanie decyzji […]<br>z zastosowaniem podejścia<br>algorytmicznego.</p>\n<ol><li>Rozwiązywanie problemów</li></ol>\n<p>i podejmowanie decyzji […], stosowanie<br>podejścia algorytmicznego.<br>Zdający:</p>\n<ol><li>analizuje, modeluje i rozwiązuje sytuacje</li></ol>\n<p>problemowe z różnych dziedzin;</p>\n<ol><li>stosuje podejście algorytmiczne do</li></ol>\n<p>rozwiązywania problemu;</p>\n<ol><li>dobiera efektywny algorytm do</li></ol>\n<p>rozwiązania sytuacji problemowej<br>i zapisuje go w wybranej notacji;</p>\n<ol><li>posługuje się podstawowymi</li></ol>\n<p>technikami algorytmicznymi;</p>\n<ol><li>opisuje podstawowe algorytmy</li></ol>\n<p>i stosuje:<br>a) algorytmy na liczbach całkowitych</p>\n<ol><li>oblicza liczbę operacji wykonywanych</li></ol>\n<p>przez algorytm;</p>\n<ol><li>szacuje wielkość pamięci potrzebnej do</li></ol>\n<p>komputerowej realizacji algorytmu;</p>\n<ol><li>bada efektywność komputerowych</li></ol>\n<p>rozwiązań problemów;<br>Schemat punktowania<br>2 p. - za poprawną odpowiedź, w tym:.<br>1 p. - za prawidłowe zdefiniowanie warunków,<br>1 p. - za prawidłowe wywołania rekurencyjne.<br>0 p. - za podanie odpowiedzi błędnej albo brak odpowiedzi.<br>Przykładowe rozwiązanie<br>kw(long int n)<br>{<br>return n*n;<br>}<br>long int f(long int n)<br>{<br>int i,k;<br>if(n==1||n==2) return 1;<br>else if (n%2==0)<br>{<br>i=n/2+1;<br>k=n/2-1;<br>return kw(f(i))-kw(f(k));<br>}<br>else {<br>i=(n+1)/2;<br>k=(n+1)/2-1;<br>return kw(f(i))+kw(f(k));<br>}<br>}<br>int main()<br>{<br>int n;<br>cin&gt;&gt;n;<br>cout &lt;&lt; f(n)&lt;&lt; endl; return 0;<br>}<br>Uwaga:<br>Dopuszczamy zastosowanie przez zdającego funkcji potęgowania wbudowanej w język<br>programowania</p>","solutions":[]}