2--2のような計算をするには?


肪渾キ  2006-01-19 02:00:13  No: 129646

最近VBを始めた初心者です。いろいろ教えてください。お願いします。最近プログラミングを始めたのですが、今逆ポーランドで電卓を作っているのですが、2--2のような計算ができません。いろいろ参考書等で調べましたが載っていなくて・・・。自力で調べたほうがよいとは思うのですが、WEBにも載っていないので。誰か教えていただけませんか?


まるち  2006-01-19 02:07:36  No: 129647

http://kats.twinstar.jp/cgi-bin/qanda/msgbrd.cgi?func=res&id=1137570164


J  2006-01-19 08:38:41  No: 129648

逆ポーランド記法で実際に組んだことがありますが
ロジックですから、自分で考えてください。

a+bの計算には次のように記述します。

ab+=
(aとbを足すといくら)

2-2の計算では、それぞれx,yの変数に2が入っているとして

xy-=
(xからyを引くといくら)

ab*c+=
(aとbを掛けて、cを足すといくら)

これをアナライズするように組んでください。


hide  2006-01-20 10:23:24  No: 129649

ご解答ありがとうございます.通常の四則演算は出来るように組んだのですが、2--2のように-と-で+になるようなプログラムがいまいちわかりません.よければ教えていただけませんですか?


ぶぶ  2006-01-20 18:13:48  No: 129650

単純に--なら+になるようにロジックで組むしかないのでは?


ガッ  2006-01-20 19:54:25  No: 129651

演算子-は
・単項-
・減算-
の二種類があります。
それぞれの優先順位を決めれば、
逆ポーランド記法での浮き上がり方が決定されるはずです。
(同様にして、単項+やNotなども定義できるはず)

--------------------
また、どれが単項演算子と成るか?という規則は、
1  式の先頭にある
2  演算子の次にある
3  閉じ括弧の次にある
という場合が考えられます。
解析には、「演算子」のための解析と「優先順位」のための解析するステートマシンが必要になるかと思います。
…がんばってください。


LESIA  2006-01-20 23:34:55  No: 129652

逆ポーランド記法を使う前に、強引にReplace(式, "--", "+")するとか。


ガッ  2006-01-21 02:35:23  No: 129653

('A`)しまった…
> 3  閉じ括弧の次にある
↑これは全然関係ない…(orz


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加