アカウント名:
パスワード:
これは履歴の表示機能のバグでしょ?
普通の電卓で 2,+,2,*,3,= ってやったら(2+2)*3 で演算されるし。
勝手にかっこをつけるか、演算ごとに式を分けて表示する仕様にするべき。
ユーザの[入力履歴]という解釈なら現行が『ただしい』と思います。
実存する"電卓"のエミュレータなんだから、現状の動作が正しい。(100円ショップで買ってきた電卓と、ほぼ同じ動作をしてくれないと、爺婆に説明する時、面倒ですし)
# つ~か、元記事の人達はリアル電卓を使わないのでせうか?
普通のシンプルな物理電卓に慣れている層だと、括弧キーが無いし、入力履歴としては今の表示でも問題なさそうですよね。物理電卓を触った事が無い層が増えてこうなってきたのかなぁ。# 必要なら、M+/M-,MR/MCとかで優先順位を考慮するとか、# 1+2==5とか、1+2+==6とかイコールキーは単に数式の結果を出すのでは無く、計算実行命令なのも電卓の特徴
1,+,= って入力すると1 + 1 = 2なんて履歴が出るので入力履歴とも違って、計算した電卓上の式の履歴っぽい。=で履歴を作るんじゃなくて元コメの「演算ごとに式を分けて表示」すれば、= 21 + 1ってなって、数式としては理解しにくくなるけど入力と電卓の動きを再現した履歴になるんじゃないかな。
>演算ごとに式を分けて表示する仕様にするべき。直すならこっちかなー括弧を付ければ式として正しくなるかもしれないけど見づらいし実態として毎回結果を出してるわけだからその通りに見せればいいと思う
いまや100円(税別)で買える電卓との互換性を取れば、勝手に括弧を付けるほうかな関数電卓は別に実装されているわけだし
演算子の優先順位を考えて計算させるとなると、字句解析など、ちょっとしたコンパイラの機能を実装することになるが、そんなことまで電卓に実装させるなよeval一発でできるようなものじゃないんだぞ
初~中級プログラマだと演算順位まで考慮した電卓を実装するのは結構難しい(と思う)
履歴照会のリストには最終的な答えだけか最後の計算部分以降だけ表示してキーパッド部分辺りを切り替えて縦型の筆算表示にでもすればいいのにね
[ 2 ][ +2 (=4) ][ *3 = 12 ]
みたいな表示でもいいと思うが。或いは単に[2, +2, *3]みたいな入力中心の表示にしちゃうか。中間結果も出しててそれを演算対象に利用してるのに、それを表示してないのが誤解の原因では。
それ以前に、普通の電卓に履歴表示はないし。
なまじ、履歴が出るからかえっておかしなことになってるだけでしょ、これ。
インドでは計算履歴(検算)機能が欠かせなかったりするのだ、これが。
http://bizmakoto.jp/makoto/articles/1410/16/news044_2.html [bizmakoto.jp]>インドでは店舗のレジスターが普及しておらず、レジ代わりに電卓を使うことが多いのだ。:>こういったときに活躍するのが、「検算機能」(製品名の「CHECK CALCURATOR」はここから来ている)。:>日本の電卓だと一部の製品にしか搭載されていない機能だが、インドの電卓ではこれが必須。>客に「金額をごまかしているのではないか」と文句を言われた時にさかのぼって数字を見せたり、>売り上げの計算をしたときに文字通り検算に使ったり……という使い方が一般的だという。>>これだけニーズが強い検算機能に目をつけたカシオは、MJ-120Dを「検算できるステップ数が業界最多」だと売り出した。>多くても99ステップが主流だったところに、150ステップ戻れる機能を搭載したのである。
wwwwww
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
身近な人の偉大さは半減する -- あるアレゲ人
履歴の表示機能側のバグ (スコア:2)
これは履歴の表示機能のバグでしょ?
普通の電卓で 2,+,2,*,3,= ってやったら(2+2)*3 で演算されるし。
勝手にかっこをつけるか、演算ごとに式を分けて表示する仕様にするべき。
マクロの基本は検索置換(by y.mikome)
Re:履歴の表示機能側のバグ (スコア:2)
ユーザの[入力履歴]という解釈なら現行が『ただしい』と思います。
実存する"電卓"のエミュレータなんだから、現状の動作が正しい。
(100円ショップで買ってきた電卓と、ほぼ同じ動作をしてくれないと、爺婆に説明する時、面倒ですし)
# つ~か、元記事の人達はリアル電卓を使わないのでせうか?
notice : I ignore an anonymous contribution.
Re: (スコア:0)
普通のシンプルな物理電卓に慣れている層だと、括弧キーが無いし、入力履歴としては今の表示でも問題なさそうですよね。
物理電卓を触った事が無い層が増えてこうなってきたのかなぁ。
# 必要なら、M+/M-,MR/MCとかで優先順位を考慮するとか、
# 1+2==5とか、1+2+==6とかイコールキーは単に数式の結果を出すのでは無く、計算実行命令なのも電卓の特徴
Re: (スコア:0)
1,+,= って入力すると
1 + 1 =
2
なんて履歴が出るので入力履歴とも違って、計算した電卓上の式の履歴っぽい。
=で履歴を作るんじゃなくて元コメの「演算ごとに式を分けて表示」すれば、
=
2
1 +
1
ってなって、数式としては理解しにくくなるけど入力と電卓の動きを再現した
履歴になるんじゃないかな。
Re: (スコア:0)
>演算ごとに式を分けて表示する仕様にするべき。
直すならこっちかなー
括弧を付ければ式として正しくなるかもしれないけど見づらいし
実態として毎回結果を出してるわけだからその通りに見せればいいと思う
Re: (スコア:0)
いまや100円(税別)で買える電卓との互換性を取れば、勝手に括弧を付けるほうかな
関数電卓は別に実装されているわけだし
演算子の優先順位を考えて計算させるとなると、字句解析など、ちょっとしたコンパイラの機能を実装することになるが、
そんなことまで電卓に実装させるなよ
eval一発でできるようなものじゃないんだぞ
初~中級プログラマだと演算順位まで考慮した電卓を実装するのは結構難しい(と思う)
Re: (スコア:0)
履歴照会のリストには最終的な答えだけか最後の計算部分以降だけ表示して
キーパッド部分辺りを切り替えて縦型の筆算表示にでもすればいいのにね
Re: (スコア:0)
[ 2 ]
[ +2 (=4) ]
[ *3 = 12 ]
みたいな表示でもいいと思うが。
或いは単に
[2, +2, *3]
みたいな入力中心の表示にしちゃうか。
中間結果も出しててそれを演算対象に利用してるのに、それを表示してないのが誤解の原因では。
Re: (スコア:0)
それ以前に、普通の電卓に履歴表示はないし。
なまじ、履歴が出るからかえっておかしなことになってるだけでしょ、これ。
Re:履歴の表示機能側のバグ (スコア:1)
インドでは計算履歴(検算)機能が欠かせなかったりするのだ、これが。
http://bizmakoto.jp/makoto/articles/1410/16/news044_2.html [bizmakoto.jp]
>インドでは店舗のレジスターが普及しておらず、レジ代わりに電卓を使うことが多いのだ。
:
>こういったときに活躍するのが、「検算機能」(製品名の「CHECK CALCURATOR」はここから来ている)。
:
>日本の電卓だと一部の製品にしか搭載されていない機能だが、インドの電卓ではこれが必須。
>客に「金額をごまかしているのではないか」と文句を言われた時にさかのぼって数字を見せたり、
>売り上げの計算をしたときに文字通り検算に使ったり……という使い方が一般的だという。
>
>これだけニーズが強い検算機能に目をつけたカシオは、MJ-120Dを「検算できるステップ数が業界最多」だと売り出した。
>多くても99ステップが主流だったところに、150ステップ戻れる機能を搭載したのである。
Re:履歴の表示機能側のバグ (スコア:1)
Re: (スコア:0)
wwwwww