Prednáška 2 | Základy algoritmizácie a programovania (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

Prednáška sa venuje vlastnostiam algoritmov na príklade robota SuperKarel, ktorý má oproti základnému Karlovi k dispozícii viac senzorov (napr. Front is Blocked, Wall on Left/Right, negácie senzorov pre svetové strany a značky). Na príklade prechádzania bludiskom sa demonštruje algoritmus držania sa pravej steny pomocou cyklu WHILE a viacnásobného vetvenia IF-ELSE IF-ELSE, ktorým sa robot vždy najskôr snaží odbočiť doprava, potom rovno, doľava alebo sa otočí o 180 stupňov. Ukazuje sa, že takýto algoritmus je úplný, keďže robot dokáže prejsť do všetkých kútov sveta bez ohľadu na umiestnenie hľadanej značky. Následne sa kód zjednodušuje vyčlenením opakujúceho sa bloku na otáčanie do samostatnej funkcie Turn, čím sa zlepší prehľadnosť a čitateľnosť hlavnej funkcie main. Spomína sa aj použitie makra na definovanie konštanty (napr. rýchlosti) na jednom mieste v kóde a nutnosť použiť správny hlavičkový súbor a Makefile pre SuperKarla pri preklade.

  • - SuperKarel má rozšírené senzory: Front is Blocked, Wall on Left/Right, negácie Beepers Present a svetových strán
  • - Pri preklade treba použiť správny hlavičkový súbor a upraviť Makefile na LSuperKarel
  • - Algoritmus prechádzania bludiskom je založený na držaní sa pravej steny pomocou cyklu WHILE s podmienkou No Beepers Present
  • - Rozhodovanie o smere otočenia rieši viacnásobné vetvenie IF - ELSE IF - ELSE (doprava, rovno, doľava, otočka o 180°)
  • - Takýto algoritmus je úplný – robot dokáže preskúmať všetky časti sveta nezávisle od pozície značky
  • - Makro slúži na definovanie konštanty (napr. rýchlosti) na jednom mieste, aby sa dala ľahko meniť
  • - Opakujúci sa blok kódu na otočenie sa vyčlenil do samostatnej funkcie Turn pre zjednodušenie a lepšiu čitateľnosť programu

Zhrnutie pripravené s pomocou AI z prepisu videa.