program Parascope; {To illustrate stub - R. Rosebrugh, October 16, 1995} var I, J, modulus: Integer; procedure Heading( Width : Integer ); var Column : Integer; begin{Heading} WriteLn('Parascope entered heading'); end;{Heading} procedure OuterLoop(Ip : Integer); var I : Integer; {bad var name!} procedure InnerLoop( J : Integer); var Column : Integer; begin{InnerLoop} for Column := 0 to modulus-1 do Write( J*Column mod Ip : 4); WriteLn end;{InnerLoop} begin{OuterLoop} for I := 0 to Ip-1 do begin Write( I : 4); {the row of products} InnerLoop( I ) end;{for I} end;{OuterLoop} begin{main} WriteLn('Enter the modulus (positive integer)'); ReadLn(modulus); Heading( modulus ); I := modulus; J := 6; OuterLoop( I ); WriteLn; Writeln('After all J = ', J: 2) end.{main}