Cvičení k I003 (Návrh algoritmů II)
Požadavky pro získání zápočtu
- Docházka (minimálně 50% účast)
- Naprogramované příklady
- Zápočtový příklad
Některé na přednášce a cvičení probírané programy
jsou dostupné ve zdrojovém tvaru.
Hotové příklady na disketě
- Rozšíření jednotky NFigures a jedné z jednotek OFigures a
SFigures o další grafický prvek (podobně jako v nfigline.pas).
- Tři varianty implementace uspořádaného seznamu
- Rozšíření minimálně dvou variant z předchozího bodu o další typ
vkládaných hodnot (např. real)
- Rozšíření jednotky MFigures o nový složený objekt (potomek třídy
PieChart)
- Událostmi řízené programování -- jednoduchá aplikace v TurboVision
(nemusí být, pokud je v zápočtovém příkladu použito událostmi řízené
programování)
- Jednotka s OO implementací grafů (inicializace, načtení/uložení
z/do souboru, přidání/odebrání hrany/uzlu, změna ohodnocení
hrany/uzlu, vykreslení na obrazovce, netriviální grafový algoritmus, ...)
Možné zápočtové příklady
V každém zápočtovém příkladu musí být použity principy objektově
orientovaného programování.
- Program nebo knihovna dle vlastního návrhu (nejdříve je nutné
konzultovat přiměřenost zadání)
- Celočíselná aritmetika (+,-,*,/,^,mod) pro velká (řádově 1000
desítkových cifer) čísla a zbytkové třídy
- Editor grafů (vlkádání/odebírání/ohodnocení uzlů/hran,
uložení, načtení, generování, ...)
- Aritmetika matic (+,-,*,|.| ...) pro různé způsoby reprezentace
matic (pole, seznamy)
- Vizualizace algoritmů (třídicích, grafových, ...)
Změna kódu a jazyka/Change language and
charset