こんにちは。課題で、関数電卓作る必要があり、
まずは、基礎となる、Windowsのアクセサリーの電卓を
作らなければいけないのですが、私はVBの基礎が少しできるくらいです。作成期限は2週間です。
これから、死に物狂いでやるしかないと思うのですが、
何をどのように、すればよいかまったく見当がつきません。
この先が不安でしょうがないのですが、
電卓を作成するために、まず必要なものは参考書でしょうか?
入門書はもっているのですが、電卓についてはいっさいふれて
いないため、購入する必要があるのかと思うのですが、
たとえ、購入した本を丸写ししても自分のために
ならないと思うのですが、そうなるのを
防ぐためにはどうすればよいでしょうか?
No.3ベストアンサー
- 回答日時:
>電卓を作成するために、まず必要なものは参考書でしょうか?
見本になる関数電卓でしょう。Windows標準の電卓の関数モードは市販の関数電卓の機能が一部省略されていたり表記が違ったりします。まずは、関数電卓を実際に使って必要な機能をリストアップすることが重要です。
>購入した本を丸写ししても自分のためにならないと思うのですが、そうなるのを防ぐためにはどうすればよいでしょうか?
自分で試行錯誤するしかありません。最近はネット上にVBのリファレンスとして使える便利なサイトがたくさんあるので入門書とネットの情報からプログラムを設計しましょう。関数電卓が出来る計算機能は全てVBの関数で用意されているので後はそれを組み合わせるだけです。
http://hanatyan.sakura.ne.jp/
上記のサイトは自分もよく使っていますがVBの簡易リファレンスや色々な使い方のサンプルが載っているので便利です。電卓の作り方は載っていませんが各種関数と使い方は載っているので自分でくみ上げるためには役に立つでしょう。もし、行き詰まったら「VB 電卓」などで検索すれば以外とサンプルは見つかります。
No.6
- 回答日時:
難しいアドバイスはプロの方に任せて素人の立場から・・・。
1、まず、足し算、引き算、掛算、割り算だけの原型電卓を作る。
2、次に、原型電卓を否定し普通電卓へと変化・発展させる。
3、最後に、普通電卓をも否定し関数電卓へと発展させる。
VBのヘルプ以外は、一切、参照しないことをお勧めします。
であれば、多分、原型電卓を作るということが最初に跳び越えなければならないハードルかと思います。
それさえ跳び越えれば、後は、比較的に容易かと思います。
であれば、原型電卓=>普通電卓=>関数電卓 というステップバイステップが一番の近道ではないでしょうか?
各段階で、どこをどのように変更したら次の段階に進めるのかをジックリ考えます。
「あっ、なーんだ!そんなコードであれば馬鹿でもチョンでも書けるじゃーん!」
というコードで書き進むのがポイントかと思います。
開発フローさえしっかりしていれば必ずゴールできます。
ファイトです。
No.5
- 回答日時:
私の思い付きを書きます。
(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 …
WEB初出を上げただけで中身は私は見てません。
(5)作業用メモリ(変数)
(6)以上は通常電卓だが関数電卓への進化でやるべきことはなにか
カッコつき式を考えざるを得ないが、その処理を美しくやるなら、
逆ポーランド記法などの勉強=>プログラム・コンパイラの作成解説書でもよむ。
指数計算・表示の採用による新分野など。
ーーー
まずは上記文章に出てくる、述語を、WEBで照会し、参考になるようなものを印刷し、じっくり読み、電卓作成に使えるか、考えること。
No.4
- 回答日時:
★『普通の電卓』と『関数電卓』の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』などとなったりします。注意!
・その他、いろいろ電卓を研究する必要があります。
No.2
- 回答日時:
> Windowsのアクセサリーの電卓を作らなければいけないのですが、
> 何をどのように、すればよいかまったく見当がつきません。
先ずやらなければならないのは、VBの勉強ではなく、
「電卓はどういう原理で動作しているのか?」の調査&考察ですね。
よって、参考書なんて探しても意味ありません。
#機械的な構造ではなく、原理的な話です。
#例えば、「1+1=」とボタンを押した場合、電卓はどうやって「2」と言う答えを導き出すのか?
#「99÷2+10=」とボタンを押した場合、電卓はどうやって「50.5」と言う答えを導き出すのか?
#その他もろもろ・・・・
で、それが明らかになって、始めて、「じゃあ、VBで作るならどうすればよいか?」
と言う話になります。
原理的な解説を行っているサイトを探してみるのも良いかもしれません。
原理の話なので言語(VB)に囚われる必要はありません。
分かりやすそうなら、C言語だろうがJavaだろうが、何でも良いでしょう。
No.1
- 回答日時:
>自分のためにならないと思うのですが、
>そうなるのを防ぐためにはどうすればよいでしょうか?
自分の為にならないと判っているのだから 自分で考えるよりない
http://www.google.co.jp/search?q=%E9%9B%BB%E5%8D …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 夫婦 1、ジャージの裾あげについて質問です。 私は、ジャージやズボンを買うとき、お店に裾あげをお願いしてい 1 2023/02/06 15:34
- 時計・電卓・電子辞書 電卓 5 2023/08/16 05:38
- 時計・電卓・電子辞書 関数電卓についての質問です 大学で食品について学んでいるのですが 学生実験で関数電卓が必要と言われま 7 2022/10/07 16:47
- 夫婦 昨日旦那と口論になり、旦那にいつも使っていた電卓を壊されてしまいました。旦那はむずかしい計算をしない 5 2023/02/05 21:09
- 会社・職場 電卓やキーボードの音について 5 2022/08/08 15:29
- 書類選考・エントリーシート ガクチカと自己PRです。感想とアドバイスお願いします。 1 2022/09/20 13:34
- 時計・電卓・電子辞書 電卓 2 2023/04/20 21:44
- ビジネス・マネー 三井住友銀行のスマホアプリ、危険性は?? やめたくなって来ました! 1 2023/03/25 08:25
- その他(スポーツ) 高校の部活についてです 今僕はふたつの部活で迷っています 卓球と陸上です なぜ6月に部活の話なんかと 2 2022/06/29 00:14
- 仕事術・業務効率化 頭の切り替えができない 1 2023/03/01 20:50
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
【お題】逆襲の桃太郎
【大喜利】桃太郎が1回鬼退治に失敗したところから始まる新作昔話「リベンジオブ桃太郎」にはこんなシーンがある
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
VBでの簡易電卓の作成(減算方法)で困っています。
Visual Basic(VBA)
-
VB 電卓 メモリー機能
Visual Basic(VBA)
-
visual basic初心者です。 visual studioで電卓を作成しています。 実行時にテ
Visual Basic(VBA)
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Matlabで群遅延特性
-
Accessのクエリの値を変換(代入...
-
経過日数を調べたい
-
Visual Basicで多角形を描くプ...
-
Visual Studio 「AnyCpu」について
-
Designer.vbは直接コードをいじ...
-
C#ソースをCSCファイルにてコン...
-
excel vbaから実行するexe実行...
-
VB.NETで参照設定したDLLの修正...
-
印刷ダイアログを表示させない方法
-
VBAでOutlookを終了させたい Ex...
-
「読み込み違反」が起きたとき...
-
VBAでArrayListを使う為の「msc...
-
Windows PowerShellでC言語を実...
-
印刷要求順番と印刷出力順番が...
-
C#VB、exeに埋め込んだexeの実行
-
VBでUSB制御プログラム作成する...
-
実行ファイル(.exe)が別のPC...
-
意味不明の実行時エラーで困っ...
-
vbaでPDFファイルが印刷されない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
経過日数を調べたい
-
Accessのクエリの値を変換(代入...
-
VB2010で、時刻と時間の計算に...
-
VB2013での時間帯判定で困って...
-
単位計算のアルゴリズム
-
画像を二次元フーリエ変換
-
電卓の作成 VB
-
秒数を入力すると○時間○分○秒と...
-
DateDiff関数の怪!?
-
UTF_16からUTF_8への変換で困っ...
-
Matlabで群遅延特性
-
カラーコード 濃くしたい
-
離散コサイン変換(DCT)について
-
グリッドの使い方について
-
プログラム作成 計算
-
変数の型を変換する方法を教え...
-
Designer.vbは直接コードをいじ...
-
Visual Studio 「AnyCpu」について
-
意味不明の実行時エラーで困っ...
-
vba 時間の引き算 例えば 15:00...
おすすめ情報