本日は、より高度な技に挑戦です。
前回の計算を発展させて見ましょう。
前回と同様にメモ帳でプログラムを記述します。
以下のプログラムを入力してください。
Dim a, b, c
a = 1
b = 2
c = a + b
MsgBox c
間違いなく入力されたら、value.vbsというファイル名で保存しましょう。
保存したら、ダブルクリックして実行です。
1+2の答え、3がダイアログに表示されました。
なにが起こったんでしょう。一行づつ調べてみましょう。
Dim a, b, c
この行は、aとbとcというの変数を使います。という意味です。
変数って何でしょう。これは表札のことです。
次の行を見てみましょう。
a = 1
aと1が一緒ってどうゆうことでしょう。
昔、学校では、=は左右同じと習いました。aと1が一緒ってどうゆうことでしょう。なにがなんだかわかりません。
実は違います。ここがプログラマ初心者のいつもひっかかるところです。
プログラムの世界では、=は右のものに、左の表札をつけるという意味です。
これをプログラマの世界では、右のものを左に代入する。といいます。
a = 1
これは、1という数字に、aという表札をつける。という意味です。
すなわち、1をaに代入する。といいます。
次の行では、
b = 2
これは、2という数字に、bという表札をつける。という意味です。
すなわち、2をbに代入する。といいます。
c = a + b
これは何でしょう。これは、a + bの結果に、cという表札をつける。という意味です。すなわち、a + b の結果をcに代入する。といいます。
ん?ちょっと複雑ですね。
ということは、どうゆうこと?
a + bの結果って、、、a は1の表札、bは2の表札、ってことは、a+bの結果は、3ですね。
ということは、最終的には、3という数字に、cという表札をつける。ってことになるわけです。
MsgBox c
最後に、cという表札の内容の3を表示して終わりです。うーん長かった。
でも、なんでcって文字を表示しないんでしょう。cという文字を表示するときは、
MsgBox "c"
って感じで、””でくくるんでしたね。
今回は、
MsgBox c
ですから、””でくくってありませんから、これは表札とみなされるわけです。
うーん。奥が深い。
んでもなんで、こんなことをするんでしょうね。
以下のプログラムを打ち込んでみてください。
Dim hankei, menseki
hankei = 2
menseki = hankei * hankei * 3.14
MsgBox menseki
これも一行づつみてみましょう。
Dim hankei, menseki
今度は、hankeiとmensekiという表札を使うようです。
hankei = 2
2に、hankeiという表札をつけるようです。
menseki = hankei * hankei * 3.14
hankei * hankei * 3.14の結果に、mensekiという表札をつけるようです。
ってことは、
2 * 2 * 3.14 の結果、12.56という数字に、mensekiという表札をつけるようです。
MsgBox menseki
最後に、mensekiの内容、12.56が表示されるわけです。
半径が、2のときの面積が求まりました。
んじゃ、半径10のときはどうでしょう。
ほうほう、2行目の
hankei = 2
を
hankei = 10
に変えたらOKなわけです。
半径が5のとき、半径が6.5のとき、など、いろいろ試してみましょう。
今回は、円の面積という簡単な公式をつかいましたが、世の中にはもっともっと複雑な公式もあります。そうゆうときには、便利ですね。
公式を入力しておいて、中の数字だけ変更できるわけですから。
電卓ではこうはいきません。
今日のまとめ
- やっぱり、コンピュータは計算は得意だ。
- 今日は怒られなかった。
プログラムって面白いんですね
とても参考になりました
aとbのところをInputBoxに変えてやってみたんですけど
55+45=5545みたいになったんですけどどうすればいいですか?
こちらにも書いてあるんですけど、+の計算は、文字列として認識されちゃうみたいですね。そのときは、c= CDbl(a) + CDbl(b) やc=CInt(a) + CInt(b) のように強制的に数字に変換してしまうと、意図したとおりに動くと思います。
なりました!ありがとうございます!