基本情報技術者試験 基本情報技術者試験 平成26年度 春期 午前 午前 問8: 長さ m, n の文字列をそれぞれ格納した配列 X, Y がある。図は,配列 X に格納した文字列の後ろに,配列 Y に格納した文字列を連結したものを,配列 Z

基本情報技術者試験 平成26年度 春期 午前
Q 88 / 80
長さ m, n の文字列をそれぞれ格納した配列 X, Y がある。図は,配列 X に格納した文字列の後ろに,配列 Y に格納した文字列を連結したものを,配列 Z に格納するアルゴリズムを表す流れ図である。図中の a, b に入れる処理として,適切なものはどれか。ここで,1文字が一つの配列要素に格納されるものとする。
配列X,Yを連結して配列Zに格納するアルゴリズムの流れ図。ループ1で k:1,1,m を反復し処理a、続いてループ2で k:1,1,n を反復し処理b。
この問の正解率:54.53%(1,005件)

解説

基本情報技術者試験 平成26年度 春期 午前 問8「長さ m, n の文字列をそれぞれ格納した配列 X, Y がある。図は,配列 X…」の正解と解説です。基本情報技術者試験の「アルゴリズム」分野の過去問で、これまでの受験者の正答率は約55%です。

正解

. a: X(k)→Z(k) b: Y(k)→Z(m+k)

正答率 54.5%(1,005人中 548人が正解)

問題の解説

Z には先に X を、続けて Y を入れます。先のループ1(k=1..m)で X(k) を Z(k) に格納し、次のループ2(k=1..n)で Y(k) を Z(m+k) に格納すれば、Z は X の後ろに Y が連結された形になります。

選択肢ごとの解説

  • a=X(k)→Z(k)、b=Y(k)→Z(m+k) で、まずXをZ先頭にコピー、次にYをXの末尾(m文字目)の直後から続けて格納でき正しい連結です。
  • b の添字が Z(n+k) では Y が Y自身の長さ分ずれた位置に書かれ、X の末尾の直後にならず不正です。
  • 先にYをZ(k)に入れているのでZの先頭がY、後がXとなり、XとYの順序が逆で要件に反します。
  • aもbも添字や対象が誤っているため不正です。

基本情報技術者試験 平成26年度 春期 午前 の過去問一覧に戻る・問8

基本情報技術者試験 の iOS アプリ版

アプリ版なら、よりスムーズに動作し、
スワイプで問題遷移ができます。

基本情報技術者試験 合格.dev を App Store でダウンロード