前回までで、
ました。
今回はいよいよ電卓の仕様を作成します。プログラミングというと、ついすぐにコーディングをしたくなりますが、仕様をきちんと決めずにコーディングを始めると、バグができやすくデバッグも難しくなりがちです。また、ちょっとしたことでつまずいてコーディングが嫌になることもあります。
ここは、まず仕様を決めましょう。機能の追加は最初の版が出来上がってからでもできますし、むしろ仕様がきちんとしていれば、バージョンアップも比較的やりやすくなります。
第2回で調べたように、電卓を作成するためには、次のものが必要です。
変数と定数については、名前の付け方と割り当てる値(定数のみ)を決定するだけで、これらはいいかげんでわかりにくいものにしない限り、コーディングの時に決めてかまいません。
そこで、プロシージャについてもう少し詳しく検討することにしましょう。
まず、簡単そうなCが押された時のプロシージャとCEが押された時のプロシージャを検討します。
Cが押された時
Cが押された時は全ての情報をクリアしなければなりません。つまり、全ての変数をクリアします。
CEが押された時
CEが押された時は二つ目の数値だけをクリアします。一つ目の数値と演算子はそのまま保持して置かなければなりません。
上では触れませんでしたが、ページが初めて表示された時も、Cが押された時と同じ処理を実行して、電卓を使いはじめの状態にしなければならないでしょう。
次に、数値が押された時の処理を考えます。
数値が押された時は、前のキーが数値か演算子かで処理を分ける必要があります。
押される前の値 | 押されたキー | 押された後の値 |
---|---|---|
0 | 1 | 1 |
1 | 2 | 12 |
12 | 3 | 123 |
123 | . | 123. |
123. | 4 | 123.4 |
123.4 | 5 | 123.45 |
続いて、=キーが押された時の処理を考えます。
=キーが押された時は、記憶している二つの数値を記憶している演算子で計算します。計算結果は一つ目の数値にコピーして、表示領域にもこの値を表示します。
最後に、演算子が押された時の処理を考えます。
演算子が押された時は、すでに考えた処理よりはかなり難しそうです。いくつかの条件によって処理を切り替える必要があります。
=キーが押された時の処理と演算子が押された時の処理を比べてみると、=キーが押された時の処理は演算子が押された時の処理の特殊な形であることがわかります。よって、これらの処理はまとめて一つのプロシージャにできそうです。
電卓アプリケーションは比較的簡単なアプリケーションなので、プロシージャの数も少なく、今回検討した変数・定数・プロシージャを用意すればできそうです。
次回は、コーディングをするために必要なVBScriptの文法を説明します。すでに基本的な文法については説明してあるので、さらに進んだ範囲の説明になります。
瀬尾佳隆 (webmaster@seosoft.net) |