アカウント名:
パスワード:
昔、遊びで、Kylixを使って逆ポーランド記法の電卓ソフトを作ったことがあります。
逆ポーランド記法って、日本語と相性が良いんですよね。
(1+2)*(3+4)/5
1 に 2 を足した(+)ものに、3 に 4 を足した(+)ものを、掛けて(*)、5 で割る(/)
逆ポーランド記法で書くとこうなります。↓
1 2 + 3 4 + * 5 /
これを、普通の関数型言語で書くとこんな感じ。↓
div(mult(add(1,2),add(3,4)),5)
ポーランド記法で書くとこうなります。↓
/ * + 1 2 + 3 4 5
1分調べた限りではわからなかったので、恥を忍んで伺いますが、逆ポーランド記法で、12+3と1+23ってそれぞれどう書くのですか?
入力する時はENTER必須じゃしねえ。12 ENTER 3 +1 ENTER 23 +
HP電卓ユーザーでも、書くのは邪道だから書き方ってあんまし深く考えないと思う。
逆ポーランド記法には、区切り記号が必須です。親コメントにあるようにスペースで区切ったり、子コメントにあるようにコンマで区切ったり。スペースを区切り記号とすると、それぞれ12 3 +1 23 +コンマを区切り記号とすると12,3,+1,23,+
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー
逆ポーランド電卓しか使えない体になってしまった。 (スコア:2)
ええ、すまほにはHP48エミュレータが入ってますとも。
現物はしばらく前に発売されてたHP35。
Re: (スコア:0)
昔、遊びで、Kylixを使って逆ポーランド記法の電卓ソフトを作ったことがあります。
逆ポーランド記法って、日本語と相性が良いんですよね。
(1+2)*(3+4)/5
1 に 2 を足した(+)ものに、3 に 4 を足した(+)ものを、掛けて(*)、5 で割る(/)
逆ポーランド記法で書くとこうなります。↓
1 2 + 3 4 + * 5 /
これを、普通の関数型言語で書くとこんな感じ。↓
div(mult(add(1,2),add(3,4)),5)
ポーランド記法で書くとこうなります。↓
/ * + 1 2 + 3 4 5
Re:逆ポーランド電卓しか使えない体になってしまった。 (スコア:1)
1分調べた限りではわからなかったので、恥を忍んで伺いますが、逆ポーランド記法で、12+3と1+23ってそれぞれどう書くのですか?
Re:逆ポーランド電卓しか使えない体になってしまった。 (スコア:3)
私もやってみてわかりましたが、コンマで区切るらしいです。
あと、Macの電卓に逆ポーランドモードがあったんで試してみましたが、
電卓的には=の代わりにエンターがあり、エンターで入力数値を確定、演算子で計算実行、という感じ。
と理解したのだけどあってるのだろうか。
Re: (スコア:0)
入力する時はENTER必須じゃしねえ。
12 ENTER 3 +
1 ENTER 23 +
HP電卓ユーザーでも、書くのは邪道だから書き方ってあんまし深く考えないと思う。
Re: (スコア:0)
逆ポーランド記法には、区切り記号が必須です。
親コメントにあるようにスペースで区切ったり、子コメントにあるようにコンマで区切ったり。
スペースを区切り記号とすると、それぞれ
12 3 +
1 23 +
コンマを区切り記号とすると
12,3,+
1,23,+