CHECK POINT
*配列

  PROGRAM toi111(input,output);
  VAR a,b,c,d : integer;
   PROCEDURE okikae;
    BEGIN c:=a;a:=b;b:=c END;
   BEGIN READ(a,b);
    IF a<b THEN
     okikae;
    REPEAT
     d:=a MOD b;a:=b;b:=d
    UNTIL d=0;
    WRITELN(a)
   END.
 これはaとbの最大公約数を求めるプログラムです。
 1.まず初めに、READ文でa=6,b=9を読み込みます。
 2.次に、IF文でaとbを比較するとa<bであるから、PROCEDURE okikae;に入ります。
 3.PROCEDURE okikae;で、aとbの値を交換します。
 4.次に、REPEAT文でd=3,a=6,b=3となります。d=0ではないので再びREPEAT文を行うと、 d=0,a=3,b=0となり、REPEAT文から抜けます。
 5.よって最終的に、aとbの最大公約数は3となります。

練習問題