Prednáška č. 10 | Základy algoritmizácie a programovania (2018/2019)

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 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.