Systematic programming An introduction - Wirth, Niklaus (Prentice Hall, 1973)