5.条件分岐(if文)

次はある条件に従って命令を実行したりしなかったりする条件分岐を学びます。使うのはif文です。形式を次に示します。

if (条件式) {
   条件式が真(TRUE)の時に実行する命令
} else {
 条件式が偽(FALSE)の時に実行する命令
}

条件式を満足しなければ何もしない場合にはelse以降は省略可です。

(1) if分のプログラム例1
ではさっそく使ってみましょう。次のプログラムを入力、実行してみましょう。

このプログラムでは、3行目のif文の条件式が満足していれば4行目stroke(255,0,0);と赤で描く設定が実行され、満足していなければ4行目は実行されず、その前のstroke(0,0,0); が有効で黒で描かれます。条件式を変えて実行結果がどう変わるか試してみてください。

条件式は、以下の様に書き、満足するときが真、しないときが偽となります。
a>b : aがbより大きいとき
a<b : aがbより小さいとき
a==b : aとbが等しいとき
a!=b : aとbが等しくないとき
a>=b : aがb以上のとき
a<=b : aがb以下のとき

a, bは計算式でも可です。さらに条件を組み合わせて
a>b || a>c  : aがbより大きい、あるいは、aがcより大きいとき (どちらか片方でも満足すれば真)
a>b && a>c : aがbより大きい、かつ、aがcより大きいとき(両方とも満足していれば真)

という条件式も利用できます。

演習1 以前の繰り返しの演習で、円周の点を計算して直径の直線を20本描く下のプログラムを参考にして、角度が90度より大きくなったら線を赤く描くプログラムを作成せよ。

(2) if文のプログラム例2
 次は、マウスがクリックされているかどうかで絵を描いたり書かなかったりするプログラムを考えます。この時に使うのが、mousePressedというシステム変数です。この変数はマウスがクリックされている時にはtrueに、されていなければfalseになる変数です。draw()の中にif文を書いて次のようなプログラムを作成します。クリックされいるときだけ11-13行が実行され、円が描かれます。10行目のif文の条件式は、mousePressed == trueとなっていますが、mousePressedというシステム変数自体がtrueかfalseですので、条件式をmousePressedとだけ書いても同じ結果になります。

演習2 次のプログラムはマウスの位置にマウスのスピードに応じた円を描くプログラムでした。このプログラムをクリックしている時には黒い円で、クリックしていないときには緑の円で描くプログラムに変更しなさい。

東京電機大学AD科向けコンプロI用サイト

このサイトは東京電機大学東京千住キャンパスのAD科の1年次生向けコンピュータプログラミングIの授業内容やお知らせをするページです。プログラムの初歩の初歩を学ぶ人のためのページです。この資料を授業等で共有したいという方もどうぞお使いください。一緒に学習向けコンテンツを作ってくださる方、学習者向けのサンプルプログラムの提案など歓迎いたします。

0コメント

  • 1000 / 1000