基本情報技術者試験 過去問解説
に入れる処理とは?基本情報技術者試験 平成26年度 春期 午前 問8を解説
基本情報技術者試験 平成26年度 春期 午前 問8は、に入れる処理に関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。
問題文
長さ m, n の文字列をそれぞれ格納した配列 X, Y がある。図は,配列 X に格納した文字列の後ろに,配列 Y に格納した文字列を連結したものを,配列 Z に格納するアルゴリズムを表す流れ図である。図中の a, b に入れる処理として,適切なものはどれか。ここで,1文字が一つの配列要素に格納されるものとする。

この問題の出題ポイント
- に入れる処理の定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
- アルゴリズム分野では、用語の目的・主体・責任範囲の違いが選択肢で問われやすい。
選択肢
- アa: X(k)→Z(k) b: Y(k)→Z(m+k)正解
- イa: X(k)→Z(k) b: Y(k)→Z(n+k)
- ウa: Y(k)→Z(k) b: X(k)→Z(m+k)
- エa: Y(k)→Z(k) b: X(k)→Z(n+k)
正解
ア: a: X(k)→Z(k) b: Y(k)→Z(m+k)
解説
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年度 春期 午前 の関連する問題
復習を続ける
間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。