基本情報技術者試験 |
2014年度 = 平成26年度・春期 |
午前 |
問8 |
長さm 、n の文字列をそれぞれ格納した配列X 、Y がある。図は、配列X に格納した文字列の後ろに、配列Y に格納した文字列を連結したものを、配列Z に格納するアルゴリズムを表す流れ図である。図中のa、bに入れる処理として、適切なものはどれか。ここで、1文字が一つの配列要素に格納されるものとする。
| a | b |
ア | X (k ) → Z (k ) | Y (k ) → Z (m +k ) |
イ | X (k ) → Z (k ) | Y (k ) → Z (n +k ) |
ウ | Y (k ) → Z (k ) | X (k ) → Z (m +k ) |
エ | Y (k ) → Z (k ) | X (k ) → Z (n +k ) |
ア
文字列を連結するアルゴリズムを問う問題です。ここでは、
配列X … 文字列"ABCD"
配列Y … 文字列"123"
を連結するとしましょう。すなわち、m の値は4で、n の値は3です。
まず、ループ1では、下図に示すように配列X (1)~X (4)をZ (1)~Z (4)にそのままコピーします。
すなわち、kを1からm まで増やしながら、X (k)をZ (k)に代入します。
次に、ループ2では、下図に示すように配列Y (1)~Y (3)をZ (5)~Z (7)にコピーします。
すなわち、kを1からn まで増やしながら、Y (k)をZ (m +k)に代入します。