TEACH PROCEDURES A. Sloman === PROCEDURES IN POP11 ================================================ Procedures are 'packaged' sets of instructions, usually with a name. For example, the arithmetic operation + is a procedure, whose name is "+". It can be used in a command, to make POP11 do something. For example 2 + 3 is a command to tell POP-11 to add the numbers 2 and 3, producing the result 5. We call the numbers 2 and 3 ARGUMENTS of the procedure (sometimes called INPUTS, or PARAMETERS) and the number 5 the RESULT (sometimes called the OUTPUT). The instructions which enable the computer to obey this command, were built in by the makers of the computer and the people who programmed the POP-11 system. So + is one example among many procedures which are 'built in' to POP-11, ready for you to use. However, for many problems it is not enough to use the built-in procedures. In addition you need to create new procedures of your own, to avoid having constantly to retype instructions. E.g. suppose you constantly were measuring the sides of rectangles and wanted to work out the perimeter in each case. ------------- | | | | ------------- You find the perimeter by adding the lengths of all the sides. But since two of them are repeated, you can add them twice over, thus define perim(width,height) -> total; width + width + height + height -> total enddefine; This introduces a new procedure, which has two ARGUMENTS (here called width and height) and one RESULT, here called total. If you type that in to POP-11, then you can subsequently use "perim" as a name for this procedure. That is, you have essentially extended the language. So if you type perim(365,732) this will be interpreted as a command to do 365 + 365 + 732 + 732 Of course, this procedure doesn't save you very much typing, except perhaps when the two numbers are rather big perim(9876543, 3456789) compared with 9876543 + 9876543 + 3456789 + 3456789 But you will find out later that procedures can include quite long lists of instructions, and can be much more varied in their behaviour, for instance if they include "conditional" instructions. Later you will find out how the results produced by one procedure can be used as arguments (inputs) to another, or stored in a variable, or printed out. You can get an introduction to POP-11 procedures from the following TEACH files: TEACH * VEDPOP, *RIVER, *DEFINE, *RESPOND TEACH * DEFINE summarises different ways you can define procedures. When you have finished reading this file press the ESC button then Q.