1iai1: Rozdiel medzi revíziami

Z Pascal
Prejsť na: navigácia, hľadanie
Riadok 3: Riadok 3:
  
 
<h3>NDÚ 6 (RadixSort)</h3>
 
<h3>NDÚ 6 (RadixSort)</h3>
Naprogramujte triedenie RadixSort (postup triedenia máte popísaný v [[30.Prednaska | 30. prednáške]]  na konci). Môžete si zvoliť či budete tirediť pole čísel, spájaný zoznam čísel alebo binárny súbor čísel. V testovacej aplikácii vypište čísla na začiatku (ešte neutriedené) a potom po každom zlúčení kôpok do jednej postupnosti.
+
Naprogramujte triedenie RadixSort (postup triedenia máte popísaný v [[30.Prednaska#Radix_Sort | 30. prednáške]]  na konci). Môžete si zvoliť či budete tirediť pole čísel, spájaný zoznam čísel alebo binárny súbor čísel. V testovacej aplikácii vypište čísla na začiatku (ešte neutriedené) a potom po každom zlúčení kôpok do jednej postupnosti.
 
Vyriešenú úlohu pošlite do 9.4.2013 do 8:00. Úloha je za 1 bod.
 
Vyriešenú úlohu pošlite do 9.4.2013 do 8:00. Úloha je za 1 bod.
  

Verzia zo dňa a času 10:25, 26. marec 2013

Projekt

Ak už máte zvolenú tému projektu, pošlite mi ju mailom s predmetom tema projektu.

NDÚ 6 (RadixSort)

Naprogramujte triedenie RadixSort (postup triedenia máte popísaný v 30. prednáške na konci). Môžete si zvoliť či budete tirediť pole čísel, spájaný zoznam čísel alebo binárny súbor čísel. V testovacej aplikácii vypište čísla na začiatku (ešte neutriedené) a potom po každom zlúčení kôpok do jednej postupnosti. Vyriešenú úlohu pošlite do 9.4.2013 do 8:00. Úloha je za 1 bod.

Výsledky rozcvičiek

Meno1.2.NDU13.NDU24.NDU35.NDU46.NDU57.NDU68.NDU79.NDU810.NDU911.NDU1012.spolutéma projektu
Benčko Dominik 3,5 5 1 4,5 1 1,5     3,5              20  
Bohumel Branislav 5 3 1 2 0,5 1,8 0,5 2 1 5              21,8  
Brojo Roman 4,5   1 3,5   4,5   4 1 5              23,5  
Burcl Marek 5 3 1 3,7   2,5   0   1              16,2  
Dúc Jozef 5 3,5 1 4 1 3,5 1 2,5 1 5              27,5 Policajná evidencia zločincov
Gerbóc Štefan  1 1 5   2,5 0 0   3,5              13  
Hoľa Michal 5 3,5 1 2,8 1 4,8 1 1,5 1 5              26,6 Malá škola
Hornáčková Barbora 5   1 4 1   1 4   5              21  
Lamoš Rastislav 4 1 1 5      1 5              17  
Lukáč Dominik 5 4,7   5   4,8   4   5              28,5 PNS
Masár Branislav 3,5 3,2 1 4 1 3,8 1 0 1 3,5              22  
Michalík Eduard 5 4,5 1    5   4 1 5              25,5 Zoo
Opial Marián 5 3,2 1 5 1 2,3 1 4 1 5              28,5  
Rückschloss Lukáš 5 2,5   4,5   4,5   0   5              21,5  
Smolíková Katarína 5 5   3,2   3,8   5   4              26  
Straka Martin  2,5 1   1 1 1 0                6,5  
Stuchlík Martin 3,5 5 1 5 1 5 1 5 1 5              32,5  
Šišková Patrícia 5 4,5 1 5 1 2,5 1 0                20  
Šultys Jakub 5 4 1 3,8                    13,8  
Vališová Karin 4 5 1 5 1 4,9 1 2,5 1 4,8              30,2 Dinosaury

Aktualizované: 19. 3. 2013

Staršie NDÚ

NDÚ 5 (Aritmetický/Lexikografický strom) Vyberte si práve jeden z príkladov 1,2.

  1. Definujte konštruktor (alebo funkciu), ktorý vytvorí aritmetický strom na základe prefixu (vstupný parameter). Čísla v prefixe môžu byť aj viacciferné a sú navzájom oddelené aspoň jednou medzerou. V aplikácii na testovanie strom aj vyhodnoťte (máte v prednáške).
  2. Definujte nasledujúce metódy triedy TLexStrom:
    • funkcia PocetVyskytov(Slovo:string):integer, ktorá zistí počet výskytov slova Slovo
    • funkcia SlovaDlzky(Dlzka:Integer):string, ktorá vráti reťazec slov v strome s danou dĺžkou (môžte definovať aj ako procedúru, ktorá slová danej dĺžky postupne niekam vypíše, no nemusí ich zbierať do jedného reťazca)
    • funkcia Najcastejsie:string, ktorá vráti najfrekventovanejšie slovo v strome

Môžte použiť už hotové programy z prednášky či cvík. Vytvorte aplikáciu na otestovanie (môže byť konzolová alebo grafická).

NDÚ 4 (binárny strom) Definujte konštruktor triedy Tstrom - Create(Preorder, Inorder: string), ktorý skonštruuje celý strom (vo vrcholoch sú znaky), ktorého parameter Preorder je preorderovský výstup a Inorder je inorderovský výstup. Môžte počítať s tým, že v žiadnom reťazci sa znaky neopakujú.

Na otestovanie vytvorte konzolový program, ktorý od používateľa načíta 2 reťazce, potom skonštruuje strom a vypíšte ho preorderom aj inorderom. Uvedomte si, že program nemôžte testovať na ľubovoľnej kombinácii 2 reťazcov (teda ak si vymyslíte preorder, inorder už nemôže byť ľubovoľná permutácia tých istých znakov, iba niektoré permutácie sú dobré).

NDÚ 3 (spájaný zoznam)

V textovom súbore slovnik.txt je v každom riadku 1 slovenské slovo a jeho anglický predklad - oddelené medzerou. V samostatnom unite definujte triedu TSlovnik (ako spájaný zoznam), ktorá bude slúžiť na prácu so slovníkom. Triedu môžete zadefinovať napr. takto. Vrcholy v zozname stále udržiavajte utriedené podľa anglických slovíčok. Definujte metódy, ktoré umožnia:

  • načítať zoznam z daného textového súboru (meno súboru v parametri).
  • vyhľadať slovenský preklad zadaného anglického slova
  • uložiť slovník do daného textového súboru (meno súboru v parametri)

Na otestovanie metód vytvorte program (stačí konzolový), ktorý

  • načíta slovník zo súboru slovnik.txt
  • načíta (z konzoly) anglické slovo a vypíše jeho slovenský preklad. Ak sa v slovníku nenachádza, vypíše o tom správu.
  • načíta anglické slovo, potom jeho slovenský preklad a dvojicu pridá do slovníka (ak tam ešte nie je)
  • zapíše takto zmenený slovník do súboru novy.txt.

Nepoužívajte žiadne pomocné polia, ani iné ako uvedené súbory.

NDÚ 2 (spájaný zoznam)

Definujte procedúru VyhodDuplikaty, ktorá vyhodí zo zoznamu všetky ďalšie výskyty tej istej hodnoty. Napr. zoznam 1->4->7->4->5->8->6->7->4->9->5->nil zmení na zoznam 1->4->7->5->8->6->9->nil. Kvôli testovaniu definujte tiež procedúry na načítanie zoznamu z textového súboru, výpis zoznamu a uvoľnenie zoznamu. Nepoužívajte žiadne pomocné polia ani súbory.

NDÚ 1 (údajový prúd)

Zadanie nájdete na stránke s cvičením.