Prednáška č. 8 | Základy algoritmizácie a programovania (2017/2018)
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.
Zhrnutie prednášky
Prednáška nadväzuje na tému polí a zameriava sa na reťazce ako polia znakov. Na príklade Cézarovej šifry je vysvetlený princíp posunu písmen v abecede pomocou aritmetiky so znakmi (odčítanie ASCII hodnoty znaku A na získanie poradového čísla, sčítanie posunu a operácia modulo 26 na ošetrenie prechodu cez koniec abecedy). Ukázaná je aj implementácia v cykle for, kde je pole znakov zadané ručne s pevne danou dĺžkou, čo je označené ako obmedzenie riešenia. Následne je vysvetlený koncept reťazca ukončeného špeciálnym znakom '\0' (terminátorom), ktorý umožňuje pracovať s reťazcom ako s celkom a odlišuje skutočnú dĺžku reťazca od veľkosti poľa, v ktorom je uložený. Na záver sú ukázané rôzne spôsoby definovania reťazcov v jazyku C, vrátane definovania poľa s väčšou kapacitou, než je aktuálna dĺžka textu.
- - Reťazce sú polia znakov, platia pre ne rovnaké princípy ako pre polia s indexovaním od 0.
- - Cézarova šifra posúva každé písmeno abecedy o zadaný počet krokov.
- - Šifrovanie sa počíta ako (znak - 'A' + posun) modulo 26, výsledok sa spätne prevedie na znak pripočítaním 'A'.
- - Operácia modulo 26 rieši prechod posunu cez koniec abecedy (napr. Z sa posunie na začiatok).
- - Pôvodné riešenie je obmedzené pevne definovaným textom a pevnou veľkosťou poľa v cykle for.
- - Reťazec je ukončený špeciálnym znakom '\0' (terminátor), ktorý oddeľuje dĺžku reťazca od veľkosti poľa.
- - Reťazce možno definovať viacerými spôsobmi – znak po znaku, pomocou úvodzoviek alebo s väčšou rezervovanou veľkosťou poľa.
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky