sample code in chapter 2.1.1
solve exercise 2.1
sample code in chapter 2.1.2
solve exercise 2.2
solve exercise 2.3
sample code in chapter 2.1.3
solve exercise 2.4
solve exercise 2.5
solve exercise 2.6
sample code in chapter 2.1.4
solve exercise 2.7
solve exercise 2.8
solve exercise 2.9
solve exercise 2.10
solve exercise 2.11
solve exercise 2.12
solve exercise 2.13
solve exercise 2.14
solve exercise 2.15
exercise 2.16 remain unsolved