ZAP - Cvičenie č. 10 | Lab 10 (2021/2022)

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 nadväzuje na predchádzajúcu hodinu a rozvíja program na riešenie bludiska (súbor ikvmarathon.cx) pre virtuálnu kravu pohybujúcu sa vo svete definovanom v Maze 1. Postupne sa dopĺňa funkcia SolveMaze, ktorá pomocou pomocných funkcií FindCow, FindFinish a ChangeDirection zisťuje pozíciu a smer kravy, nájde cieľ a v hlavnom cykle simuluje pohyb rovno až po nárazu na stenu, kedy sa zmení smer a do sveta sa vloží zodpovedajúca šípka. Rieši sa výpočet nasledujúcich súradníc podľa aktuálneho smeru a rozlišujú sa horizontálne a vertikálne zmeny smeru. Na záver sa rieši problém nekonečného cyklu v prípade neriešiteľného bludiska pomocou porovnania aktuálnej a predchádzajúcej prekážky, čo pri opakovanom náraze na stenu ukončí cyklus s indikáciou neúspechu (hodnota -1).

  • - Nadväzuje sa na súbory ikvmarathon.cx a Maze 1 z predchádzajúceho cvičenia.
  • - Implementuje sa funkcia SolveMaze, ktorá vracia počet zmien smeru.
  • - Používajú sa pomocné funkcie FindCow a FindFinish na zistenie pozície kravy, jej smeru a cieľa.
  • - V hlavnom cykle while sa počíta nasledujúca pozícia (nextX, nextY) podľa aktuálneho smeru.
  • - Pri náraze na stenu sa volá ChangeDirection a do sveta sa vloží príslušná šípka (<, >, ^, v).
  • - Ak je nasledujúca pozícia voľná, súradnice kravy sa aktualizujú na next pozíciu.
  • - Porovnaním s predchádzajúcou prekážkou sa detekuje neriešiteľné bludisko a cyklus sa ukončí s hodnotou -1.

Zhrnutie pripravené s pomocou AI z prepisu videa.