Strona 1 z 1

Na czym polega funkcja sym(a,b)

: 03 lut 2021, 21:42
autor: Xenon02
Mam pytanie czy funkcja sym(a,b) z założenia wypisuje iloczyn a*b?

Próbuję zrozumieć ten algorytm

sym(a,b)
jeżeli a =/= 0
sym(a-1,b+1)
wypisz = a*b
sym(a-1,b+1)

I takie pytanie, bo ogółem program działa od sym 1 do sym 2, ale zanim wypisze a*b pomiędzy tymi sym 1 i sym 2, to musi najpierw wypisać ciąg, i czy ta funkcja sym z zasady działania wykonuje działanie a*b ?
Widziałem wiele wytłumaczeń ale to trochę nie ma dla mnie sensu że najpierw wykonuje sym 1 i zamiast wykonywać polecenie "wypisz a*b", to wraca do sprawdzania warunku. A chyba najpierw musi wykonać pętlę zanim sprawdzi znowu warunek ? Tak mniej więcej pamiętam jak działały funkcje rekurencyjne.

Re: Na czym polega funkcja sym(a,b)

: 26 lut 2021, 13:50
autor: juliobednaro
To tzw. rekurencja. Funkcja wypisze a*b dopiero gdy wszystkie poprzednie funkcje się wykonają.