基本情報技術者試験の過去問と解説
[TOP] [午前分野別] [午後分野別] [キーワード索引] [令和元年秋午前] [令和元年秋午後]

平成20年 秋期 基本情報技術者 午後 問05
問05   楽曲ダウンロードシステム

 プログラム設計に関する次の記述を読んで,設問1〜3に答えよ。

 C社では,ディジタル化した楽曲を会員がダウンロードできる楽曲ダウンロードシステム(以下, システムという)を提供している。

〔システムの概要〕

(1) 楽曲の情報は,楽曲番号をキーとして楽曲管理ファイルに記録される。楽曲番号は, それぞれの楽曲データに割り当てられる一意な番号である。楽曲管理ファイルのレコード様式を図1に示す。

楽曲番号  曲名  演奏者名  演奏時間   制作会社  ジャンル  楽曲データの
  大きさ 
 楽曲データの
  格納場所

下線はキー項目を表す。

      図1 楽曲管理ファイルのレコード様式

(2) 会員の情報は,それぞれの会員に一意になるように割り当てた会員番号をキーとして, 会員ファイルに記録される。会員ファイルには,会員番号とともに,暗号化したパスワード, 氏名,入会日が記録される。会員ファイルのレコード様式を図2に示す。

会員番号  暗号化したパスワード  氏名  入会日

 下線はキー項目を表す。

      図2 会員ファイルのレコード様式

(3) 会員は,システムにログインするために会員番号とパスワードを入力する。

(4) システムは,(3) で入力された会員番号をキーとして会員ファイルを検索し, 会員番号が一致したレコードの暗号化したパスワードを取り出す。暗号化したパスワードと, 入力されたパスワードを暗号化した結果が一致した場合は,ログインを許可し, 楽曲検索を表示する。一致しない場合は,ログイン不許可のメッセージを表示して終了する。

(5) 楽曲検索画面には,曲名からジャンルまでの楽曲管理ファイルの項目(以下,検索項目という)が 表示される。ログインした会員は,楽曲の検索条件として,一つ以上の検索項目に対する 検索内容を入力する。複数の検索条件が指定されたときは,入力されたすべての 条件を AND で接続した条件による検索が行われる。検索が不要の場合は,ログアウトを選択する。

(6) システムは,(5) で入力された検索内容を基に,楽曲管理ファイルを検索する。 条件に一致したすべてのレコードを抽出し,楽曲番号,曲名,演奏者名を楽曲選択画面に表示する。 条件に一致するレコードがない場合は,楽曲検索画面にその旨のメッセージを表示する。

(7) (6) で表示された楽曲選択画面で会員が曲名を一つ選択すると,その楽曲のダウンロードが すぐに始まる。再検索を選択すると,楽曲検索画面に戻る。

(8) ダウンロードが完了したらダウンロードした日時をダウンロード実績ファイルに格納し, ダウンロード完了のメッセージを表示して (5) に戻る。ダウンロード実績ファイルのレコード様式を図3に示す。

 会員番号  ダウンロード日付  ダウンロード時刻  楽曲番号

 下線はキー項目を表す。

      図3 ダウンロード実績ファイルのレコード様式

(9) システムの画面遷移を図4に,モジュール構造を図5に示す。

      図4 システム画面遷移


      図5 システムのモジュール構造

設問1 会員が1日にダウンロードできる楽曲の件数を,システムで定めた許可件数以下に 制限する機能を追加する。次に示すログインした会員の当日のダウンロード件数を 求める手順に関する記述中の に入れる正しい答えを, 解答群の中から選べ。

 現在日付をシステムから取り出す。次にログインした会員の と現在日付の 二つをキーとしてダウンロード実績ファイルを検索し,レコードの件数を数える。 ログイン後ダウンロード実行前までに日付が変わった場合,新しい日付でダウンロード件数を 求める必要がある。したがって,このダウンロード件数を求めるモジュールは, モジュールの直前に実行する必要がある。

a に関する解答群

ア 会員番号        イ 楽曲データの大きさ      ウ 楽曲番号

エ ダウンロード日付    オ 入会日            カ パスワード

b に関する解答群

ア 会員ファイルの検索      イ 楽曲管理ファイルの検索

ウ 楽曲検索画面の表示      エ 楽曲選択画面の表示

オ 楽曲のダウンロード

解答 a ←クリックすると正解が表示されます

解答 b ←クリックすると正解が表示されます

基本情報技術者試験


設問2  楽曲選択画面の表示項目として,その会員が既にダウンロードしたことのある 楽曲については,最後のダウンロード日付を追加する。 次の記述中の に入れる正しい答えを,解答群の中から選べ。

 会員の入力した検索内容で楽曲管理ファイルを検索し,条件に一致するすべて レコードを抽出する。抽出したレコードの楽曲番号が,その会員が既にダウンロード済の 楽曲のものであるかどうかは,ダウンロード実績ファイルを で 検索すれば判明する。 このダウンロード実績ファイルに対する検索では,楽曲管理ファイルから 抽出した1件のレコードに対して,その会員のダウンロード実績の件数は である。

c に関する解答群

ア 会員番号

イ 会員番号と楽曲番号

ウ 会員番号と楽曲番号とダウンロード日付

エ 会員番号とダウンロード日付

オ 楽曲番号

力 楽曲番号とダウンロード日付

キ ダウンロード日付

d に関する解答群

ア 0件        イ 0件以上        ウ 0件又は1件

エ 1件        オ 2件以上

解答 c ←クリックすると正解が表示されます

解答 d ←クリックすると正解が表示されます

基本情報技術者試験


設問3  入会直後の会員のダウンロード状況を把握するために,全会員の入会後1週間に おけるジャンル別のダウンロード件数表を作成することにした。ジャンル別ダウンロード件数表の 例を図6に示す。また,ジャンル別ダウンロード件数表の作成の流れを図7に, 各処理の説明を表に示す。表中の に入れる正しい答えを, 解答群の中から選べ。

 なお,ジャンル別ダウンロード件数表には,図6のようにジャンル別のダウンロード件数と その楽曲数が表示されるものとする。

      図6 ジャンル別ダウンロード件数表の例

      図7 ジャンル別ダウンロード件数表の作成の流れ

      表 各処理の説明

 処理    種類             内容 
 処理1  突合せ ファイル X とファイル Y のレコードを,会員番号をキーとして突き合わせる。 キーが一致した場合,ダウンロード日付がその会員の入会後1週間以内のとき, ファイル X とファイル Y のレコードから必要な項目の値を取り出し,それらを出力する。 この処理をすべての会員に対して実施する。
 処理2  整列  処理1の結果を読み込み,楽曲番号をキーとして並べ替えて出力する。
 処理3  集計  処理2の結果を読み込み,同一の楽曲番号のレコードの件数を集計し,楽曲番号と そのレコードの集計件数を中間ファイルに出力する。
 処理4  突合せ  と中間ファイルのレコードを,楽曲番号をキーとして突き合わせる。 キーが一致した場合,読み込んだ と中間ファイルのレコード から必要な項目の値を取り出し,それらを出力する。この処理をすべての楽曲に対して実施する。
 処理5  整列  処理4の結果を読み込み, をキーとして並べ替えて出力する。
 処理6  集計  処理5の結果を読み込み,ジャンルごとにレコードの件数を集計して楽曲数を求める。 処理3で出力した集計件数を集計してダウンロード件数を求める。ジャンルと ダウンロード件数と楽曲数を出力する。
 処理7  作表  処理6の結果を読み込み,ジャンル別ダウンロード件数表を出力する。

e に関する解答群

ア 会員ファイル       イ 楽曲管理ファイル

ウ ダウンロード実績ファイル

f に関する解答群 ア 会員番号        イ 楽曲データの大きさ      ウ 楽曲番号

エ ジャンル        オ ダウンロード件数

解答 e ←クリックすると正解が表示されます

解答 f ←クリックすると正解が表示されます


[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]