Témata projektů pro rok 2009
Jednoduché projekty (penalizované)
„kopie“ standardních typů Tint, Tlong, Tfloat – napište třídu (nový typ) tak aby ji bylo možné použít stejně jako původní typ. To je při přejmenování int na Tint se musí program chovat stejně.
statický řetězec – práce s řetězci, řetězec je reprezentován statickým polem
Projekt: číselné soustavy
Napište nový „celočíselný“
typ, který bude pracovat v dané číselné soustavě. Číslo bude mít
maximálně X číslic a bude držené v poli „charů“ o
velikosti X. Číselné soustavy dvojková, oktalová, dekadická,
šestnáctková (samostatně).
Jednosměrný seznam.
Normální projekty
Za
projekty budou vybrány některé ze základních prvků (budou se ovšem
tvořit samostatné bez použití knihovních funkcí) a uzly (prvky) budou
třídy obsahující číselnou hodnotu:
zásobník – jeden vstup, jeden výstup, architektura
LIFO
fronta – jeden vstup, jeden výstup, architektura
FIFO
obousměrná fronta – jedna fronta, oba konce mohou
sloužit vstup a výstup
prioritní fronta – prvky vstupují s
informací o prioritě, prvky vystupují z fronty na základě priority a
pořadí vstupu při stejné prioritě
množina – souhrn prvků,
neumožňuje indexaci,
multimnožina (množina obsahující stejné
prvky) – souhrn prvků, mohou se opakovat, …
pole –
(jako v C), umožňuje indexaci
interval (nespojitý) –
sjednocení více „malých“ spojitých intervalů
(běžné operace například – sjednocení, průnik, součet, rozdíl, negace, obrácení (pořadí...), statistika (výskytu prvků, min, max,…), srovnávání, načtení a uložení, další/předchozí prvek, počet prvků, zvětšení (přičtením, násobením) ...)
Těžší projekty (bodově zvýhodněné)
stejné jako v minulém bodě, ale podle obtížnosti realizace (např. implementace pomocí šablon) zlepšené bodování na uvážení cvičícího (až 2 b)
strom (binární, vážený, vyhledávací ...)
Projekty na procvičení (nelze vybrat jako bodované)
datum – práce s datem (kolik dnů je mezi dvěma daty, kolikátého bude za 100 dní …)
čas – práce s časem (kolik vteřín je mezi dvěma časy, kolik bylo před 100 sekundami, kolik bude za 234 minut …)
bod/vektor – ve 2D nebo 3D prostoru (posun bodu (o vektor), rotace bodu, vzdálenost (vektor) mezi dvěma body, úhel a vzdálenost bodu od počátku a osy x…)
„malý“ interval – práce s intervalem (průnik, zjednodušené sjednocení (pouze jedna horní a jedna dolní mez), délka intervalu , ...)
zlomky – práce se zlomky (sčítání, odečítání, násobení, krácení, společný jmenovatel …)
úhly – práce s úhly (součet, rozdíl, normalizace na 0-360, …)
statická množina – množina s pevně definovaným počtem prvků (prvek je nebo není přítomen, průnik, sjednocení, počet prvků v množině, nejmenší a největší prvek ...
Poslední úpravy 2009-10-07