ネタ元 → 電卓アプリの状態遷移図 
オブジェクト指向してない電卓のつくりかた
アクアさんとこにあった状態遷移図を表にするとこーなる↓
電卓基本動作の状態遷移表
|  | 初期状態 | 数値入力状態 | 数式作成状態 | 計算結果表示状態 | 
| 数字入力 | なにかする →数値入力状態
 | なにかする →数値入力状態
 | なにかする →数値入力状態
 | なにかする →数値入力状態
 | 
| 演算子入力 | なにかする →初期状態
 | なにかする →数式作成状態
 | なにかする →数式作成状態
 | なにかする →数式作成状態
 | 
| '='入力 | なにかする →初期状態
 | なにかする →計算結果表示状態
 | なにかする →計算結果表示状態
 | なにかする →計算結果表示状態
 | 
| 'C'入力 | なにかする →初期状態
 | なにかする →初期状態
 | なにかする →初期状態
 | なにかする →初期状態
 | 
読み方はわかるよね、たとえば左上隅のマスは:
「初期状態で数字入力されたらなにかして数値入力状態に遷移せよ」ってことね。
つまり、状態遷移は
(状態、事象、動作、遷移) の集合です。
もっといえば、「なんかする」と「次の状態」を要素とする
二次元配列 状態遷移表[状態数][事象数] で表現できます。
試験にでるよー でねーよ
各マスの「なんかする」をテケトーに実装し、
状態を初期状態にセットして準備完了。
あとはボタンが押されるたんびに:
 事象 = ボタンに割り当てられたデキゴト;
 状態遷移表[状態][事象].なんかする();
 状態 = 状態遷移表[状態][事象].次の状態;
↑これを繰り返せば電卓なんかあっちゅーまに動きますぶっちゃけ。
あとはほんのちょっとのヒマと「いぢわるスタヂオ2005」と
しょっきんぐぴんくまを用意すれば電卓祭りの神輿が担げます。
お祭りワショーイ