ZAP - Cvičenie č. 4 | Lab 4 (2019/2020)

Zdroj
ručne priradené
Pridané

Pozrieť na YouTube →

Preber si túto prednášku so svojou AI

Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.

Otvoriť AI: ChatGPT · Claude · Gemini

Zhrnutie prednášky

Cvičenie sa venuje pokračovaniu práce s robotom Karlom, konkrétne úlohe Collector, kde má robot systematicky prejsť celým svetom (nie špirálovito, ale po riadkoch) a pozbierať všetky značky. Postupne sa vytvárajú vlastné funkcie collect_line, collect_beepers, go_up a turn_right, pričom sa rieši správne ošetrenie okrajových prípadov – zastavenie pred stenou pomocou return, prechod aj v nepárnom svete a poradie príkazov (najskôr zbieranie značiek, potom krok vpred), aby sa nevynechali značky na začiatku ani na konci riadku. Doplnená je aj funkcia find_south_west na presun do ľavého dolného rohu pre mapy, kde robot nezačína v rohu. Na záver sa naznačuje prechod na podobnú úlohu Multiplier, kde sa vychádza z riešenia Collectora, no namiesto zbierania sa značky na danej pozícii zdvojnásobujú.

  • - Posledné cvičenie s robotom Karlom (Setup: priečinok Lab04, kopírovanie Makefile z Lab03)
  • - Úloha Collector: systematický prechod svetom po riadkoch namiesto špirály
  • - Vytvorenie vlastných funkcií: collect_line, collect_beepers, go_up, turn_right
  • - Ošetrenie konca sveta pomocou if (front_is_blocked) return, aby robot nenaboril do steny
  • - Riešenie funguje aj pre nepárny počet riadkov na rozdiel od 'natvrdo' napísaných riešení
  • - Doplnenie funkcie find_south_west pre presun do ľavého dolného rohu pri iných mapách
  • - Oprava poradia príkazov v collect_line (najprv zbieranie, potom krok) a pridanie collect_beepers na konci riadku
  • - Prechod na podobnú úlohu Multiplier – zdvojnásobovanie značiek namiesto ich zbierania

Zhrnutie pripravené s pomocou AI z prepisu videa.