問題
社員表(氏名、年齢、住所、標準給与月額)のデータが配列に格納されている。このデータの操作に関する記述として、最も不適切なものはどれか。
選択肢
- 1社員表のデータは一次元の配列では処理できないので、二次元の配列を利用する。
- 2社員表の中の1つの項目、例えば年齢を対象に並べ替えを行うと、最初に入力したデータ順に戻せなくなる場合がある。
- 3データ検索を二分探索法で行いたい場合は、検索対象の項目をキーとしてあらかじめ並べ替える必要がある。
- 4配列において、社員表のデータの他に項目ごとにリスト構造を設け、画面に表示させる際にリスト構造を利用して並び順を変えて表示させれば、元のデータの順番を変えなくても済む。
正解
1. 社員表のデータは一次元の配列では処理できないので、二次元の配列を利用する。
詳しい解説を見る解説を閉じる
解説
本問は「最も不適切」を選ぶ問題。社員1人分のレコード(氏名・年齢・住所・標準給与月額)を文字列としてまとめてしまえば、社員表全体を文字列の一次元配列として表現することは可能であり、構造体配列としても一次元で扱える。「一次元では処理できない」と断定しているアが不適切で、正解はア。 イ:年齢順に並べ替えた後、元の入力順を識別する別キー(行番号等)を保持していなければ元の順番に戻せない場合があるため適切。 ウ:二分探索(バイナリサーチ)はキー順に整列済みの配列に対してのみ正しく動作するため、事前ソートが必要という記述は適切。 エ:データ本体の物理順を保持したまま、論理順をリスト構造(インデックス/ポインタ)で管理して任意の順序で表示する手法は一般的で適切。(出典: 一般社団法人 中小企業診断協会 平成21年度 中小企業診断士1次試験 経営情報システム 第5問)
中小企業診断士トップ
一問一答・予想問題・まとめノート