[ dana.r @ 01.04.2008. 20:29 ] @
Imam zadatak koji glasi:
Napisati blok dijagram funkcije koja rekurzivno racuna zbir prvih N
parnih brojeva, gde se celi broj N zadaje bilo u proceduri koja
poziva funkciju, bilo unosom korisnika, bilo fiksiranjem u kodu
(sami odaberite).

Tu je i slicica onoga sto sam uradila ali se bojim da ovo nece raditi bas kako treba. Da li je uslov N>0 na pravom mestu? Da li je ovo zaista rekurzivna funkcija ili gresim?

Molim za sugestije.
Hvala.

Izvinjavam se ako sam u pogresnom delu foruma.

[ vlaiv @ 01.04.2008. 22:43 ] @
U sustini, ispravno shvacena rekurzija. N je na pravom mestu, ali blok shema ne izgleda tako.

Ne secam se precizno koji elementi treba da se koriste, ali bi trebalo da izgleda ovako:

Na tom mestu gde imash petlju, treba da stoji poziv funkcije, a funkcija ima svoj blok diagram ...
Ovako kako je uradjeno izgleda kao petlja.

Mozda ce neko drugi bolje znati da demonstrira ono sto sam rekao (ukljucujuci i dijagram)
[ dana.r @ 02.04.2008. 18:53 ] @
Problem je sto nikako da uglavim base case.

Ako funkcija ide na mesto uslova cini mi se da ce se funkcija izvrsavati u beskonacnost.
Dakle, trebalo bi da base case smestim tako da se u nekom trenutku izadje iz funkcije i da zbir.

U prikazanoj semi mislila sam da bi base case bio N>0 ili N=0 ali mi se cinilo da nije na pravom mestu (ponavljam se )
[ jablan @ 02.04.2008. 19:06 ] @
Evo ti program, a ti napravi algoritam. Algoritme ionako u stvarnom životu niko živi ne crta...
Code:

def a(n)
  if n > 0
    return n * 2 + a(n - 1)
  else
    return 0
  end
end
[ dana.r @ 02.04.2008. 19:09 ] @
Hvala.

Program napisala i naravno funkcionise i tu lako definisem base case.

Ali crtanje je za ispit i verovatno to radim sad i nikad vise ali profesori su surovi