HOME»基本情報技術者試験掲示板»平成22年春
投稿する
平成22年春 [1736]
またたかなさん(No.1)
A=1,B=3,C=5,D=4,E=2 のとき,逆ポーランド表記法で表現された式 AB+CDE/-* の演算結果はどれか。
この問題の最後の部分である43*=12となるのがわかりません。
解説お願いします。
この問題の最後の部分である43*=12となるのがわかりません。
解説お願いします。
2019.04.16 23:23
枕営業男さん(No.2)
43*は文字、文字、演算子の並びですよね?
それを、文字、演算子、文字に直して計算しているからです。
それを、文字、演算子、文字に直して計算しているからです。
2019.04.16 23:42
れさん(No.3)
スタックですね。
手前から順にスタックに積んでいって、演算子が出てきたら、演算子の直前の二つを取り出して演算してスタックに戻します。
1.ABと積む
2.+が来るのでAとBを取り出してA+Bをスタックに戻す
3.CDEと積む
4.÷がくるのでDEを取り出してD÷Eをスタックに戻す
5.-がくるのでCとD÷Eを取り出してC-(D÷E)をスタックに戻す
6.×が来るので(A+B)と(C-(D÷E))を取り出して(A+B)×(C-(D÷E))をスタックに戻す
本当は多分、この後に=がきますよね?なので6の内容を計算して、4×3=12になります。
手前から順にスタックに積んでいって、演算子が出てきたら、演算子の直前の二つを取り出して演算してスタックに戻します。
1.ABと積む
2.+が来るのでAとBを取り出してA+Bをスタックに戻す
3.CDEと積む
4.÷がくるのでDEを取り出してD÷Eをスタックに戻す
5.-がくるのでCとD÷Eを取り出してC-(D÷E)をスタックに戻す
6.×が来るので(A+B)と(C-(D÷E))を取り出して(A+B)×(C-(D÷E))をスタックに戻す
本当は多分、この後に=がきますよね?なので6の内容を計算して、4×3=12になります。
2019.04.16 23:50
午後試験から逃亡さん(No.4)
A=1,B=3,C=5,D=4,E=2
//ABCDEに数字を当てはめる
AB+CDE/-* ⇒ 13+542/-*
//演算子(+, /, -, *)の左に数字がある部分から計算する。 ← 今は決まりごととして覚えて。
[AB+] C [DE/] -*
①AB+ = 13+
②DE/ = 42/
//逆ポーランド表記法を日本語にすると「◯と△を××する。」 ← 今は決まりごととして覚えて。
①13+ = 1と3を足し算する。 = 4
②42/ = 4と2を割り算する。 = 2
//上記結果をもとの式に当てはめる。
[AB+]C[DE/]-* = 4C2-*
//もう一度、演算子(-, *)の左に数字がある部分から計算する。
4 [C2-] *
①C2- = 52-
//逆ポーランド表記法を日本語にすると「◯と△を××する。」
①52- = 5と2を引き算する。 = 3
//上記結果をもとの式に当てはめる。
4[C2-]* = 43*
//更に、演算子(*)の左に数字がある部分から計算する。
[43*]
//逆ポーランド表記法を日本語にすると「◯と△を××する。」 ← 質問者が求めるもの。
43* = 4と3を掛け算する。 = 12
//ABCDEに数字を当てはめる
AB+CDE/-* ⇒ 13+542/-*
//演算子(+, /, -, *)の左に数字がある部分から計算する。 ← 今は決まりごととして覚えて。
[AB+] C [DE/] -*
①AB+ = 13+
②DE/ = 42/
//逆ポーランド表記法を日本語にすると「◯と△を××する。」 ← 今は決まりごととして覚えて。
①13+ = 1と3を足し算する。 = 4
②42/ = 4と2を割り算する。 = 2
//上記結果をもとの式に当てはめる。
[AB+]C[DE/]-* = 4C2-*
//もう一度、演算子(-, *)の左に数字がある部分から計算する。
4 [C2-] *
①C2- = 52-
//逆ポーランド表記法を日本語にすると「◯と△を××する。」
①52- = 5と2を引き算する。 = 3
//上記結果をもとの式に当てはめる。
4[C2-]* = 43*
//更に、演算子(*)の左に数字がある部分から計算する。
[43*]
//逆ポーランド表記法を日本語にすると「◯と△を××する。」 ← 質問者が求めるもの。
43* = 4と3を掛け算する。 = 12
2019.04.16 23:52