Pascal a problem solving approach (Addison-Wesley, 1982)