- ベストアンサー
電卓の作成 VB
こんにちは。課題で、関数電卓作る必要があり、 まずは、基礎となる、Windowsのアクセサリーの電卓を 作らなければいけないのですが、私はVBの基礎が少しできるくらいです。作成期限は2週間です。 これから、死に物狂いでやるしかないと思うのですが、 何をどのように、すればよいかまったく見当がつきません。 この先が不安でしょうがないのですが、 電卓を作成するために、まず必要なものは参考書でしょうか? 入門書はもっているのですが、電卓についてはいっさいふれて いないため、購入する必要があるのかと思うのですが、 たとえ、購入した本を丸写ししても自分のために ならないと思うのですが、そうなるのを 防ぐためにはどうすればよいでしょうか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
>電卓を作成するために、まず必要なものは参考書でしょうか? 見本になる関数電卓でしょう。Windows標準の電卓の関数モードは市販の関数電卓の機能が一部省略されていたり表記が違ったりします。まずは、関数電卓を実際に使って必要な機能をリストアップすることが重要です。 >購入した本を丸写ししても自分のためにならないと思うのですが、そうなるのを防ぐためにはどうすればよいでしょうか? 自分で試行錯誤するしかありません。最近はネット上にVBのリファレンスとして使える便利なサイトがたくさんあるので入門書とネットの情報からプログラムを設計しましょう。関数電卓が出来る計算機能は全てVBの関数で用意されているので後はそれを組み合わせるだけです。 http://hanatyan.sakura.ne.jp/ 上記のサイトは自分もよく使っていますがVBの簡易リファレンスや色々な使い方のサンプルが載っているので便利です。電卓の作り方は載っていませんが各種関数と使い方は載っているので自分でくみ上げるためには役に立つでしょう。もし、行き詰まったら「VB 電卓」などで検索すれば以外とサンプルは見つかります。
その他の回答 (5)
難しいアドバイスはプロの方に任せて素人の立場から・・・。 1、まず、足し算、引き算、掛算、割り算だけの原型電卓を作る。 2、次に、原型電卓を否定し普通電卓へと変化・発展させる。 3、最後に、普通電卓をも否定し関数電卓へと発展させる。 VBのヘルプ以外は、一切、参照しないことをお勧めします。 であれば、多分、原型電卓を作るということが最初に跳び越えなければならないハードルかと思います。 それさえ跳び越えれば、後は、比較的に容易かと思います。 であれば、原型電卓=>普通電卓=>関数電卓 というステップバイステップが一番の近道ではないでしょうか? 各段階で、どこをどのように変更したら次の段階に進めるのかをジックリ考えます。 「あっ、なーんだ!そんなコードであれば馬鹿でもチョンでも書けるじゃーん!」 というコードで書き進むのがポイントかと思います。 開発フローさえしっかりしていれば必ずゴールできます。 ファイトです。
- imogasi
- ベストアンサー率27% (4737/17069)
私の思い付きを書きます。 (1)関数電卓の画面作り キー部 ボタンコントロール 10個電卓らしく3列配置 ファンクション(機能キー)部 ボタンコントロール 入力表示部=結果表示部 テキストボックスコントロール 以上のボタン・クリックイベントのかき方。 (2)人間が電卓のをたたいたとき、 キーによる逐次入力を、数として変数に組み立てる (例)1->2->4 =>124 終わり・始まりの捉え方(例えば123+は被加数が+の前で終わるということ) (例)123->100*1+20*10+3もう1桁入ると、X10+その入力数 (3)上記変数をファンクション(機能キー +-X÷、クリアなど) により、変数同志の計算に持ち込む。 (4)上記の状態推移遷移図(人間は間違いも含め、色々操作するが それを整理するシェーマ) http://web.hc.keio.ac.jp/~fujimura/2002/lang/lec-n15.html WEB初出を上げただけで中身は私は見てません。 (5)作業用メモリ(変数) (6)以上は通常電卓だが関数電卓への進化でやるべきことはなにか カッコつき式を考えざるを得ないが、その処理を美しくやるなら、 逆ポーランド記法などの勉強=>プログラム・コンパイラの作成解説書でもよむ。 指数計算・表示の採用による新分野など。 ーーー まずは上記文章に出てくる、述語を、WEBで照会し、参考になるようなものを印刷し、じっくり読み、電卓作成に使えるか、考えること。
- Oh-Orange
- ベストアンサー率63% (854/1345)
★『普通の電卓』と『関数電卓』の2つを作るの? ・『私はVBの基礎が少しできる』という事なので電卓の原理のヒントを少しだけアドバイスします。 ●『123 + 234 =』の場合 ・『変数A』を計算結果メモリ、『変数B』を入力用メモリとします。 ・まず『変数A』と『変数B』を初期化(0)にします。 ・数値 123 を『1』『2』『3』という感じでキーボードより入力される数を『変数B』に入力します。 『変数B=変数B * 10 + 1』⇒変数B=0 * 10 + 1=1 『変数B=変数B * 10 + 2』⇒変数B=1 * 10 + 2=12 『変数B=変数B * 10 + 3』⇒変数B=12* 10 + 3=123 と処理します。 ・『+』記号で『変数A』に『123』という数値を代入する(最初のステップは代入処理→ポイント) このとき『変数A』の代入後は『変数B』を 0 に初期化して、次のステップに備えます。 ・次に数値 234 を『2』『3』『4』という感じでキーボードより入力される数を『変数B』に入力します。 『変数B=変数B * 10 + 2』⇒変数B=0 * 10 + 2=2 『変数B=変数B * 10 + 3』⇒変数B=2 * 10 + 3=23 『変数B=変数B * 10 + 4』⇒変数B=23* 10 + 4=234 と処理します。 ・『=』記号で『変数A』に『234』という数値を加算する(前回の演算記号を使ってね) ・これで『変数A』には『357』という数値が入っているので画面などへ結果出力します。 もちろん、途中で入力されている『変数B』の数値も画面などへ表示しますよ。 ・以上。電卓の基本でした。 ポイント: ・計算前(+234)の(+)演算記号を変数などに保存しておく必要があります。 ・また関数電卓の場合は『+-』よりも『×÷』を優先して計算させる処理も必要になります。 他にも『sin,cos,tan』関数のボタンが押されたときに『変数B』の内容を変化させる必要も ありそうですね。 ・それから浮動小数点を使うときは『誤差』に注意して下さい。つまり、 『1.23456000』という入力を数値に変換しても『1.23455998』などとなったりします。注意! ・その他、いろいろ電卓を研究する必要があります。
- dsuekichi
- ベストアンサー率64% (171/265)
> Windowsのアクセサリーの電卓を作らなければいけないのですが、 > 何をどのように、すればよいかまったく見当がつきません。 先ずやらなければならないのは、VBの勉強ではなく、 「電卓はどういう原理で動作しているのか?」の調査&考察ですね。 よって、参考書なんて探しても意味ありません。 #機械的な構造ではなく、原理的な話です。 #例えば、「1+1=」とボタンを押した場合、電卓はどうやって「2」と言う答えを導き出すのか? #「99÷2+10=」とボタンを押した場合、電卓はどうやって「50.5」と言う答えを導き出すのか? #その他もろもろ・・・・ で、それが明らかになって、始めて、「じゃあ、VBで作るならどうすればよいか?」 と言う話になります。 原理的な解説を行っているサイトを探してみるのも良いかもしれません。 原理の話なので言語(VB)に囚われる必要はありません。 分かりやすそうなら、C言語だろうがJavaだろうが、何でも良いでしょう。
>自分のためにならないと思うのですが、 >そうなるのを防ぐためにはどうすればよいでしょうか? 自分の為にならないと判っているのだから 自分で考えるよりない http://www.google.co.jp/search?q=%E9%9B%BB%E5%8D%93%20VB%20%E5%8E%9F%E7%90%86&hl=ja&lr=lang_ja
お礼
ありがとうございます。 まずは、原型電卓を作ることにします