Describes the uses of procedure-oriented algorithms. It defines the nature of program constructs, indicates the manner in which constructs can be combined, provides specifications for a set of constructs and permits the definition of a variety of subsets