問題プレビューID: efab29c4

問 7

要素番号が 0 から始まる配列 TANGO がある。nn 個の単語が TANGO[1] から TANGO[nn] に入っている。図は,nn 番目の単語を TANGO[1] に移動するために,TANGO[1] から TANGO[n−1n-1] の単語を順に一つずつ後ろにずらして単語表を再構成する流れ図である。a に入れる処理として,適切なものはどれか。

(注) ループにおける条件は,変数名:初期値,増分,終値を示す。

解説

配列 TANGO の要素番号は 0 から始まり,単語は TANGO[1]〜TANGO[n] に入っている。n 番目の単語を TANGO[1] に移動し,TANGO[1]〜TANGO[n-1] の単語を一つずつ後ろにずらす。

まず TANGO[n] → TANGO[0] で n 番目の単語を一時的に TANGO[0] に退避する。次にループで ii を n−1n-1 から 0 まで 1 ずつ減らしながら,TANGO[i] の内容を TANGO[i+1] に移動する。これにより TANGO[n-1] が TANGO[n] へ,…,TANGO[0] が TANGO[1] へと移り,退避した n 番目の単語が TANGO[1] に収まる。したがって a は TANGO[i] → TANGO[i+1] であり,正解は「ア」である。