第5講 もしもボックス(If文)
第1話 もしもボックス(If文)とは?


『もしもボックス』の名称は、何から借りてきているかおわかりですね。
そうです。
ドラえもんです。
この第5講で学ぶIf文は、ドラえもんの『もしもボックス』の考え方と同じです。
『もしもボックス』は、携帯の普及で最近少なくなってきた公衆電話ボックスと同じ形状をしています。
そのボックスに入り、『もしお金のない世界だったら』や『もし声のない世界だったら』などとお願いするのです。
私の記憶では、『もし声のない世界』では、確か話をすると漫画のように吹き出しが出てきました。
専門用語を用いないということで、『もしもボックス』という比喩を本講の講義名にしましたが、
第5講はドラえもんの『もしもボックス』を持ち出さなくても、
If文については、中学生のときに英語で学び皆さんがよくご存じのものです。
If文とは次のようなものでした。
If P Then A
もしPだったらAです。
ドラえもんの例なら、
If 声のない世界 Then 吹き出しが出てくる
です。

さて、同じことの繰り返しと『もしもボックス』は、
プログラミングの学習の中で最も大事なものであると
前講で申し上げました。
何故、『もしもボックス』が重要なのでしょうか。
実は、同じことの繰り返しを含めて今まで学んだプログラミングは直線的な流れでした。
コンピュータは、プログラムの文章を上から順に実行していくだけです。
A→B→C→・・・
性格診断のようにこれを次のように分岐させることができれば、
かなり内容豊かなプログラムを組むことができます。
l01
この分岐させるための命令文がIf文なのです。
If文には2種類あって
If 条件式 Then
  A
End If
(または If 条件式 Then A)

If 条件式 Then
  A
Else
  B
End If
(または If 条件式 Then A Else B)
です。

1番目のIf文は、条件式が正しいときだけ命令Aを実行します。
2番目のIf文は、条件式が正しいとき命令Aを実行し、正しくないときは命令Bを実行します。
1番目のIf文の流れ図(フローチャート)は、
l02
2番目のIf文の流れ図は
l03
となります。
具体的には、
If w < 100 Then
  w = w + i
End If
はwが100未満ならw = w + iを実行しなさいです。
If w < 100 Then
  w = w + i
Else
  w =w * i
End If
はwが100未満ならw = w + iそうでないならw = w * iを実行しなさいという命令になります。

尚、If文は複数の命令も実行させることができます。
If 条件式 Then
  A
  B
  C
End If
これは条件式が正しいとき、AとBとCの3つの命令を実行させる場合です。
また、
If 条件式 Then
  A
  B
  C
Else
  D
  E
End If
なら、条件式が正しいときはAとBとCを、正しくないときはDとEを実行しなさいとなります。

()の中で一度触れていますが、命令文が1文しかない場合は、
If 条件式 Then A
If 条件式 Then A Else B
と簡略に記述することもできます。
ですが、私は1文しか命令文がない場合でも、
If 条件式 Then
  A
End If
If 条件式 Then
  A
Else
  B
End If
と記述することをお勧めしています。
意味のまとまりごと段組をする習慣を付けていただきたいからです。

さて、もしもボックスを実際に学ぶための課題を出しましょう。

B6に100未満の整数を発生させて、
その整数が60以上ならB8に合格と表示させるマクロを考えましょう。
発生データが60未満なので、
B8には何も表示されない
発生データが60以上なので
B8に合格と表示されている

尚、≧はVBAにはありませんので、>=で代用します。


第4講第10話へ 第2話へ

トップ

vc++講義へ

初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
vb講義へ
VB講義基礎へ
初心者のためのJava 入門 基礎から応用まで
数学研究室に戻る