Concurrent Clean/AnswersCH1
2. Write a function that takes two arguments, say n and x, and computes their power, xn. Use this to construct a function that squares its argument. Write a program that computes the square of 128.
Answers:
module exercicio02
import StdEnv
quadrado n x = n ^ x
Start = quadrado 2 7
3. Define the function isum :: Int -> Int which adds the digits of its argument. So, isum 1234 = 10 isum 0 = 0 isum 1001 = 2 You may assume that isum is applied to an argument which is not negative.
Answers:
module exercicio04
import StdEnv
isum :: Int -> int
isum 1234 = 10
isum 0 = 0
isum 1001 = 2
Start = isum 0
4. Use the function isum to check whether a number can be divided by 9.
5. Define a function Max with two arguments that delivers the maximum of the two.
6. Define a function Min that has two arguments that delivers the minimum of the two.
7. Define a function MaxOfList that calculates the largest element of a list.
8. Define a function MinOfList that calculates the smallest element of a list.
9. Define a function Last that returns the last element of a list.
10. Define a function LastTwo that returns the last two elements of a list.
11. Define a function Reverse that reverses the elements in a list.
12. Define a function Palindrome which checks whether a list of characters is a palindrome, i.e. when you reverse the characters you should get the same list as the original.