Solutions to all eight questions of the 12 June 2013 paper. The Scala code uses the paper's Scala 2 conventions. Arithmetic is exact unless a machine type is explicitly discussed; in particular, Question 1 permits ignoring integer overflow. Each code block extends the implementation introduced in its question, unless it supplies a complete replacement.[ref]
Imperative Programming examination paper by the University of Oxford (2013). Cover and printed pp. 2–11, Questions 1–8