平成28年秋期午後問8

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
っげあはさん  
(No.1)
https://www.fe-siken.com/kakomon/28_aki/pm08.html

この問題の設問3のfって
配列pattern[]が
"******■#"とかだったら、
ケース5、7以外にもケース3も、数値の後に続く文字をfill文字で置き換えられるのではと思ったのですが、間違ってますかね?
2023.07.27 22:08
jjon-comさん 
FE ゴールドマイスター
(No.2)
> 配列pattern[]が"******■#"とかだったら

の場合、リンク先でも解説されているとおり、
ゲース3 5 7 はいずれも signif←off を実行しますから、
次回のループではケース8が適用されて"#"はfill文字に置き換えられます。

この点だけしか見ないならば、
> ケース3も、数値の後に続く文字をfill文字で置き換えられる
というのは別に間違ってはいません。

しかし。

表2のケース3を擬似言語っぽく表記するとこうなります。

if (Pattern[p]="■" and signif=off and Value[v]="0" and Value[v+1]="+") {
    Pattern[p]←fill
    signif←off
}

上記よりケース3は、Pattern[p]に格納されている"■"をfill文字に置き換える処理、であることが分かります。

別の言い方をするならば、"#"をfill文字に置き換える処理、ではありません。
2023.07.28 00:18
まーぼさん 
FE シルバーマイスター
(No.3)
ケース3は数値が0、ケース5は数値が0ではない正の1桁の数字、ケース7は数値が正の2桁以上の数字で、Value[v]が数字で一番小さい位でValue[v+1]が”+”のときに適用されるのだと思います。

数値が0のときにケース3で、数字の次に数字以外の文字が来るようなパターンだとその数字以外の文字はfill文字に置き換えられると思いますが、問題には数値が正のときとあるのでケース3は除かれてケース5,7になると思います。
2023.07.28 01:43
っげあはさん  
(No.4)
jjon-comさん、まーぼさんお二方とも丁寧に教えていただきありがとうございました。
2023.07.28 12:36

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。

その他のスレッド


Pagetop