Created
September 4, 2014 12:12
-
-
Save hirosof/c6bd1dc84e51fd4ab862 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<<1024バイト以内の数式を入力してください。>> | |
[補足説明:';'→[Enter]入力で数式入力終了、quitでプログラム終了] | |
3^2(6+2) - 2^4(0.5*6+3); | |
<<数式解析(逆ポーランド記法への変換)の詳細のダンプ>> | |
入力(1文字目):3 | |
入力(2文字目):^ | |
出力バッファに実数の3を追加 | |
スタックに演算子の ^ をプッシュ | |
入力(3文字目):2 | |
入力(4文字目):( | |
出力バッファに実数の2を追加 | |
スタックから演算子の ^ をポップ | |
出力バッファに演算子の ^ を追加 | |
スタックに演算子の * をプッシュ | |
スタックに演算子の ( をプッシュ | |
入力(5文字目):6 | |
入力(6文字目):+ | |
出力バッファに実数の6を追加 | |
スタックに演算子の + をプッシュ | |
入力(7文字目):2 | |
入力(8文字目):) | |
出力バッファに実数の2を追加 | |
スタックから演算子の + をポップ | |
出力バッファに演算子の + を追加 | |
スタックから演算子の ( をポップ | |
入力(9文字目):空白文字または改行文字の為スキップ | |
入力(10文字目):- | |
スタックから演算子の * をポップ | |
出力バッファに演算子の * を追加 | |
スタックに演算子の - をプッシュ | |
入力(11文字目):空白文字または改行文字の為スキップ | |
入力(12文字目):2 | |
入力(13文字目):^ | |
出力バッファに実数の2を追加 | |
スタックに演算子の ^ をプッシュ | |
入力(14文字目):4 | |
入力(15文字目):( | |
出力バッファに実数の4を追加 | |
スタックから演算子の ^ をポップ | |
出力バッファに演算子の ^ を追加 | |
スタックに演算子の * をプッシュ | |
スタックに演算子の ( をプッシュ | |
入力(16文字目):0 | |
入力(17文字目):. | |
入力(18文字目):5 | |
入力(19文字目):* | |
出力バッファに実数の0.5を追加 | |
スタックに演算子の * をプッシュ | |
入力(20文字目):6 | |
入力(21文字目):+ | |
出力バッファに実数の6を追加 | |
スタックから演算子の * をポップ | |
出力バッファに演算子の * を追加 | |
スタックに演算子の + をプッシュ | |
入力(22文字目):3 | |
入力(23文字目):) | |
出力バッファに実数の3を追加 | |
スタックから演算子の + をポップ | |
出力バッファに演算子の + を追加 | |
スタックから演算子の ( をポップ | |
スタックから演算子の * をポップ | |
出力バッファに演算子の * を追加 | |
スタックから演算子の - をポップ | |
出力バッファに演算子の - を追加 | |
<<逆ポーランド記法>> | |
3 2 ^ 6 2 + * 2 4 ^ 0.5 6 * 3 + * - | |
<<数式計算(逆ポーランド記法の計算)の詳細のダンプ>> | |
実数の 3 の入力 | |
スタックに 3 をプッシュ(入力) | |
実数の 2 の入力 | |
スタックに 2 をプッシュ(入力) | |
演算子の ^ の入力 | |
スタックから 2 をポップ | |
スタックから 3 をポップ | |
スタックに 9 をプッシュ(3 ^ 2) | |
実数の 6 の入力 | |
スタックに 6 をプッシュ(入力) | |
実数の 2 の入力 | |
スタックに 2 をプッシュ(入力) | |
演算子の + の入力 | |
スタックから 2 をポップ | |
スタックから 6 をポップ | |
スタックに 8 をプッシュ(6 + 2) | |
演算子の * の入力 | |
スタックから 8 をポップ | |
スタックから 9 をポップ | |
スタックに 72 をプッシュ(9 × 8) | |
実数の 2 の入力 | |
スタックに 2 をプッシュ(入力) | |
実数の 4 の入力 | |
スタックに 4 をプッシュ(入力) | |
演算子の ^ の入力 | |
スタックから 4 をポップ | |
スタックから 2 をポップ | |
スタックに 16 をプッシュ(2 ^ 4) | |
実数の 0.5 の入力 | |
スタックに 0.5 をプッシュ(入力) | |
実数の 6 の入力 | |
スタックに 6 をプッシュ(入力) | |
演算子の * の入力 | |
スタックから 6 をポップ | |
スタックから 0.5 をポップ | |
スタックに 3 をプッシュ(0.5 × 6) | |
実数の 3 の入力 | |
スタックに 3 をプッシュ(入力) | |
演算子の + の入力 | |
スタックから 3 をポップ | |
スタックから 3 をポップ | |
スタックに 6 をプッシュ(3 + 3) | |
演算子の * の入力 | |
スタックから 6 をポップ | |
スタックから 16 をポップ | |
スタックに 96 をプッシュ(16 × 6) | |
演算子の - の入力 | |
スタックから 96 をポップ | |
スタックから 72 をポップ | |
スタックに -24 をプッシュ(72 - 96) | |
スタックから -24 をポップしてそれを呼び出し元に戻す | |
<<計算結果>> | |
-24.000000(-2.400000e+001) | |
<<1024バイト以内の数式を入力してください。>> | |
[補足説明:';'→[Enter]入力で数式入力終了、quitでプログラム終了] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment