基本情報技術者平成28年秋期 午前問20

午前問20

格納アドレスが1〜6の範囲の直接編成ファイルにおいて,次の条件でデータを格納した場合,アドレス1に格納されているデータのキー値はどれか。

〔条件〕
  • キー値が3,4,8,13,14,18の順でデータを格納する。
  • データのキー値を5で割った余りに1を加えた値を格納アドレスにする。
  • 格納アドレスに既にデータがある場合には,次のアドレスに格納する。これを格納できるまで繰り返す。最終アドレスの次は先頭とする。
  • 初期状態では,ファイルは何も格納されていない。

分類

テクノロジ系 » ソフトウェア » ファイルシステム

正解

解説

各キー値から格納アドレスを計算し、データが格納される位置を順番に考えていきます。解説中の図は左からアドレス1,2,…,6とします。

[キー値 3]
3÷5 の余りである3に1を加えたアドレス4に格納されます。
   3  

[キー値 4]
4÷5 の余りである4に1を加えたアドレス5に格納されます。
   34 

[キー値 8]
8÷5 の余りである3に1を加えたアドレス4が格納位置ですが、既にデータが存在するため〔条件〕に従い2つ後の位置に格納されます。
   348

[キー値 13]
13÷5 の余りである3に1を加えたアドレス4が格納位置ですが、既にデータが存在するため3つ後の位置に格納されます。(先頭に戻る)
13  348

[キー値 14]
14÷5 の余りである4に1を加えたアドレス5が格納位置ですが、既にデータが存在するため3つ後の位置に格納されます。(先頭から2つ目)
1314 348

[キー値 18]
18÷5 の余りである3に1を加えたアドレス4が格納位置ですが、既にデータが存在するため残る1つのアドレスに格納されます。
131418348

したがってアドレス1に格納されるデータのキー値は13になります。
© 2010-2020 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop