| Problem 5.1: base b numbers closed form |
Consider a base b number system (b > 1) with n digits and the number 11b (n times the digit 1).
- Define a sum formula that provides the value of the n-digit number 11b.
- Proof via induction that the value of the n-digit number 11b is given by the following closed form:
For example, the 4-digit base 5 number 11115 has the value .
Problem 5.2: unicode and utf-8 encoding
The content of a file containing UTF-8 Unicode encoded text is given by the following sequence of bytes in hexadecimal notation:
48 65 6c 6c 6f 20 f0 9f 8c 8d 21 0a
- Write each byte in binary notation.
- Identify the unicode code points of the characters. What is the text stored in the file?
- Which line end convention is used? What are other popular line end conventions?
Problem 5.3: long years (haskell)
According to the ISO8601 calendar, most years have 52 weeks, but some have 53 weeks. These are so called long years. There is a relatively simple way to calculate whether a given year y is a long year. The function w(y) determines with the helper function p(y) the number of weeks in the year y. (Note that the functions use integer division.)
otherwise
Implement a Haskell function isLongYear :: Int -> Bool to determine whether a year is a long year. Use the isLongYear function to calculate all long years in the range 2000..2100.
Submit your Haskell code as a plain text file.
Problem 5.4: decimal to binary and binary to decimal (haskell)
Implement a function to convert a decimal number into a binary notation and one function to convert from a binary notation back.
- Implement a function dtob :: Int -> String that converts a non-negative integer number into a String (consisting of the characters 0 and 1) representing the integer number as a binary number. It is not necessary to handle negative integers in a meaningful way.
- Implement a function dtob :: String -> Int that converts a String (consisting of the characters 0 and 1) representing a binary number into the corresponding non-negative integer number. It is not necessary to handle unexpected strings in a meaningful way.
Submit your Haskell code as a plain text file. Below is a template file with a few unit test cases.
1 module Main (main) where
2
3 import Test.HUnit
4
- |The dtob function converts a non-negative integer number into a
- String providing a binary representation of the number.
- dtob :: Int -> String
- dtob _ = undefined
9
10 |The btod function converts a String representing a non-negative 11 integer number as a binary number into an integer number.
- btod :: String -> Int
- btod _ = undefined
14
- {-
- Below are some test cases.
- -}
18
- dtobTests = TestList [ dtob 0 ~?= 0
- , dtob 1 ~?= 1
- , dtob 2 ~?= 10
- , dtob 127 ~?= 1111111
- , dtob 12345 ~?= 11000000111001
- ]
25
- btodTests = TestList [ btod 0 ~?= 0
- , btod 1 ~?= 1
- , btod 10 ~?= 2
- , btod 1111111 ~?= 127
- , btod 11000000111001 ~?= 12345
- ]
32
33 main = runTestTT $ TestList [ dtobTests, btodTests ]

![[Solved] ICS Problem sheet 5](https://assignmentchef.com/wp-content/uploads/2022/08/downloadzip.jpg)

![[Solved] Web_Technology Lab Exercise Week 9](https://assignmentchef.com/wp-content/uploads/2022/08/downloadzip-1200x1200.jpg)
Reviews
There are no reviews yet.