Zadanie 1.1.
Na podstawie analizy funkcji rekurencyjnej możemy wnioskować, że:
Dla o długości cyfr (czyli par), funkcja przestaw będzie wywołana razy - raz dla każdej pary, idąc od końca liczby.
Natomiast sama funkcja z każdej pary (np. ) tworzy nową liczbę, zamieniając miejscami cyfry (czyli).
Składa te przestawione pary od początku liczby (czyli z lewej strony) – ostatnia para w staje się pierwsza w wyniku, przedostatnia - druga itd.

Zadanie 1.2.

Uzasadnienie:
Zdanie 1. - FAŁSZ: To dzielenie zmiennoprzecinkowe, np. dla , , a przecież funkcja nie może być wywołana raza.
Zdanie 3. - FAŁSZ: Dzielenie zmiennoprzecinkowe ( oraz ), co daje np. - nie jest to poprawna liczba wywołań funkcji.
Zdanie 4. - FAŁSZ: To również dzielenie zmiennoprzecinkowe, np. , - technicznie poprawna wartość liczby, ale nie całkowita liczba wywołań.
Zadanie 1.3.
Pseudokod:
Funkcja przestaw2(n)
w ← 0 // wynik końcowy
m ← 1 // mnożnik pozycji (1, 100, 10000, ...)
Dopóki n > 0 wykonuj:
r ← n mod 100 // ostatnie dwie cyfry liczby
a ← r div 10 // cyfra dziesiątek
b ← r mod 10 // cyfra jedności
n ← n div 100 // usuń ostatnie dwie cyfry z n
Jeżeli n > 0 lub a > 0, to:
wartosc ← a + 10 * b
W przeciwnym razie:
wartosc ← b
w ← w + wartosc * m
m ← m * 100 // przesuwamy się o dwa miejsca w lewo
Zwróć w
Koniec funkcji
Kod (Python):
1. Skrypt w środowisku Python:

2. Przykładowe wywołanie:

Wioletta Wysopal
Nauczycielka informatyki
Tutaj pojawi się lista Twoich książek
Zaloguj się i zacznij tworzyć ją już teraz.

