PowerPoint プレゼンテーション

中置記法(IN) → 後置記法(RPN)による演算処理
tmp
例) 1 + 2 * 3 - 4
↓
123*+4-
1個ずつtmpに取り出す
(stBの中はRPNの逆順)
・ 数字の場合: stAにpush
・ 演算子の場合: 演算処理
d[0]
1
2
3
*
d[1]
+
4
-
stA
stB
中置記法(IN) → 後置記法(RPN)による演算処理
tmp
例) 1 + 2 * 3 - 4
↓
123*+4-
1
d[0]
2
3
*
d[1]
1
+
4
-
stA
stB
中置記法(IN) → 後置記法(RPN)による演算処理
tmp
例) 1 + 2 * 3 - 4
↓
123*+4-
2
d[0]
3
*
d[1]
2
1
+
4
-
stA
stB
中置記法(IN) → 後置記法(RPN)による演算処理
tmp
例) 1 + 2 * 3 - 4
↓
123*+4-
3
d[0]
d[1]
*
3
2
1
+
4
-
stA
stB
中置記法(IN) → 後置記法(RPN)による演算処理
tmp
例) 1 + 2 * 3 - 4
↓
123*+4-
*
2
d[0]
3
d[1]
3
2
1
+
4
-
stA
stB
中置記法(IN) → 後置記法(RPN)による演算処理
tmp
例) 1 + 2 * 3 - 4
↓
16+4-
*
d[0]*d[1]=2*3=6
をstAにpush
2
d[0]
3
d[1]
6
1
+
4
-
stA
stB
中置記法(IN) → 後置記法(RPN)による演算処理
tmp
例) 1 + 2 * 3 - 4
↓
16+4-
+
2
1
d[0]
3
6
d[1]
6
1
4
-
stA
stB
中置記法(IN) → 後置記法(RPN)による演算処理
tmp
例) 1 + 2 * 3 - 4
↓
74-
+
d[0]+d[1]=1+6=7
をstAにpush
1
d[0]
6
d[1]
7
4
-
stA
stB
中置記法(IN) → 後置記法(RPN)による演算処理
tmp
例) 1 + 2 * 3 - 4
↓
74-
4
1
d[0]
6
d[1]
4
7
-
stA
stB
中置記法(IN) → 後置記法(RPN)による演算処理
tmp
例) 1 + 2 * 3 - 4
↓
74-
-
1
7
d[0]
6
4
d[1]
4
7
stA
stB
中置記法(IN) → 後置記法(RPN)による演算処理
tmp
例) 1 + 2 * 3 - 4
↓
3
-
d[0]-d[1]=7-4=3
をstAにpush
7
d[0]
4
d[1]
3
stA
stB