Problem solving and structured programming in pascal (Addison-Wesley, 1985)