ZAP - Cvičenie č. 7 | Lab 7 (2022/2023)

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

Cvičenie sa venuje praktickej implementácii lineárneho vyhľadávania v číselnom poli a jeho ladeniu pomocou nástroja CGDB. Na konkrétnom kóde funkcie search sa demonštruje chyba pri používaní operátora sizeof na pole odovzdané ako parameter funkcie, keďže sa v skutočnosti odovzdáva iba adresa poľa, nie jeho veľkosť. Chyba sa opravuje pridaním samostatného parametra size, ktorý sa musí explicitne odovzdať pri volaní funkcie. Následne sa program prekladá s prepínačom -g pre podporu ladenia a spúšťa sa v CGDB, kde sa vysvetľuje práca s oknami zdrojového kódu a výstupu, prepínanie medzi režimami, nastavovanie breakpointov, TTY pohľad pre vstup/výstup a sledovanie premenných pomocou print a display. Program pri testovaní vracia nesprávne indexy, čo naznačuje ďalšiu chybu v logike, ktorú sa študenti chystajú odhaliť krokovaním.

  • - Implementácia a testovanie funkcie lineárneho vyhľadávania (search) v poli
  • - Chyba pri použití sizeof na pole odovzdané ako parameter funkcie – vracia veľkosť adresy, nie poľa
  • - Oprava: pridanie explicitného parametra size do funkcie aj pri jej volaní
  • - Preklad programu s prepínačom -g pre podporu ladenia (nastavenie v .bashrc/.profile)
  • - Práca s nástrojom CGDB: prepínanie okien (Escape/i), rozdelenie pohľadu (Shift+T)
  • - Nastavovanie breakpointov medzerníkom a spúšťanie/krokovanie programu (F5, F6, F8)
  • - Sledovanie hodnôt premenných pomocou príkazov print a display v gdb režime

Zhrnutie pripravené s pomocou AI z prepisu videa.