STRUCTURED PROGRAMMING THEORY AND PRACTICE