Cvičenie č.3

Ciele
  1. Oboznámiť sa s vývojovým prostredím Code::Blocks.
  2. Zvládnuť prácu v prostredí Code::Blocks.
  3. Porozumieť dodanej implementácii abstraktného údajového typu (ADT) List (zoznam).
  4. Podľa pokynov doplniť dodanú implementáciu.
Úvod
    Náplňou cvičenia je implementácia abstraktného údajového typu (ADT) List (zoznam). Prostriedkom pre realizáciu implementácie je programovací jazyk C a vývojové prostredie Code::Blocks.
Postup
  1. Vývojové prostredie Code::Blocks.
    Úloha: Oboznámte sa s jednotlivými prvkami rozhrania vývojového prostredia.
    Poznámka: Pre detailnejšie oboznámenie sa s prostredím je dostupná používateľská príručka.
  2. Práca v prostredí Code::Blocks.
    Úloha: Vytvorte nový projekt (File->New->Project), vyberte konzolovú aplikáciu (Console Application) ako typ projektu, zvoľte jazyk C, zadajte meno projektu a jeho umiestnenie.
    Poznámka: Ponúknutý súbor main.c je možné zatvoriť, ak ho nebudeme potrebovať.
  3. Implementácia ADT List.
    Úloha: Pridajte do vytvoreného projektu všetky súbory z pripraveného archívu. Projekt preložte a výsledný program spustite (Build->Build and run).
    Úloha: Oboznámte sa s možnosťami ladenia programu v prostredí Code::Blocks. Ladenie je možné spustiť z ponuky: Debug->Start (F8). Prakticky overte tvorbu bodu prerušenia (Breakpoint) a krokovanie behu programu.
    Pripravený archív obsahuje tieto súbory:
    • fatal.h - definičný modul pre ošetrenie chýb.
    • list.h - definičný modul ADT List. Obsahuje definície údajových typov a prototypov operácií.
    • list.c - implementačný modul ADT List. Definícia položky ADT List, implementácia operácií.
    • test.c - modul pre testovanie činnosti ADT List. Obsahuje aj funkciu main.
    Úloha: Dôkladne preštudujte dodaný kód. V prípade nejasností sa s konkrétnou otázkou obráťte na cvičiaceho.
  4. Doplnenie implementácie.
    Úloha: Pridajte podporu operácií Cat a Cut na ADT List. Význam operácií je jasný z obrázkov.
    Operácia Cat:
    Operácia Cut:
    Prototypy operácií (súbor list.h):
    List Cat( List L1, List L2 );
    
    List Cut( List L, Position P );
    
    Poznámka: Pre overenie činnosti pridaných operácií doplňte aj modul pre testovanie (test.c).
    Poznámka: Vytvorené vlastné riešenia si uložte (USB, e-mail,...) a odstráňte z disku vami vytvorené projekty a súbory. Zanechajte vývojové prostredie v pôvodnom stave.
Doplňujúce úlohy
    Úloha: Vytvorte implementáciu ADT List, ktorá umožňuje realizovať operácie Cut a Cat v čase O(1).
comments powered by Disqus