1 / 13

Semestrální práce KIV/PT

Semestrální práce KIV/PT. Martin Kales Hana Hůlová. Standardní zadání. Vytvořte 3 vstupní soubory, každý o velikosti minimálně 5MB (obyčejné textové soubory) obsahující texty v českém jazyce z následujících oblastí : zpravodajství beletrie odborná literatura

wyanet
Télécharger la présentation

Semestrální práce KIV/PT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Semestrální práce KIV/PT Martin Kales Hana Hůlová

  2. Standardní zadání • Vytvořte 3 vstupní soubory, každý o velikosti minimálně 5MB (obyčejné textové soubory) obsahující texty v českém jazyce z následujících oblastí : • zpravodajství • beletrie • odborná literatura • Programově načtěte vstupní soubory, vytvořte slovníky použitých slov (implementujte vhodnou základní datové paměťové struktury pro načtená data ze souborů) • Seřaďte slova podle četnosti výskytu + kontrolní výpisy • Umožněte fulltextové vyhledání slov • Vytvořte smysluplné výstupy do HTML, vhodné pak i na obrazovku • Vytvořte prostředí pro snadnou obsluhu programu (menu, ošetření vstupů,…) – nemusí být grafické • Vytvořte dokumentační komentáře ve zdrojovém textu programu a vygenerujte programovou dokumentaci (Javadoc) • Dokumentace • Zadání • Analýza problému • Popis programu • Uživatelská dokumentace • Závěr

  3. Analýza problému • Volba datových struktur => • BVS (pro načtení) • Hash tabulka (pro četnost) • Volba datových typů => • Prvek • Slovo • Údaj o četnosti • Ukazatele na následníky v BVS • PrvekCetnost • Prvek • Ukazatel na další prvek v Hash tabulce

  4. BVS Postupně vkládáme všechna slova do BVS. • 1.slovo=> kořen stromu • Následující slova => porovnání podle abecedy s kořenem a zbytkem stromu: a) menší slova (abecedně) =>vlevo b) větší slova (abecedně) =>vpravo

  5. Programově načtěte vstupní soubory, vytvořte slovníky použitých slov

  6. Hash tabulka • Uložení slov podle četnosti • Pole třídy PrvekCetnost o velikosti rovné nejvyšší četnosti • Tvoříme převodem z BVS • Index spojového seznamu určuje četnost

  7. Program Program se skládá ze 4 souborů: • Prvek.java • Strom.java • Text.java • Gui.java

  8. Prvek.java • Základní datový typ celého programu • Obsahuje: • Slovo (String) • Četnost (int) • Ukazatel na levého následníka v BVS (Prvek) • Ukazatel na pravého následníka v BVS (Prvek)

  9. Strom.java • Implementace BVS • Obsahuje metodu: • pridejPrvek(Prvek) • Najde vhodnou pozici v BVS a přidá Prvek • Dále metody pro porovnávání dvou prvků • boolean Porovnej(Prvek, Prvek) • Prvek Porovnej_Mensi(Prvek, Prvek) • Prvek Porovnej_Vetsi(Prvek, Prvek)

  10. Text.java • Analýza textu • Obsahuje metody: • Strom zpracujText(BufferedReader) • Rozděluje text na slova slova = radka.split("[^A-Za-zÁÄÉËÍÓÖÚÜÝßáäéëíóöúüýČčĎďĚ켾ŇňŐőŘřŠšŤťŮůŰűŽž]+") • A rovnou vrací celý BVS • Metody pro procházení stromem, vyhledávání a výpisu do HTML • Procházení stromem a vyhledávání => zásadně metoda InOrder • Jednoduchost, prochází stromem podle abecedy

  11. Gui.java • Klientská třída • Grafické prostředí

  12. Zhodnocení • Výhody • Jednoduchost • User-friendly • Nevýhody • Pomalé zpracování • Opětovné načítání ze souboru (ne z paměti)

  13. The end

More Related