Matura z informatyki

0

Patrzę sobie na zeszłoroczne zadania maturalne i zastanawiam się co sądzicie o czymś takim:
Mamy kod:

sym(a,b)
  jeżeli a ≠ 0
    sym(a – 1, b + 1)
    wypisz a * b
    sym(a – 1, b + 1)

Pytanie: co będzie rezultatem wywołania funkcji sym(3, 3) i sym(4,1)

Nie chodzi mi o odpowiedź, raczej o sens tego typu zadań na maturze. Sprawdzenie, czy ktoś rozumie rekurencję można przeprowadzić w dużo prostszy sposób, pogubić się w rozrysowywaniu jej na kartce można dość łatwo. Przeliczając punkty na czas, należy sobie poradzić z zadaniem w 8 minut.

5

Nie zdałbym, bo nie mam pojęcia czy jeżeli a ≠ 0 odnosi się do:
a) niczego
b) linijki sym(a – 1, b + 1)
c) wszystkich linijek poniżej
d) (najbardziej bezsensowne) dwóch kolejnych linijek

EDIT:
Ok - po prawieniu formatowania jasne. Też mnie łamią takie zadania - sprawdzanie czy jesteś dobrym komputerem. 8 minut wystarczy, ale za żmudne.
Dla sym(2,x) jeszcze całkiem spoko.

0

@piotrpo: Przesadzasz. To jest całkiem fajne (może trochę pracochłonne) zadanie na rozumienie rekurencji właśnie i tylko tyle i aż tyle w nim sensu. Czy można sprawdzić rozumienie rekurencji w prostszy sposób -- ale nie całkiem banalny? Pewnie tak, ale podaj jakiś przykład. No i z drugiej strony, z rekurencją i jej rozumieniem jest problem i u starych, więc każde takie zadanie na poziomie liceum mnie cieszy, bo może ktoś trafi do mnie po takiej maturze i będzie wiedział z czym się rekurencję je...

@jarekr000000: No i w sumie tak, sprawdza to, czy jesteś dobrym komputerem... :) Ale tak gimnastyka czasem pomaga trochę zrozumieć co się dzieje w kodzie... Nieraz zresztą musimy się w normalnym kodowaniu w komputer wczuwać. :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1