2. Funkcja rysuj

Matura próbna grudzień 2022 - Matura z informatyki: arkusze krok po kroku (Python)

**Zadanie 2. Strzałki.** Funkcja `rysuj(x)` rysuje strzałkę z punktu \( x \) do \( 2x \) i do \( 2x + 1 \) (jeśli takie punkty istnieją) i wywołuje się dla nich rekurencyjnie. Tu strzałki trafiają do listy par. Przykład z arkusza: \( N = 5 \), wywołanie `rysuj(1)`. Uruchom krokowo i obejrzyj kolejność strzałek i stos wywołań.

def draw(x, n, arrows):
    # funkcja rysuj(x) z arkusza; strzałka(x, y) dopisuje parę do listy
    if 2 * x <= n:
        arrows.append((x, 2 * x))
        draw(2 * x, n, arrows)
    if 2 * x + 1 <= n:
        arrows.append((x, 2 * x + 1))
        draw(2 * x + 1, n, arrows)
    return arrows


print(draw(1, 5, []))

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Matura z informatyki: arkusze krok po kroku·Zaloguj się, aby zapisać postęp na koncie.