HOME»基本情報技術者試験掲示板»平成28年秋期午後問8
投稿する

平成28年秋期午後問8 [4978]

 っげあはさん(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さん(No.2) 
FE ゴールドマイスター
> 配列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
まーぼさん(No.3) 
FE シルバーマイスター
ケース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日経過したスレッドへの投稿はできません。
© 2010-2024 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop