mj0444.gif (2441 バイト)ASCAmj0440.gif (2248 バイト)  mj0455.gif (2586 バイト)  DAmj0440.gif (2248 バイト)mj0444.gif (2441 バイト)mj0436.gif (2656 バイト)mj0437.gif (1789 バイト)

レッスン9:判断(その2)

このページでは、複数の処理を1つにまとめる方法の1つを説明します。

目次

ブロック
動作確認
レッスン10では?

ブロック

if文は条件によって処理を変えることができますが、そのままでは、条件を満たしたり、満たさなかったりする場合の処理は1つしか書けません。複数の処理をするときは、それらの処理を1つにまとめます。このまとめたものをブロックといいます。複数の処理を1つにまとめるには、次のように書きます。

書き方

begin
    処理1;
    処理2;
    処理3;
end;

注意:処理数が3つの場合の例です。処理数が多くなっても同様です。処理をただ並べて、beginendを前後につけるだけです。endの1つ前の行末では、;(セミコロン)が必要ありませんが、ここでは、つけています。

処理1、処理2、処理3の行頭に空白を入れていますが、これは、見やすくするためです。

Q&Aコーナー

Q:下のような、ifの処理の中にifがあるようなプログラムは正しいですか?
    if a>0 then
    begin
       if b>0 then
         c:=0;
      d:=0;
    end;
A:ここをクリック。

次のようなプログラムをみてみましょう。

  1. program handan2;
  2. var x,y,z:integer;
  3. begin
  4.    x:=10;
  5.   if x>=0 then
  6.   begin
  7.      y:=1;
  8.      z:=-100;
  9.   end;
  10.   if x<0 then
  11.   begin
  12.      y:=-1;
  13.      z:=100;
  14.   end;
  15. end.

[注意]左端の番号は、プログラムの一部ではありません。各行を区別するために付けた番号です。

プログラム説明

4行目で、xの変数に10が代入されます。

5〜14行目では、xの値によって処理を変えています。xの値が0以上のときは7と8行目を実行し、xの値が0以上でないとき(0より小さいとき)12と13行目を実行します。上のプログラムでは、xの値は10で、0以上ですので、7と8行目が実行され、yに1が、zに-100が代入されます。

動作確認

それでは、上の例の動作確認をしてみましょう。また、自分なりにプログラムを変更して、動作確認をしてみましょう。動作確認をする前に、Internet Explorerの設定をちゃんとしているか調べてください。

Pascalシミュレータによる動作確認
[注意]このリンク先のページはInternet Explore 3.0以降で正しく表示されます。

練習コーナー

問題:aの変数に記憶されている値が0以上のときaの値を1つ増やし、bも2つ増やすプログラムを作成しましょう。
解答例:ここをクリック。

レッスン10では?

人間は同じことを繰り返すのは、飽きてしまって、不得意ですが、コンピュータは、飽きもせず同じことを繰り返してくれます。この繰り返し処理を次のページで説明します。

[レッスン10へ]


TitleLineAnim.gif (2453 バイト)

Ln769.gif (641 バイト)

このページの最終更新日は 99/03/20 です。
掲載責任者・ページ作成者: (c)板谷雄二(itaya@alice.asahi-u.ac.jp)