東方算程譚

Oriental Code Talk ── επιστημηが与太をこく、弾幕とは無縁のシロモノ。

目次

Blog 利用状況

ニュース

著作とお薦めの品々は

著作とお薦めの品々は
東方熱帯林へ。

あわせて読みたい

わんくま

  1. 東京勉強会#2
    C++/CLI カクテル・レシピ
  2. 東京勉強会#3
    template vs. generics
  3. 大阪勉強会#6
    C++むかしばなし
  4. 東京勉強会#7
    C++むかしばなし
  5. 東京勉強会#8
    STL/CLRによるGeneric Programming
  6. TechEd 2007 @YOKOHAMA
    C++・C++/CLI・C# 適材適所
  7. 東京勉強会#14
    Making of BOF
  8. 東京勉強会#15
    状態遷移
  9. 名古屋勉強会#2
    WinUnit - お気楽お手軽UnitTest

CodeZine

  1. Cで実現する「ぷちオブジェクト指向」
  2. CUnitによるテスト駆動開発
  3. SQLiteで組み込みDB体験(2007年版)
  4. C++/CLIによるCライブラリの.NET化
  5. C# 1.1からC# 3.0まで~言語仕様の進化
  6. BoostでC++0xのライブラリ「TR1」を先取りしよう (1)
  7. BoostでC++0xのライブラリ「TR1」を先取りしよう (2)
  8. BoostでC++0xのライブラリ「TR1」を先取りしよう (3)
  9. BoostでC++0xのライブラリ「TR1」を先取りしよう (4)
  10. BoostでC++0xのライブラリ「TR1」を先取りしよう (5)
  11. C/C++に対応した、もうひとつのUnitTestFramework ─ WinUnit
  12. SQLiteで"おこづかいちょう"
  13. STL/CLRツアーガイド
  14. マージ・ソート : 巨大データのソート法
  15. ヒープソートのアルゴリズム
  16. C++0xの新機能「ラムダ式」を次期Visual Studioでいち早く試す
  17. .NETでマンデルブロ集合を描く
  18. .NETでマンデルブロ集合を描く(後日談)
  19. C++/CLI : とある文字列の相互変換(コンバージョン)
  20. インテルTBBによる選択ソートの高速化
  21. インテルTBB3.0 によるパイプライン処理
  22. Visual C++ 2010に追加されたSTLアルゴリズム
  23. Visual C++ 2010に追加されたSTLコンテナ「forward_list」
  24. shared_ptrによるObserverパターンの実装
  25. .NETでマンデルブロ集合を描く(番外編) ── OpenCLで超並列コンピューティング
  26. StateパターンでCSVを読む
  27. 状態遷移表からStateパターンを自動生成する
  28. 「ソートも、サーチも、あるんだよ」~標準C++ライブラリにみるアルゴリズムの面白さ
  29. インテルTBBの同期メカニズム
  30. なぜsetを使っちゃいけないの?
  31. WPFアプリケーションで腕試し ~C++でもWPFアプリを
  32. C++11 : スレッド・ライブラリひとめぐり
  33. Google製のC++ Unit Test Framework「Google Test」を使ってみる
  34. メールでデータベースを更新するココロミ
  35. Visitorパターンで遊んでみたよ
  36. Collection 2題:「WPFにバインドできる辞書」と「重複を許す検索set」
  37. Visual C++ 2012:stateless-lambdaとSQLiteのぷち拡張
  38. 「Visual C++ Compiler November 2012 CTP」で追加された6つの新機能

@IT

  1. Vista時代のVisual C++の流儀(前編)Vista到来。既存C/C++資産の.NET化を始めよう!
  2. Vista時代のVisual C++の流儀(中編)MFCから.NETへの実践的移行計画
  3. Vista時代のVisual C++の流儀(後編) STL/CLRによるDocument/Viewアーキテクチャ
  4. C++開発者のための単体テスト入門 第1回 C++開発者の皆さん。テスト、ちゃんとしていますか?
  5. C++開発者のための単体テスト入門 第2回 C++アプリケーションの効率的なテスト手法(CppUnit編)
  6. C++開発者のための単体テスト入門 第3回 C++アプリケーションの効率的なテスト手法(NUnit編)

AWARDS


Microsoft MVP
for Visual Developer - Visual C++


Wankuma MVP
for いぢわる C++


Nyantora MVP
for こくまろ中国茶

Xbox

Links

記事カテゴリ

書庫

日記カテゴリ

まぢめにやるとマンドクセー

電卓はややこしいわよ。

1+2= の = を押したとこで計算して表示。
連続計算対応なら
1+2-3= の - を押したとこで計算して表示。
演算子の優先順位を考慮するなら
1+2*3= の * を押したとこで計算して表示しちゃダメ
カッコを許すとさらに複雑。
思いつくまま実装してると破綻しそう。
状態遷移図描くのが結局近道なんじゃねーかな。

要求仕様無視して逆ポーランド選んだ僕は勝ち組(おほほのほ)♪

投稿日時 : 2007年7月4日 11:29

コメントを追加

# re: まぢめにやるとマンドクセー 2007/07/04 11:53 2リットル

1 + 2 * 3 を逆ポーランドに変換するような便利なものがどっかに落ちてますように(-人-)

カッコは再帰かしら?

# re: まぢめにやるとマンドクセー 2007/07/04 12:11 なか-chan@最愛のiMac

> 1+2*3= の * を押したとこで計算して表示しちゃダメ

ここまでなら、3で表示してもいいのでは?
=が押された時点で再度評価すれば...
そうしないと、エスパー並みの予測能力が
必要になると思われます。

# re: まぢめにやるとマンドクセー 2007/07/04 12:29 επιστημη

>> 1+2*3= の * を押したとこで計算して表示しちゃダメ
> ここまでなら、3で表示してもいいのでは?

えー? ユーザーさんびっくりしない?

# re: まぢめにやるとマンドクセー 2007/07/04 12:50 囚人

> 1+2*3= の * を押したとこで計算して表示しちゃダメ
今まで生きてて全く気がつきませんでしたが、普通の電卓ってこんな動きなんですね。

私も
>ここまでなら、3で表示してもいいのでは?
って思ってました。

# re: まぢめにやるとマンドクセー 2007/07/04 12:51 囚人

>今まで生きてて全く気がつきませんでしたが、普通の電卓ってこんな動きなんですね。

普通のつーか、Windows の電卓

# re: まぢめにやるとマンドクセー 2007/07/04 13:14 επιστημη

> 1 + 2 * 3 を逆ポーランドに変換するような便利なもの...

キー入力通りに計算式をずらずらーと表示して、
= 押したとたんに変換/計算/表示すんだったらいいんですけど、
演算子の優先順位を考慮しながらその場計算させるんは
かなりホネだとおもうなー。

# re: まぢめにやるとマンドクセー 2007/07/04 13:19 なか-chan@最愛のiMac

え!Windowsの電卓ってこれが出来てたんですね...
知らなかった...
普通の電卓なら、答えは9ですよね??

# re: まぢめにやるとマンドクセー 2007/07/04 13:42 じゃんぬねっと

うちの新人に最初にやらせるのは電卓。
なぜならステートの状態を絡めたロジックを考えさせることができるからです。

# re: まぢめにやるとマンドクセー 2007/07/04 13:46 恣意の

(´・ω・`)・・・オヤ?

式を逆ポーランド記法に変換するアルゴリズムを
リアルタイムでやれば良いんじゃないのかと思ってたんだが駄目なの?

・逆ポーランド記法への変換2
http://www.gg.e-mansion.com/~kkatoh/program/novel2/novel208.html

このフローチャートを改変するだけで済むかと思っていたんだが・・・

# re: まぢめにやるとマンドクセー 2007/07/04 13:49 επιστημη

そそそ、それそれ > 恣意タン
そのフローチャートをイベント駆動つかState-patternに置き換えることになるなりよー

# re: まぢめにやるとマンドクセー 2007/07/04 14:16 επιστημη

> 普通の電卓なら、答えは9ですよね??

へぃ。演算子の優先順位? なにそれおいしいの? なら。

# re: まぢめにやるとマンドクセー 2007/07/04 15:41 通り*

Windowsの電卓は、普通の電卓モードだと9、関数電卓モードだと7ですね。

# re: まぢめにやるとマンドクセー 2007/07/04 16:28 片桐

1+2*4
普通の電卓は演算子入力が計算実行処理のトリガってことだから1入力→+入力→2入力→*入力で1+2実行→4入力→何かの演算子入力で3*4実行、かぁ……

関数電卓は、「=」が計算実行処理トリガってことだから実はらくちん?……自分で作っておいて、そういやそうかと納得してみたり(笑)

# re: まぢめにやるとマンドクセー 2007/07/04 16:40 ぽぴ王子

> うちの新人に最初にやらせるのは電卓。
> なぜならステートの状態を絡めたロジックを考えさせることができるからです。

言いたいことを全部じゃんぬさんに言われてしまった orz
なぜなら彼もまた特別な存在だからです(ヴェルタースオリジナル)。

# re: まぢめにやるとマンドクセー 2007/07/04 17:07 Chuki

電卓を新人にやらせるのか。どこも同じなのかな。

いろいろなものが出来上がってきて見ていて楽しいっす。

# re: まぢめにやるとマンドクセー 2007/07/04 18:50 なか-chan@最愛のiMac

>電卓モードだと9、関数電卓モードだと7

みたいですね~~!!びっくり。
関数電卓って、みんなこうなっていたんでしょうか?
もう何十年もつかってないので(^^;;;

# re: まぢめにやるとマンドクセー 2007/07/04 20:10 RUN

今回の祭りは、関数電卓はNGだった気が・・・
でも、仕様決定の段では、関数電卓な機能がリストアップされてるしな~

# re: まぢめにやるとマンドクセー 2007/07/04 21:59 黒龍

ilするにあたって逆ポだったらそのまんまスタックに積んできゃ終わりだったんですが出遅れたのでやれず・・・。フットワークも軽くないとなぁ。

# 『 The 祭り 』電卓アプリケーションをつくろう! 記事一覧 2007/07/08 11:21 AQUA's .NET 奮闘記

『 The 祭り 』電卓アプリケーションをつくろう! 記事一覧

# Have you ever thought about adding a little bit more than just your articles? I mean, what you say is important and all. However imagine if you added some great graphics or videos to give your posts more, "pop"! Your content is excellent but wit 2021/07/12 14:43 Have you ever thought about adding a little bit mo

Have you ever thought about adding a little bit more than just your articles?
I mean, what you say is important and all. However imagine if you added some great graphics or videos to give your posts more, "pop"!
Your content is excellent but with pics and clips, this blog could definitely be one
of the very best in its niche. Awesome blog!

タイトル
名前
URL
コメント