An Introduction to programming and problem solving with Pascal - Schneider, Michael G (John Wiley &Sons, Singapore, 1996)