Exercise Solutions
1. a) age>21
b) height>=48 && height<74
2. a) true
b) false
c) false
d) true
e) true
f) true
g) true
h) false
i) true
j) false
3. a) true
b) false
c) true
d) true
e) false
f) true
g) false
h) true
i) false
j) false
4.
println("Enter a string to check if it is a palindrome.")
val str = readLine
println(if(str == str.reverse) "palindrome" else "not palindrome")
5.
println("Enter values for alpha, read, green, and blue on separate lines.")
val alpha = readInt max 0 min 255 // The max and min simply enforce bounds.
val red = readInt max 0 min 255
val green = readInt max 0 min 255
val blue = readInt max 0 min 255
val argb = (alpha << 24) | (red << 16) | (green << 8) | blue
println("The ARGB value is "+argb+" or "+argb.toHexString+" in hex.")
6.
println("Enter values for alpha, read, green, and blue on separate lines.")
// The max and min simply enforce bounds.
val alpha = (readDouble*256).toInt max 0 min 255
val red = (readDouble*256).toInt max 0 min 255
val green = (readDouble*256).toInt max 0 min 255
val blue = (readDouble*256).toInt max 0 min 255
val argb = (alpha << 24) | (red << 16) | (green << 8) | blue
println("The ARGB value is "+argb+" or "+argb.toHexString+" in hex.")
~
7.
println("Enter a numeric ARGB value.")
val argb = readInt
val alpha = (argb >>> 24)
val red = (argb >>> 16) & 0xFF
val green = (argb >>> 8) & 0xFF
val blue = argb & 0xFF
println("Alpha = "+alpha)
println("Red = "+red)
println("Green = "+green)
println("Blue = "+blue)
8.
println("Enter a numeric ARGB value.")
val argb = readInt
val alpha = (argb >>> 24)/256.0
val red = ((argb >>> 16) & 0xFF)/256.0
val green = ((argb >>> 8) & 0xFF)/256.0
val blue = (argb & 0xFF)/256.0
println("Alpha = "+alpha)
println("Red = "+red)
println("Green = "+green)
println("Blue = "+blue)
9.
println("Input the x and y value for cartesian points.")
val x = readDouble
val y = readDouble
val magSqr = x*x+y*y
println(if(magSqr<=1) "Inside unit circle" else "Outside unit circle")