HOME»基本情報技術者試験掲示板»旧午後試験平成30年秋期問8設問1のbについて
投稿する

旧午後試験平成30年秋期問8設問1のbについて [5364]

 早坂さん(No.1) 
質問失礼します。
もしpriHigh=10 priLow=1の場合では選択肢エは成り立ちません。
加えてなぜ最小値にする必要があるのですか?
どなたか回答の程よろしくお願いします。
2024.03.23 17:15
chihiroさん(No.2) 
FE プラチナマイスター
https://www.fe-siken.com/bbs/4642.html
上記リンクを参考にしてください。本問については他スレッドでも同様の質問が多数寄せられていますので、検索してみると良いでしょう。

>もしpriHigh=10 priLow=1の場合では選択肢エは成り立ちません。
成り立ちます。なぜ成り立たないと考えられたのかを示していただけると適切な回答ができると思います。
2024.03.23 17:50
 早坂さん(No.3) 
迅速な対応ありがとうございます。
最小値の件は理解することができました。
ですが、もう一つの問題が解決していません。
以下が私の解釈です。
nestは四つの演算子より高くないといけないのでpriHighより高くないといけない。
priHigh 10 - primos 9 + 1 = 2 であればnestは全ての演算子より優先度が低くなってしまいます。
大変申し訳ございませんが、回答してくださるとありがたいです。
よろしくお願いします。
2024.03.23 21:55
chihiroさん(No.4) 
FE プラチナマイスター
>nestは四つの演算子より高くないといけないのでpriHighより高くないといけない。
「nestの値を増減する定数は四つの演算子より~」という意図であれば間違いです。例えばpriHigh=5,priLow=2であれば、
定数≧priHigh-priLow+1=5-2+1=4
で、priHigh=5より小さい値をとり得ます。
>priHigh 10 - primos 9 + 1 = 2
priHigh=10,priLow=1であれば
定数≧priHigh-priLow+1=10-1+1=10  です。
2024.03.23 22:38
jjon-comさん(No.5) 
FE ゴールドマイスター
> nestは四つの演算子より高くないといけないのでpriHighより高くないといけない。

いいえ、間違っています。

chihiroさんが1年以上前の次のスレッドを紹介してくれたので、
https://www.fe-siken.com/bbs/4642.html
の私の発言 No.2 を引用して回答します。

> 計算式文字列を先頭から末尾まで走査していく際、
> 実行前の入れ子(nest)の状態を0メートル地点として、
> ・'+' '-' が現れたら nest+1メートルを優先度とする(この1がpriLow)
> ・'×' '÷' が現れたら nest+2メートルを優先度とする(この2がpriHigh)
> ・'(' が現れたら +10メートル登ってそこを新たなnestとする
> ・')' が現れたら -10メートル降りてそこを新たなnestとする
> を繰り返し、もっとも高い位置にある演算子から順に計算できるようにする問題。

この状況において
「'(' の優先度が '×' '÷'の優先度より高くないといけない」という解釈は間違っています。
「'(' の優先度に '+' '-'の優先度を加算したものが、'×' '÷'の優先度より高くないといけない」が正しいです。

> 私は次のようにイメージして解きました。
> (a) 現在の高さ にいながら、高めの位置の「'×' '÷'」を手を伸ばして置く
> (b) 現在の高さ → '(' で登る → そこで、低めの位置の「'+' '-'」を置く
> この状況で (a)<(b) が成り立つなら、正しい演算順序が保証される。
2024.03.23 23:55
 早坂さん(No.6) 
Chihiroさんとjjon-comさん詳細な説明をいただきありがとうございます。
お二人のおかげで理解することができました。
本当にありがとうございます。
2024.03.24 15:02
返信投稿用フォームスパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop