Solution for Exercise 11.7

This is a solution for Exercise 11.7. See the source code for this file.