続6.FOR型 繰り返し

6.1FOR文


6.1FOR文

 例)入力として3個のデータを入力し、その合計を出力するプログラム
  FOR文を使わないプログラム
   PROGRAM rei(input,output);
    VAR s,x:integer;
    BEGIN
     s:=0;
     READ(x);
     s:=s+x;
     s:=0;
     READ(x);
     s:=s+x;
     s:=0;
     READ(x);
     s:=s+x;
     WRITE(s)
    END.

  上のプログラムは、まだ同じ事を3回だからよいが、これが10回・20回ともなると、 プログラムが長くなり、また、作るのにもかなりの労力がいる。
  これを簡単に短く書く為に、下のプログラムのように「FOR文」を使います。
  FOR文を使ったプログラム
   PROGRAM rei(input,output);
    VAR s,x,i:integer;
    BEGIN
     s:=0;
      FOR i:=1 TO 3 DO
       BEGIN
        READ(x);
        s:=s+x;
       END;
     WRITE(s)
    END.

  形式
   FOR文 = ”FOR” 制御変数 ”:=” 初期値
        (”TO”|”DOWNTO”) 終値 ”DO” 文
    制御変数 = 純変数
    初期値  = 式
    終値   = 式

  例1)1〜3までの整数を加えるFOR文
     s:=0;
     FOR i:=1 TO 3 DO
      s:=s+x;

  例2)−1〜−3までの整数を加えるFOR文
     s:=0;
     FOR i:=-1 DOWNTO -3 DO
      s:=s+x;

  FOR文で繰り返し実行する文が、いくつもあるときには、予約語の「BEGIN」と「END」 でくくり、複合文にする。
  また、初期値が終値を越えているときには、1回も実行しない。(DOWNTOの時は逆)
  FOR文のHichart記号は、
   
  先ほどの例のFOR文の所をHichartで書いてみると、
   練習問題