Kako se imenuje tisti pogoj, ki konča rekurzivno izvajanje funkcije?
Vprašanje 1
Kako se imenuje tisti pogoj, ki konča rekurzivno izvajanje funkcije?
Vprašanje 2
Imamo funkcijo:
def zlepi(sez1,sez2):
if len(sez1)==0:
return sez2[len(sez1):]
if len(sez1)==0:
return sez1[len(sez2):]
else:
return [sez1[0]]+[sez2[0]]+zlepi(sez1[1:],sez2[1:])
Kateri od seznamov spodaj so bili ustvarjeni s to funkcijo?
Res je. Funkcija jemlje elemente izmenično iz prvega in drugega seznama. Če katerega od seznamov zmanjka, zapiše še preostale elemente.
Ni res. Funkcija jemlje elemente izmenično iz prvega in drugega seznama. Tudi če sta dva elementa enaka, zapiše oba elementa.
Vprašanje 3
Dana je funkcija:
def napisi(niz,n):
if n == 0:
return 'moja rožica'
else:
return niz+' '+napisi(niz,n-1)
Kaj izpiše funkcija:
napisi('ti',3)
Res je. Ko se funkcija prvič izvede, zapiše 'ti', nato pa se zgodijo še trije rekurzivni klici funkcije. Dvakrat se izpiše še beseda 'ti', ko n doseže vrednost 0, pa se izpiše še 'moja rožica'. Naprej
Ni res. Poskusi še enkrat. Nazaj
Vprašanje 4
Obstaja tudi tak rekurzivni program, ki nima zaustavitvenega pogoja, a se vseeno enkrat konča.
Res je. Vsak program, v katerem uporabimo rekurzijo, mora vsebovati tudi zaustavitveni pogoj, če ne se program nikoli ne konča izvajati.
Narobe. Vsak program, v katerem uporabimo rekurzijo, mora vsebovati tudi zaustavitveni pogoj, če ne se program nikoli ne konča izvajati.
Vprašanje 5
Definiramo funkcijo:
def skrajsaj(niz,n):
if len(niz) == n:
return ''
else:
return niz[0]+skrajsaj(niz[1:],n)
V katerem od spodnjih primerov nam funkcija vrne prazen niz?
Izberite en odgovor:
Res je, ker ima beseda samo tri črke, je takoj izpoljnjen prvi pogoj in zato vrne prazen niz.
Vprašanje 6
Kaj vrne funkcija, če jo kličemo s parametri, ki so napisani v prvem stolpcu? Izberi med rešitvami.
def vsota(n):
if n>0:
return n + vsota(n-2)
else:
return 0
Program sešteje števila na naslednji način: vsota(4) = 4+2, vsota(5) = 5+3+1 Naprej
Narobe. Poskusi še enkrat. Nazaj