Prednáška č. 10 | Základy algoritmizácie a programovania (2018/2019)
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 sa venuje dvojrozmerným a trojrozmerným poliam v jazyku C. Vysvetľuje sa, že 2D pole je vlastne pole polí, pričom prvá zátvorka pri deklarácii predstavuje riadky a druhá stĺpce, a prečo je možné pri inicializácii vynechať veľkosť len v prvej zátvorke, kým ostatné rozmery musia byť explicitne uvedené kvôli výpočtu adries v pamäti. Na praktickom príklade vykresľovania sedemsegmentovky sa demonštruje použitie vnorených cyklov na prechádzanie riadkov a stĺpcov poľa znakov. Následne sa príklad rozšíri na trojrozmerné pole, kde sa pomocou funkcie setSegments podľa zadaného čísla nastavujú jednotlivé segmenty (yes/no) a tie sa potom vykresľujú na obrazovku, pričom sa ukazuje aj možnosť manuálnej úpravy vzhľadu konkrétnej číslice.
- - D pole je pole polí – prvá zátvorka označuje riadky, druhá stĺpce
- - Pri inicializácii možno vynechať veľkosť len v prvej zátvorke, ostatné musia byť zadané kvôli výpočtu pozície v pamäti (offset = veľkosť typu × počet prvkov)
- - V pamäti sú prvky 2D poľa uložené súvisle vedľa seba, nie skutočne v riadkoch
- - Vykreslenie 2D poľa znakov (7-segmentovky) pomocou dvoch vnorených cyklov (y pre riadky, x pre stĺpce)
- - Rozšírenie na 3D pole, kde každý riadok reprezentuje číslicu a obsahuje segmenty so znakom a príznakom yes/no
- - Funkcia setSegments nastavuje, ktoré segmenty sa majú zobraziť podľa zadaného čísla na základe tabuľky jednotiek a núl
- - Ukážka úpravy zdrojového kódu na zmenu vzhľadu konkrétnej číslice (napr. odstránenie segmentu pri číslici 9)
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky