KVIZ iz REKURZIJE

KVIZ iz REKURZIJE

Avtor: Anja Vencelj

Vprašanje 1

Kako se imenuje tisti pogoj, ki konča rekurzivno izvajanje funkcije?

končni pogoj
zadnji pogoj
zaustavitveni pogoj

Pravilno

Res je. Zaustavitveni pogoj zaustavi rekuzivno izvajanje funkcije.

Naprej

Napačno

Ni res. Imenuje se 'zaustavitveni pogoj', ker zaustavi rekurzivno izvajanje funkcije.

Nazaj

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?

Preveri

Pravilno

Res je. Funkcija jemlje elemente izmenično iz prvega in drugega seznama. Če katerega od seznamov zmanjka, zapiše še preostale elemente.

Naprej

Napačno

Ni res. Funkcija jemlje elemente izmenično iz prvega in drugega seznama. Tudi če sta dva elementa enaka, zapiše oba elementa.

Nazaj

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) 

Preveri

Pravilno

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

Napačno

Ni res. Poskusi še enkrat. Nazaj

Namig:

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'. Nazaj

Vprašanje 4

Obstaja tudi tak rekurzivni program, ki nima zaustavitvenega pogoja, a se vseeno enkrat konča.

DRŽI
NE DRŽI

Pravilno

Res je. Vsak program, v katerem uporabimo rekurzijo, mora vsebovati tudi zaustavitveni pogoj, če ne se program nikoli ne konča izvajati.

Naprej

Napačno

Narobe. Vsak program, v katerem uporabimo rekurzijo, mora vsebovati tudi zaustavitveni pogoj, če ne se program nikoli ne konča izvajati.

Nazaj

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:

skrajsaj('makovka',2)
skrajsaj('makov',4)
skrajsaj('mak',3)

Pravilno

Res je, ker ima beseda samo tri črke, je takoj izpoljnjen prvi pogoj in zato vrne prazen niz.

Naprej

Napačno

Ni res, če funkcija dobi take parametre, odreže toliko črk kot je vrednost n.

Nazaj

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 

vsota(1)
vsota(2+3)
vsota(7-4)
vsota(4)
1
9
4
6

Preveri

Pravilno

Program sešteje števila na naslednji način: vsota(4) = 4+2, vsota(5) = 5+3+1 Naprej

Napačno

Narobe. Poskusi še enkrat. Nazaj

Namig:

Program sešteje števila na naslednji način: vsota(4) = 4+2, vsota(5) = 5+3+1

Nazaj

0%
0%