learn to program's book chapter 7.5 exercises