Pascal - problem solving and program design (4. ed.)