Procedures and Functions  103  H.A. Procedures  Figure H.c  Syntax diagram for  ProcedureHeading  Throughout the example programs in this User Manual, the predeclared  procedures  Read, Readln, Write, and Writeln are used. This section  describes how to build your own "programmer-declared" procedures;  in fact, Programs 8.2 and 1 0.1 use them.  The  procedure declaration  serves to define a program part and to  associate it with an identifier, so that it can be activated by a  procedure  statement.  The declaration has the same form as a program, except it is  introduced by a  procedure heading  instead of a program heading.  procedure  }----./  Identifier  t---~-~  ForrnalParameterList  f---r-.  '------"  Recall Program 6.1 that found the minimum and maximum values  in a list of integers. As an extension, say that  n  increments are added to  A [ 1] ... A [ n] , then Mi n  and Max  are again computed. The resulting  program, which employs a procedure to determine  Min  and Max,  follows.  program MinMax2(Input,Output);  { Program 11.1 - Extend Program 6.1 by introducing a  procedure.  }  const  MaxSize  =  20;  type  ListSize = 1 .. MaxSize;  var  Increment:  Integer;  Item:  ListSize;  A:  array  [ListSize]  of Integer;  procedure MinMax;  var  Item:  ListSize;  Min,  Max,  First,  Second:  Integer; 