Ve škole jsem dostala zadání semestrálky z přemětu Datové struktury a chtěla bych se zeptat,
jestli tady někdo nevíte, jak na to. Já vůbec netuším, s Delphi jsem se ještě nestihla skamarádit :-(
Tady je zadání a děkuju moc za jakoukoli pomoc :-)
V rámci uživatelského modulu vytvořte aplikaci Rodokmen pracující s jednotlivými osobami
rodu Nováků, viz obr 1. Z definice rodokmenu vychází, že aplikace sleduje pouze mužskou
linii. U opačného pohlaví se potomci neuvádějí a eviduje se pouze jejich provdané příjmení,
pokud ho vlastní.
Osobu v rodokmenu reprezentuje:
• muž s atributy (i) jméno, (ii) ročník narození,
• žena s atributy (i) jméno, (ii) ročník narození, (iii) provdané příjmení.
Implementaci aplikace Rodokmen proveďte transformací k-cestného stromu na binární strom
v dynamické paměti, jež bude jako ADS realizována v samostatném modulu AbstrBinTree a
bude disponovat následujícími operacemi:
- Vytvoř: vytvoření prázdného stromu (alokace),
- Zruš: zrušení celého stromu (dealokace),
- JePrázdný: test naplněnosti stromu,
- VložKořen: vložení prvku/kořene do stromu,
- VložPravýList: vložení prvku/listu jako pravého syna akt.prvku,
- VložLevýList: vložení prvku/listu jako levého syna akt.prvku,
- OdeberKořen: odebraní prvku/kořene ze stromu (pokud nemá potomky)
- OdeberPravýList: odebraní prvku/listu, který je pravým synem akt.prvku,
- OdeberLevýList: odebraní prvku/listu, který je levým synem akt.prvku,
- ZpřístupniKořen: zpřístupnění kořene stromu,
- ZpřístupniPravéhoSyna: zpřístupnění prvku, který je pravým synem akt.prvku
- ZpřístupniLevéhoSyna: zpřístupnění prvku, který je levým synem akt.prvku,
- Akce: provede později definovaný úkon nad prvkem stromu,
- Prohlídka: provede inorder prohlídku stromu.
Aplikace Rodokmen bude disponovat následujícími operacemi:
- Vytvoř: vytvoření prázdného rodokmenu,
- Zruš: zrušení celého rodokmenu,
- JePrázdný: test naplněnosti rodokmenu,
- VložPrapředka: vložení osoby do kořene rodokmenu,
- VložPotomka: vložení osoby jako potomka akt. osoby,
- OdeberPrapředka: odebrání osoby z kořene rodokmenu (pokud nemá
potomky),
- OdeberPotomka: odebrání i-tého potomka akt. osoby (pokud má i-tého
potomka),
- NajdiOsobu: najde osobu v rodokmenu (pokud existuje),
- Prohlídka: provede prohlídku stromu tak, aby byl strom procházen po
jednotlivých generacích (viz Obr. 2) a na každém jeho
prvku provede specifickou akci.
Program Rodokmen nechť umožňuje zadávání vstupních dat z klávesnice, ze souboru a
z generátoru, výstupy z programu nechť je možné zobrazit na obrazovce a uložit do souboru.
Pozn.: Metoda Prohlídka aplikace Rodokmen bude využívat pomocnou datovou strukturu
fronta (FIFO), která bude realizována jako ADS.
Fórum › Delphi
Rodokmen
To Jana (jana.rozmaryna@gmail.com) : Máš ICQ? Pokud jo, napiš ho sem, třeba ti můžu pomoci ;-)
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 21 hostů