Zadanie 1. Funkcja rekurencyjna
9 pktWprowadzenie
Dana jest rekurencyjna funkcja przestaw, której parametrem jest nieujemna liczba całkowita:
przestaw(n):
r ← n mod 100
a ← r div 10
b ← r mod 10
n ← n div 100
jeżeli n > 0
w ← a + 10 * b + 100 * przestaw(n)
w przeciwnym razie
jeżeli a > 0
w ← a + 10 * b
w przeciwnym razie
w ← b
wynikiem jest w
Uwaga: Operator mod oznacza resztę z dzielenia, natomiast div – część całkowitą z dzielenia.
1.1. Śledzenie funkcji przestaw
3 pktUzupełnij tabelę – wpisz w drugiej kolumnie wynik funkcji przestaw(n) dla podanych wartości argumentu n oraz wpisz w trzeciej kolumnie liczbę wywołań funkcji przestaw łącznie z pierwszym wywołaniem z parametrem n.
| n | Wynik działania funkcji przestaw | Liczba wywołań funkcji przestaw |
|---|---|---|
| 316498 | 134689 | 3 |
| 43657688 | ||
| 154005710 | ||
| 998877665544321 |
Pokaż odpowiedź i ocenianie CKE
Odpowiedź CKE
Poprawne rozwiązanie
| n | Wynik działania funkcji przestaw | Liczba wywołań funkcji przestaw |
|---|---|---|
| 316498 | 134689 | 3 |
| 43657688 | 34566788 | 4 |
| 154005710 | 145007501 | 5 |
| 998877665544321 | 989786756453412 | 8 |
Zasady oceniania CKE
3 pkt – odpowiedź poprawna.
2 pkt – odpowiedź poprawna dla pięciu pól tabeli.
1 pkt – odpowiedź poprawna dla czterech pól tabeli.
0 pkt – odpowiedź niepoprawna lub niepełna albo brak rozwiązania.
Uwagi ogólne CKE
Akceptowane są wszystkie odpowiedzi merytorycznie poprawne i spełniające warunki zadania.
W zadaniach praktycznych wszystkie wyniki muszą być odzwierciedleniem komputerowej realizacji obliczeń.
Źródło
Oryginalne zasady oceniania CKE — PDF, strona 21.2. Liczba wywołań funkcji
2 pktOceń prawdziwość podanych zdań. Zaznacz P, jeśli zdanie jest prawdziwe, albo F – jeśli jest fałszywe.
Niech n będzie liczbą k-cyfrową, gdzie k > 0. Liczba wywołań funkcji przestaw w zależności od k jest równa:
| Wyrażenie | P | F | |
|---|---|---|---|
| 1. | P | F | |
| 2. | (k + 1) div 2 (gdzie div oznacza dzielenie całkowite) | P | F |
| 3. | P | F | |
| 4. | P | F |
Pokaż odpowiedź i ocenianie CKE
Odpowiedź CKE
Rozwiązanie
FPPF
Zasady oceniania CKE
2 pkt – za poprawną odpowiedź w 4 zdaniach.
1 pkt – za poprawną odpowiedź w 3 zdaniach.
0 pkt – odpowiedź niepełna lub niepoprawna albo brak rozwiązania.
Uwagi ogólne CKE
Akceptowane są wszystkie odpowiedzi merytorycznie poprawne i spełniające warunki zadania.
W zadaniach praktycznych wszystkie wyniki muszą być odzwierciedleniem komputerowej realizacji obliczeń.
Źródło
Oryginalne zasady oceniania CKE — PDF, strona 31.3. Przestawianie cyfr bez rekurencji
4 pktW postaci pseudokodu lub w wybranym języku programowania napisz nierekurencyjną funkcję przestaw2, która dla danej nieujemnej liczby całkowitej n da taką samą wartość jak przestaw(n).
Uwaga: Twój algorytm może używać wyłącznie zmiennych przechowujących liczby całkowite oraz może operować wyłącznie na liczbach całkowitych. W zapisie możesz wykorzystać tylko operacje arytmetyczne: dodawanie, odejmowanie, mnożenie, dzielenie, dzielenie całkowite, resztę z dzielenia oraz porównywanie liczb, instrukcje sterujące, przypisania do zmiennych lub samodzielnie napisane funkcje, wykorzystujące wyżej wymienione operacje. Zabronione jest używanie funkcji wbudowanych oraz operatorów innych niż wymienione, w tym – funkcji przestaw.
Specyfikacja: Dane n – nieujemna liczba całkowita Wynik w – nieujemna liczba całkowita, wynik działania taki sam jak po wykonaniu przestaw(n)
Pokaż odpowiedź i ocenianie CKE
Odpowiedź CKE
Przykładowe rozwiązanie
funkcja przestaw2(n)
w ← 0
p ← 1
dopóki n > 0 wykonuj
r ← n mod 100
a ← r div 10
b ← r mod 10
jeżeli n > 9
w ← p*a + 10*p*b + w
w przeciwnym razie
w ← p*b + w
n ← n div 100
p ← p*100
zwróć w
Zasady oceniania CKE
4 pkt – za poprawny algorytm, w tym:
- 1 pkt – za poprawne przypisanie wartości początkowych zmiennym w oraz p (potęga 100) oraz modyfikację zmiennej oznaczającej potęgę 100
- 1 pkt – za poprawną pętlę (warunek i dzielenie przez 100)
- 1 pkt – za poprawną zamianę cyfr
- 1 pkt – za otrzymanie poprawnego wyniku.
0 pkt – odpowiedź niepoprawna albo brak rozwiązania.
Uwagi ogólne CKE
Akceptowane są wszystkie odpowiedzi merytorycznie poprawne i spełniające warunki zadania.
W zadaniach praktycznych wszystkie wyniki muszą być odzwierciedleniem komputerowej realizacji obliczeń.

