基本情報技術者試験 2001年度 = 平成13年度・秋期 午前 問14

 長さm、nの文字列を格納した配列X、Yがある。図は、長さmの文字列の後ろに長さnの文字列を連結したものを配列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トップページへ