Anonymní profil Jana (jana.rozmaryna@gmail.com) – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Jana (jana.rozmaryna@gmail.com) – Programujte.comAnonymní profil Jana (jana.rozmaryna@gmail.com) – Programujte.com

 

Příspěvky odeslané z IP adresy 89.24.37.–

Jana (jana.rozmaryna@gmail.com)
Delphi › Rodokmen
3. 4. 2008   #70498

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.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý