最近VBを始めた初心者です。いろいろ教えてください。お願いします。最近プログラミングを始めたのですが、今逆ポーランドで電卓を作っているのですが、2--2のような計算ができません。いろいろ参考書等で調べましたが載っていなくて・・・。自力で調べたほうがよいとは思うのですが、WEBにも載っていないので。誰か教えていただけませんか?
http://kats.twinstar.jp/cgi-bin/qanda/msgbrd.cgi?func=res&id=1137570164
逆ポーランド記法で実際に組んだことがありますが
ロジックですから、自分で考えてください。
a+bの計算には次のように記述します。
ab+=
(aとbを足すといくら)
2-2の計算では、それぞれx,yの変数に2が入っているとして
xy-=
(xからyを引くといくら)
ab*c+=
(aとbを掛けて、cを足すといくら)
これをアナライズするように組んでください。
ご解答ありがとうございます.通常の四則演算は出来るように組んだのですが、2--2のように-と-で+になるようなプログラムがいまいちわかりません.よければ教えていただけませんですか?
単純に--なら+になるようにロジックで組むしかないのでは?
演算子-は
・単項-
・減算-
の二種類があります。
それぞれの優先順位を決めれば、
逆ポーランド記法での浮き上がり方が決定されるはずです。
(同様にして、単項+やNotなども定義できるはず)
--------------------
また、どれが単項演算子と成るか?という規則は、
1 式の先頭にある
2 演算子の次にある
3 閉じ括弧の次にある
という場合が考えられます。
解析には、「演算子」のための解析と「優先順位」のための解析するステートマシンが必要になるかと思います。
…がんばってください。
逆ポーランド記法を使う前に、強引にReplace(式, "--", "+")するとか。
('A`)しまった…
> 3 閉じ括弧の次にある
↑これは全然関係ない…(orz
ツイート | ![]() |