for文

プログラミング言語を用いての計算が、電卓で計算をおこなうのとの大きく違 うのは、複雑な計算の手順を記述できることにあります。複雑な計算手順を記 述するための第一歩としては、for文があげられます。これは、同じ文を、一 定回数繰り返して実行するというものです。最初に例を紹介しましょう。

program sum(input,output);
var i , s, n : integer;
begin
    s := 0;
    read(n);
    for i := 1 to n do s := s + i; 
    writeln(s)
end.

for文は、次のような形をしています。

for 制御変数 := 初期値 to 最終値 do 文
制御変数は、整数型として変数宣言部にて宣言されてなければなりません。gif 初期値と最終値は整数型の式でなければなりません。

for文の意味は、次のとおりです。

まず、初期値と最終値のところにある式を計算します。そして、変数のところ で指定された変数に初期値を代入し、文を実行し、それからその変数の値を1 ずつ大きくしながら、文を繰り返し実行して、その変数の値が最終値を越えた ところでfor文を停止します。

さて、上の例の場合、変数iを初期値1から1ずつ大きくしながら変数 nの値になるまで、文s := s + iを実行するわけですから、 最終的に変数sに入っている値は、

displaymath32

となるわけです。

doの後に書かれる「文」のところで、複数の文を書きたいときには、 「複合文」を使用します。複合文は

begin
     文1 ;
     文2 ;
     …
     文n
end
というふうに、実行文部と同じ形をしています。セミコロンは文と文との区切 りです。意味は実行文部と同様に、左から順に実行するというものです.

たとえば、文s := s + iのところを、複合文

begin
    writeln(i,s);
    s := s + i
end
に入れ変えると、変数iや変数sの途中経過も表示されます。

for文において、繰り返し実行される文の中で、代入文などを用いて、制御変 数の値を変化させてはいけないことになっているので、注意してください。

練習

上記のプログラムを実行してみましょう。また、複合文を用いて途中経過を表 示するように変更したプログラムも実行してみましょう。

練習

総和のプログラムを参考にして、整数nを入力とし、その整数の階乗 tex2html_wrap_inline36 を 出力とするプログラムを作成してみましょう。

...制御変数は、整数型として変数宣言部にて宣言されてなければなりません。
厳密には、整数型以外にも順序型(整数型、論理型、文字型、列挙型、部分範 囲型)が許されますが、当面は整数型の場合だけ学習します。
 



Mon Jun 23 04:04:59 JST 1997