TablicaPro / karta pracy ucznia / INFORMATYKA

Rekurencja — lekcja z rozpisywaniem kolejnych wywołań

Klasa: __________ Numer: __________ Data: __________

Pracuj w przygotowanym pliku. Po każdej zmianie zapisz go i sprawdź rezultat.

Kod do rozpoczęcia pracy

def odliczanie(n):
    if n == 0:
        print("Start!")
    else:
        print(n)
        odliczanie(n - 1)

odliczanie(3)

Zadanie 1

Napisz rekurencyjnie silnia(n) i suma_cyfr(n). Sprawdź silnię z 0, 1, 5, 10 oraz sumę cyfr 7, 2026, 999.

Zadanie 2

Napisz fib(n), wypisz pierwsze 11 wyrazów i policz, ile razy zostanie wywołana funkcja przy obliczaniu fib(10).

Zadanie 3

Napisz potega(a, n) i odwroc(napis) rekurencyjnie. Sprawdź potega(2, 10), potega(5, 0), potega(3, 4) oraz odwróć rekurencja, a i pusty napis. Wywołaj funkcję bez warunku zakończenia i obsłuż RecursionError.

Sprawdź przed oddaniem

Zadanie 1: silnia 2 pkt, suma_cyfr 2 pkt; zadanie 2: fib 2 pkt, licznik wywołań 1 pkt; zadanie 3: potega i odwroc 2 pkt, RecursionError 1 pkt. Razem 10 pkt.

Jaką zmianę w kodzie potrafisz samodzielnie wyjaśnić?