プログラミングの6つのミソのうち、入力と出力、そして処理の基本である「順次処理」を学んだ。
入力- 処理
出力順次処理- 分岐処理
- 繰り返し処理
ラベルが動き始めると、ラベルを画面内で跳ね返るようにしたい、マウスをラベルに重ねるとラベルを消したいなどのアイディアが湧いてくるのではないだろうか。それらを実現するのがプログラミングの花形である「分岐処理」である。
ここでマスターしたいこと
- if文の文法を知ること
- 6つの論理演算子を知ること
if文のもっとも簡単な書き方
if (条件式) { // 条件が成立している時に実行するプログラムのブロック }
例
以下に、変数aの値が0だった時に、「ゼロです」と表示するプログラムの例を示す。
int a = 0; if (a == 0) { MessageBox.Show("ゼロです"); }
条件式の書き方
- 条件式の結果がtrueの時に、if文の下のブロックが実行される。
- falseの時は、ブロック内のプログラムは実行されない。
- 条件式を書く基本的な方法は、以下の比較演算子を利用することである。以下の6つの記号は覚えておこう。
記号 | 意味 | 例 |
---|---|---|
左辺 == 右辺 | 左辺と右辺が等しい | a == 0 aが0と等しい |
左辺 != 右辺 | 左辺と右辺が等しくない | a != 0 aが0以外 |
左辺 >= 右辺 | 左辺が右辺より大きいか、等しい | a >= 0 aが0以上 |
左辺 > 右辺 | 左辺が右辺より大きい | a > 0 aは0より大きい |
左辺 <= 右辺 | 左辺が右辺より小さいか、等しい | a <= 0 aが0以下 |
左辺 < 右辺 | 左辺が右辺より小さい | a < 0 aが0未満 |
プログラム例
入力された値が0と比較してどのようなものかを表示するプログラムを以下に示す。動作を見て、if文がどのような動きをするのかを観察してみよう。
手順
- プロジェクトを作成する(projIfなど)
- TextBoxとButtonを1つずつ置く
- ボタンをダブルクリックする
- プログラムを入力する
// int型の変数aを定義 int a; // textBox1が空かどうかを判定 if (textBox1.Text == "") { MessageBox.Show("数値を入力してください"); return; // returnを書くと、これ以降のプログラムが実行されない } // textBox1の値を変数aに代入する a = int.Parse(textBox1.Text); // 0と等しいか if (a == 0) { MessageBox.Show("ゼロです"); } // 0と等しくないか if (a != 0) { MessageBox.Show("ゼロではありません"); } // 0以上か if (a >= 0) { MessageBox.Show("ゼロ以上です"); } // 0より大きいか if (a > 0) { MessageBox.Show("ゼロより大きいです"); } // 0以下か if (a <= 0) { MessageBox.Show("ゼロ以下です"); } // 0より小さいか if (a < 0) { MessageBox.Show("ゼロより小さいです"); }
実行結果
演習
- 「乱数の使い方」の応用演習に追加する
- label2の座標が、フォームの外に出たら、移動する方向を反転させて、label2がウィンドウ内を跳ね返るようにする。
ヒント
- プログラムは、timer1をダブルクリックしたブロックの最後に追加する。
- label2の左座標(label2.Left)が、画面の左座標(0)より小さくなったら、変数vxの正負を逆転させる。
- label2の右座標(label2.Right)が、画面の右座標(ClientSize.Width)より大きくなったら、変数vxの正負を逆転させる。
- label2の上座標(label2.Top)が、画面の上座標(0)より小さくなったら、変数vyの正負を逆転させる。
- label2の下座標(label2.Bottom)が、画面の下座標(ClientSize.Height)より大きくなったら、変数vyの正負を逆転させる。