Design and implement a character analyser, Programming Languages

Assignment Help:

Your task is to write an application to analyse texts in a file.  Your application will employ  several kinds of text-analyser objects (which you also have to implement)  as described below. Your application will prompt the user for a filename, ask the user to select one of the text analysers and then will use the selected analyser on the given filename  (each analyser will have a public method "analyse(String filename)"). After analysis a summary report (as outlined in the analyser descriptions - each analyser will have a method "getSummary()" that returns a String that contains the summary) is printed to the screen and the user is offered to query the analyser for more detailed information (as outlined in the analyser description) until the option "done with analysis" is chosen. At the end the user is given the choice to start over again or to terminate the application.

You need to design and implement the following types of analysers:

1.  Character analyser, which establishes:
-  Number of characters in the text (including letters, digits, spaces, symbols, etc.).
-  Number of letters in the text.
-  Number of digits in the text.
-  Number of whitespaces (spaces, tabs, line breaks etc.).
-  Number of other characters (symbols etc.)
-  Frequency distribution of each letter (i.e. the amount of relative occurrence of each letter in the text as percentage, i.e. as a figure between 0.0%-100.0%).

-  Frequency distribution of each digit (i.e. the amount of relative occurrence of each digit in the text as percentage, i.e. as a figure between 0.0%-100.0%).

The summary report includes the number of characters, letters, digits, whitespaces and symbols. The user can query the analyser for  each value individually and also for  the frequency distribution of a single letter or digit  (chosen by the user) or for an overview that displays the frequency distribution of all letters and digits. The way in which you store the information is not important.

2.  Simple word analyser, which establishes:

-  Number of words in the text.
-  Number of different words (not case sensitive, i.e. the words "card" and "Card" are counted as the same word).
-  A list of words occurring in the text (words are kept in order of appearance).
-  Number of occurrences of each word.

The summary report includes the number words and the number of different words. After   the analysis the user can query the analyser for the number of words, number of different words, a list of occurring words (in order of first appearance - each word should be listed only once) and the amount of occurrences of individual words (the user can select the word by index and also by entering the word directly -  you need two separate methods for this).

The simple word analyser stores  the list of words in an  indexed dynamic data structure  (you must be able to get the first, second, third word etc. - it cannot use a hash-based storage).

3.  Sorted word analyser, which establishes the same as the simple word analyser. However, the list of occurring words is sorted in alphabetical order. The overview report and the possible queries are identical to the word analyser.  
 
The sorted word analyser stores the list of words in an  indexed dynamic data structure. Use any sorting algorithm to sort the list of words. The sorted word analyser must use Binary Search to find words in the stored data structure.
 
4.  Hashed word analyser, which establishes the same as the simple word analyser. However, this analyser uses a hash table to store the information. As a consequence,  when querying the occurrences of individual words the index cannot be used  -  the user must enter the words directly.

The hashed word analyser stores the list of words in a  dynamic hash table  (a hash table that adjusts to the required size automatically).


Related Discussions:- Design and implement a character analyser

Define a prolog predicate flatten, Define a Prolog predicate flatten(List, ...

Define a Prolog predicate flatten(List, FlattenedList) that asserts List is any nested list of atoms and FlattenedList is the same list with the nesting removed. The atom [] should

Phonebook entry, The first task is to extend the  NeoPhoneBookEntry and  Ne...

The first task is to extend the  NeoPhoneBookEntry and  NeoPhoneBook classes to accommodate for  four additional contact  details:  Ringtone,  Vibration Pattern,  Led Pattern  and

Real distinct eigenvalues, Real Distinct Eigenvalues Under this case w...

Real Distinct Eigenvalues Under this case we'll have the real, distinct eigenvalues l 1 ≠l 2 ≠l 3 a and their related eigenvectors, ?h 1 , ?h 2 and  ?h 3   are guarantee

What is url describe their protocol, What is URL describe theri protocol? ...

What is URL describe theri protocol? URL basicallt stands for uniform resource locator. A URL is a pointer to a particular resource on the Internet at a particular location.

Pseudo code, I need help putting this into a flowchart constant c as Intege...

I need help putting this into a flowchart constant c as Integer = 3500 Constant CALORIESTOOUNCE as Integer = 219 Declare Sex as Character Declare Age as Integer Declare Weight as I

What is the switch statement, What is the switch Statement? This is a dif...

What is the switch Statement? This is a different form of the multi way decision that It is well structured, but can only be used in certain cases where: 1. Here, Only one var

Explain the break statement - computer programming, Explain the Break State...

Explain the Break Statement - Computer Programming? The break statement is used as an interrupt to the normal flow of control this statement causes as exit from the switch stat

Assembly language coding, i need a coding to glow 8 LEDs on a port with pwm...

i need a coding to glow 8 LEDs on a port with pwm effect

What is linear programming problem, QUESTION 1 (a) (i) What is linear p...

QUESTION 1 (a) (i) What is linear programming problem? (ii) Define and explain the following terms: (1) objective function, (2) decision variable, (3) constraints, (4) feasi

Describe url and hostname part, Describe URL and hostname part? The hos...

Describe URL and hostname part? The hostname part of the URL should be a valid Internet hostname. It can also be an IP address like as 204.29.207.217 or 128.235.252.184. The

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd