Ovirani sesalec
Študentkina pripomba na današnjem predavanju je bila povsem na mestu: kaj pa je sesalcu hudega, če se zaleti v steno? Nič. Pa tudi steni ne. Še več, sesalec na svoji življenjski (no: sesalni) poti naleti tudi na različne ovire. Pa mu tudi ni hudega.
Recimo, da je soba videti kot na spodnji sliki.
Široka je 12, visoka je 7, ovire pa so na koordinatah (0, 3), (1, 1), (2, 2) (3, 4) (4, 6) in tako naprej.
Mimogrede, sestavljalec robota menda še ni slišal za terke, zato je lokacije ovir opisal z dvema seznamoma, takole.
ovire_x = [0, 1, 2, 3, 4, 5, 5, 7, 7, 7, 8, 10, 10, 10, 10]
ovire_y = [3, 1, 2, 4, 6, 1, 6, 3, 5, 6, 0, 1, 2, 3, 5]
Na sliki je že vrisana tudi pot, ki jo prevozi sesalec, če sledi navodilu
pot = "^^<>>v^^<<^>>>>>^>>^>^vvv>vvvv>>^^^>>>vv<>>v>^^<^^^^"
Kadar ga premik vodi v steno ali oviro, pač ostane, kjer je.
Obvezna naloga
Napišite funkcijo sesalec(pot, sirina, visina, ovire_x, ovire_y), ki prejme pot (takšno, kot jo vidite zgoraj), širino, višino in koordinate ovir. Vrne končno pozicijo robota.
Dodatna naloga
Poldka je svojega sesalnega robota kupila na Temuju. Ta je malo ... poseben. Po treh trkih (v steno ali oviro) se izključi.
Napišite funkcijo temu z enakimi argumenti, ki vrne mesto, do katerega bo prilel ta, Temujev robot.
Testi
Tokrat to še ni obvezno (od naslednjega tedna bo!), vendar toplo priporočam, da se reševanja lotite takole:
- poberite spodnjo datoteko s testi,
- napišite svojo funkcijo (ali funkciji) na testi,
- poženite.
Testi vam bodo povedali, ali je vaša funkcija napisana pravilno oziroma pokazali mesto, kjer funkcija ne deluje ali pa vrne napačen rezultat.
Datoteka s testi
- 2. marec 2026, 21:20