当前位置:天才代写 > haskell代写 > Haskell Assignment代写 Programming代写 database代写

Haskell Assignment代写 Programming代写 database代写

2020-10-21 14:19 星期三 所属: haskell代写 浏览:1858

Haskell Assignment代写

Haskell Assignment

Haskell Assignment代写 Define the following Haskell functions. Always include the function signature. (Note: the marks displayed sum up to 100)

Programming and Paradigms, Dr. Pierpaolo Dondio

Due Date: 22 December 2017 (15% of total exam marks)

Define the following Haskell functions. Always include the function signature. (Note: the marks displayed sum up to 100)

1.is_square. [7] Haskell Assignment代写

Define a function is_square that takes an integer (positive) and returns True if the number is the square of an integer number. DO NOT use the SQRT function.

  1. freq_letter_pc[7]

Define a function freq_letter_pc, that displays the percentage of each letter instead of the number of occurrences (do not count symbols other than [a..z]). Transform the text in small case first. Example:

freq_letter_pc “this is text” = [(t,0.3),(s,0.2),(i,0.2),(h,0.1),(e,0.1),(x,0.1)]
  1. db in Haskell[14] Haskell Assignment代写

A small database contains two tables, one is a list of cities, identified by a city_id, city_name, city_population and country_ id. The other table is a list of countries (country_id, country_name). Table country is related by a 1 to many relation with table cities, country_id is the foreign key. The following is the content of the table:

cities

=[(1,”Paris”,7000000,1),(2,”London”,8000000,2),(1,”Rome”,3000000,3),

(1,”Edinburgh”,500000,2),(1,”Florence”,500000,3), (1,”Venice”,200000,3), (1,”Lyon”,1000000,1),(1,”Milan”,5000000,3), (1,”Madrid”,6000000,4),

(1,”Barcelona”,5000000,4),]

countries = [(1,”UK), (2,”France”), (3,”Italy”), (4,”Spain”)]

Write the following Haskell functions:

a.get_city_aboven – to get all the names of the cities with a population above n (=input)Haskell Assignment代写

get_city_above 6000000 = [“Paris”,”London”,”Madrid”]

b.get_citycountry_name – to get all the cities given a country_name (not country_ id! You need to have a function that, given the country_name gets the country_id)

get_city “Italy” = [“Rome”,”Milan”,”Florence”,”Venice”]

c.num_city– to list all the country and for each country the number of cities in each

num_city = [(“UK”,2),(“Italy”,4), (“Fance”,2),(“Spain”,2)]

4.Euclidean distance between two lists[7] Haskell Assignment代写

Create a function eucl_dist to compute the euclidean distance between two vectors. Each vector is represented by a list of float number of unknown length. The two lists must have the same number of elements.

The distance between list x and y is defined as follows:

You can use the built-in Haskell function sqrt.

  1. Language Identification[20] Haskell Assignment代写

The file lang.hs contains two lists of 26 float numbers each. The lists represent the frequency of each letter in English (list eng_freq) and Portuguese (pt_freq). For instance, the letter “b”, the second letter in the alphabet, has a frequency of 1.492% in English and 1.04% in Portuguese.

Write a Haskell function get_lang that gets a text and print the message “The text is in English” if the text is written in English or “The text is in Portuguese” if the text is written in Portuguese (as a simplification, we only use text containing the 26 basic letters, without accents or other phonetic symbols). In order to identify the language, compute the frequency distribution of the letters in thetext, store it into a list and check if the distribution is closer to eng_freq or pt_freq. You can use the function defined at exercise 2 and 6. Transform the text in small case first.Haskell Assignment代写

Using the function readfile, create a version of the program running from command line that takes a file as an input (command line parameter) and detect the language of the file.

Haskell Assignment代写
Haskell Assignment代写

HIGHER ORDER FUNCTIONS Haskell Assignment代写

  1. Computing numerical series[17]

Write a higher order function math_series with two inputs: a function expressing a mathematical series (a function from a natural number to a float) and an integer positive number ,.

The function returns the sum of the first elements of the series. For simplicity, define a series from Float to Float.

For instance, if we have the series (that is 1,   ,   ,   . , ….) defined by the following function:

half :: Float -> Float half x = x / 2
  1. then
math_series half 4

should return 15/8=1.875. that is the sum of the first 4 elements of the series that is:

Using your function, shows that the sum of the series goes to 1.5 when n goes to infinity, by showing that the greater is , the closer the sum of the series gets to 1.5Haskell Assignment代写

7.Integral ofa function [28]

Define a function integral, that approximates the integral of a funciton f. The function integral has the following inputs:

f = a function from a float number to a float number

x1 , x2 = the two integration intervals (x1 < x2), float numbers as well n = the number of intervals (positive integer >0 )

The integral is an approximation of the real integral, and it is the sum of the yellow rectangles as shown in the example below, where we use the function f = ½ x, x1=1, x2=20 and n=9. Note that the precise value of the integral is 100.

Haskell Assignment代写
Haskell Assignment代写

Example of function usage (referred to the above picture):

integral f 1 20 9 = 89.72222 (the sum of the area of the 9 rectangles with same width).

integral f 1 20 10000 = 99.75184 (the precision is higher when the number of intervals is higher – and the interval width is smaller. When the number of intervals goes to infinity, the integral value is the correct one).Haskell Assignment代写

Note that f (or any other function you want to use) must be defined. In our example f is defined as follows (but it can be any function returning a real number): f x = 0.5*x

Haskell Assignment代写
Haskell Assignment代写

更多其他:C++代写 java代写 r代写 代码代写  python代写 web代写 物理代写 数学代写 考试助攻 C语言代写 计算机代写 finance代写 code代写 代写作业 java作业代写

合作平台:天才代写 幽灵代写 写手招聘 Essay代写

 

天才代写-代写联系方式