Difference between revisions of "FP Laboratory 4"
Jump to navigation
Jump to search
Line 22: | Line 22: | ||
== List comprehension == | == List comprehension == | ||
Using the list comprehension implement following functions: | Using the list comprehension implement following functions: | ||
+ | * Create a function that generates a list of all odd numbers in given interval. | ||
+ | <syntaxhighlight lang="Haskell">oddList :: Int -> Int -> [Int]</syntaxhighlight> | ||
+ | * Create a function that takes a string and converts all characters to upper case letters. | ||
+ | <syntaxhighlight lang="Haskell">allToUpper :: String -> String</syntaxhighlight> | ||
+ | * Create a function that removes all upper case letters from a string. | ||
+ | <syntaxhighlight lang="Haskell">removeAllUpper :: String -> String</syntaxhighlight> | ||
+ | * Create functions that computes union and intersection of two sets. | ||
+ | <syntaxhighlight lang="Haskell"> | ||
+ | union :: [a] -> [a] -> [a] | ||
+ | intersection :: [a] -> [a] -> [a] | ||
+ | </syntaxhighlight> |
Revision as of 13:41, 17 September 2019
Functions working with lists
Implement following functions:
- Create a function that takes first n elements of the list.
take :: a -> [a] -> [a]
- Create a function that takes the remaining list after the first n elements.
drop :: a -> [a] -> a
- Create a function that find the smallest element in the list. Consider input restrictions.
minimum :: [a] -> a -- Is this right?
- Find all prime divisors of a given number.
divisors :: a -> [a]
Functions working with lists and tuples
Implement following functions:
- Create a function that merge two lists into one list of tuples.
zipThem:: [a] -> [b] -> [(a,b)]
- Create a function that compute Cartesian product of two vectors.
dotProduct :: [a] -> [b] -> [(a,b)]
- Create a function that computes n-th number in the Fibonacci sequence. The function should be use n bigger then 50 and get the result in less then a second).
fibonacci :: Int -> Int
List comprehension
Using the list comprehension implement following functions:
- Create a function that generates a list of all odd numbers in given interval.
oddList :: Int -> Int -> [Int]
- Create a function that takes a string and converts all characters to upper case letters.
allToUpper :: String -> String
- Create a function that removes all upper case letters from a string.
removeAllUpper :: String -> String
- Create functions that computes union and intersection of two sets.
union :: [a] -> [a] -> [a]
intersection :: [a] -> [a] -> [a]