Algorithm Properties | Základy algoritmizácie a programovania (2023/2024)

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 nadväzuje krátkym zopakovaním cyklov while a do while a predstavením prostredia Super Robot Karel s rozšírenými senzormi. Hlavnou témou sú vlastnosti algoritmov, ktoré sú demonštrované na príklade prechodu bludiskom pomocou robota Karla držiaceho sa steny. Na konkrétnom kóde sa postupne ukazuje, ako algoritmus musí byť úplný, prehľadný a zrozumiteľný (napríklad vyčlenením logiky otáčania do samostatnej funkcie turn), univerzálny (funguje na viacerých mapách rôznej veľkosti) a efektívny. Efektívnosť je demonštrovaná porovnaním počtu krokov pri držaní sa pravej verzus ľavej steny, pričom uprednostnenie otáčania doľava výrazne znižuje počet krokov. Na záver je naznačená ďalšia vlastnosť – správnosť algoritmu – ktorá bude rozobraná na inom príklade.

  • - Zopakovanie rozdielu medzi cyklami while (0 až n vykonaní) a do while (1 až n vykonaní)
  • - Predstavenie Super Robot Karla s rozšírenými senzormi (front/left/right is blocked, svetové strany) a potrebou upraviť makefile
  • - Algoritmus musí byť úplný – umožniť prejsť celým bludiskom po značku
  • - Algoritmus musí byť prehľadný a zrozumiteľný – vyčlenenie logiky otáčania do funkcie turn zlepšuje čitateľnosť kódu
  • - Algoritmus musí byť univerzálny – funguje na viacerých mapách rôznej veľkosti bez zmeny kódu
  • - Algoritmus musí byť efektívny – demonštrované porovnaním počtu krokov pri držaní sa pravej (97/206 krokov) a ľavej steny (71/136 krokov)
  • - Naznačená ďalšia vlastnosť algoritmu – správnosť, ktorá bude vysvetlená na ďalšom príklade

Zhrnutie pripravené s pomocou AI z prepisu videa.