基本情報技術者試験の過去問と解説
[TOP] [午前分野別] [午後分野別] [キーワード索引] [令和元年秋午前] [令和元年秋午後]

平成17年 春期 基本情報技術者 午後 問02
問02   文字列を置換するプログラム

 次のプログラムの説明及びプログラムを読んで,設問に答えよ。

〔プログラムの説明〕

副プログラム Replace は,文字列を置換するプログラムである。

(1) Replace は,文字列 A を先頭からコピーして文字列 B を作る。 このとき,文字列 A 中に文字列 S と一致する文字列を見つけるたびに, 文字列 D の内容に置き換える。

(2) このプログラムで扱う文字列は,1文字ずつ文字型配列の要素に順に格納されていて, 最後の文字の次に定数 EOS が格納されている。 配列の添字は 0 から始まる。

(3) 文字列 A,S,D は,それぞれ文字型配列 A[ ],S[ ],D[ ] に格納されていて, 文字列 B は文字型配列 B[ ] に格納する。 文字型配列 B[ ] は十分に大きいものとする。

(4) 副プログラムの引数の仕様を表に,実行例を図に示す。

    表 Replace の引数の仕様

引数名 データ型 入力/出力 意味
A[ ]文字型入力対象文字列
S[ ]文字型入力照合文字列
D[ ]文字型入力置換文字列
B[ ]文字型出力結果文字列

 

添字 0 1 2 3 4 5 6 7 8 9
A[ ] “a” “a” “b” “c” “a” “b” “b” EOS   
S[ ] “a” “b” EOS           
D[ ] “A” “B” “C” EOS         
B[ ] “a” “A” “B” “C” “c” “A” “B” “C” “b” EOS

    図 Replace の実行例

〔プログラム〕

設問 プログラム中の に入れる正しい答えを,解答群の中から選べ。

a,d に関する解答群

ア B[Bidx] ← A[Aidx]    イ B[Bidx] ← S[0]

ウ Idx ← 0         エ Idx ← 1

オ Sidx ← 0        カ Sidx ← 1

b,c に関する解答群

ア A[Aidx] ≠ EOS

イ A[Aidx] = S[Sidx]

ウ A[Aidx] ≠ S[Sidx]

エ A[Aidx] ≠ S[Sidx] and S[Sidx] ≠ EOS

オ S[Sidx] = EOS

カ S[Sidx] ≠ EOS

解答 a ←クリックすると正解が表示されます

解答 b ←クリックすると正解が表示されます

解答 c ←クリックすると正解が表示されます

解答 d ←クリックすると正解が表示されます


[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]