Rekurzivne ovire
V tej domači nalogi vadimo pisanje rekurzivnih funkcij. Nobenih zank ali all, any, max in podobnih funkcij.
Obe funkciji vam bi bilo lažje napisati iterativno; tako bi bilo za te nalogi tudi bolj naravno. Vendar potrebujemo takšne, preproste primere kot pripravo na težje, pri katerih brez rekurzije (skoraj) ne bo šlo.
Tako kot na predavanjih je smiselno najprej ločeno obravnavati prazen seznam potem pa prvi element in ostanek (ali pa ostanek in prvi element, kakor bo naneslo).
Napiši rekurzivno funkcijo
stolpec3(ovire), ki dobi seznam trojk, ki opisujejo ovire ((x0, x1, y)) in vrneTrue, če katera ovira pokriva (tudi) stolpec 3 inFalse, če ne.Frajer tu napiše samo en
return(ki ne vsebuje kakegaallali generatorjev!), podobno kot smo z enim samim pogojem preverjali ... palindrome, če se prav spomnim.Napiši rekurzivno funkcijo
najsirsa(ovire), ki vrne najširšo oviro. Če je enako širokih najširših ovir več, naj vrne prvo med njimi.Klic
[(1, 1, 4), (3, 5, 3), (2, 8, 1), (8, 10, 2)]vrne(2, 8, 1).
- 29 marec 2023, 12:50