基本情報技術者試験 2014年度 = 平成26年度・春期 午前 問8

 長さm n の文字列をそれぞれ格納した配列X Y がある。図は、配列X に格納した文字列の後ろに、配列Y に格納した文字列を連結したものを、配列Z に格納するアルゴリズムを表す流れ図である。図中のa、bに入れる処理として、適切なものはどれか。ここで、1文字が一つの配列要素に格納されるものとする。



 ア  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)に代入します。


BohYoh.comトップページへ