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

平成16年 秋期 基本情報技術者 午後 問05
問05   プログラム設計

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

ある小売業者は,本社と 30 の支店からなっている。 毎日各支店から本社に次に示すレコード様式の各商品の売上実績ファイルが送付される。

売上実績ファイルのレコード様式

年月日 支店コード 商品コード 販売数量 売上金額

本社でまとめられた売上実績ファイルは,支店コード別,商品コード別で昇順に整列されている。 扱う商品の種類の総数は 8,000 種類であり,各支店で取扱いのない商品及び売上げがない商品も 売上金額が 0 として記録されている。 各支店では平均
6,000 種類の商品が取り扱われている。

本社では,売上実績ファイルから支店別の売上実績表を作成しており,全支店での売上金額の多い順に 50 商品を選び,それらの商品が各支店では何番目の売上げであったかを, 全支店での順位とともに図1に示すように印字する。 売上金額が等しい商品には,商品コードの昇順に順位を付ける。

なお,この問題において整列処理は安定であるとする。

支店コード 0023   
商品コード 商品名称 支店データ 全支店データ
順位 販売数量 売上金額 順位 販売数量 売上金額
002411 芳香剤    298    8   3,360    1 3,112  1,307,040
002245 シャンプー    14    68  20,264    50 1,472   438,656

       図1 全支店での売上順位を基にした売上実績表

支店別の売上実績表を作成する方法について,図2に示す処理の流れ図を作成した。

〔売上上位 50 商品の抽出〕

商品コードをキーとして売上実績ファイルを整列する。 商品コードごとの販売数量の合計と売上金額の合計とを計算し, 売上金額の多い順に上位 50 商品を F ファイルに出力する。

〔支店ごとの順位付け〕

支店コード,売上金額(降順)をキーとして売上実績ファイルを整列する。 支店ごとに売上金額の多い順に支店データの順位を付け,G ファイルに出力する。

〔全支店データと支店別データの照合〕

全支店データ( F ファイル)をメモリに格納した後,支店別データ( G ファイル)と照合して, 1レコードに編集した次の様式の H ファイルを作成する。

H ファイルのレコード様式

支店コード 商品コード 支店データ 全支店データ
順位 販売数量 売上金額 順位 販売数量 売上金額

〔支店別売上実績表の作成〕

支店コード,全支店データの順位をキーとして H ファイルを整列する。 商品名称表示のために商品マスタファイルを参照しながら,支店別に売上実績表を印字する。

    図2 全支店での売上順位を基にした売上実績表の作成処理

基本情報技術者試験


設問1 次の記述中の に入れる正しい答えを, 解答群の中から選べ。

図 2 の処理で,F ファイルとして必要最小限の項目をもつレコード様式は
である。 また,H ファイルのレコード件数は 件である。

a に関する解答群

年月日 支店コード 商品コード 販売数量 売上金額
年月日 販売数量合計 売上金額合計
支店コード 商品コード 販売数量合計 売上金額合計
支店コード 販売数量合計 売上金額合計
商品コード 販売数量合計 売上金額合計

b に関する解答群

ア 1,500      イ 6,000     ウ 8,000     エ 40,000

オ 180,000    カ 240,000    キ 320,000    ク 400,000

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

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

基本情報技術者試験


設問2 次の記述中の に入れる正しい答えを, 解答群の中から選べ。

各支店で売上金額の多い順に 50 商品を選び,それらの商品が全支店では何位の売上げであったかを, 支店データの順位とともに図3に示すように印字する。

なお,売上金額が等しい商品は,商品コードの昇順に順位を付ける。

支店コード 0023  
商品コード  商品名称   支店データ 全支店データ
順位 販売数量 売上金額 順位 販売数量 売上金額
001203  石けん    1   314  30,772  523    510  49,980
010204 歯ブラシ   50   221  15,028  238  1,477  100,436

    図3 支店ごとの売上順位を基にした売上実績表

この売上実績表を作成するために,図4に示す処理の流れ図を作成した。

〔売上合計の計算〕

商品コードをキーとして売上実績ファイルを整列する。 商品コードごとの販売数量の合計と売上金額の合計とを計算し,全件を L ファイルに出力する。

〔ステップ 1〕

 L ファイルを に整列し, 全支店順位を付けて,全件を L1 ファイルに出力する。

〔ステップ 2〕

 L1 ファイルを に整列し, L2 ファイルを作成する。

〔売上上位商品の抽出〕

 支店コード,売上金額(降順)をキーとして売上実績ファイルを整列する。 支店ごとに商品の売上金額による順位を付け,売上実績表の作成に必要な 件だけを M ファイルに出力する。

〔商品コードで整列〕

 M ファイルを商品コードの昇順に整列し,M1 ファイルを作成する。

〔全支店データと支店別データの照合〕

 L2 ファイル(全支店データ)と M1 ファイル(支店別データ)を照合して,N ファイルを作成する。

〔支店別売上実績表の作成〕

 支店コード,その支店データの順位をキーとして N ファイルを整列する。 商品名称表示のために商品マスタファイルを参照しながら,支店別に売上実績表を印字する。

    図4 支店ごとの売上順位を基にした売上実績表の作成処理

c,d に関する解答群

ア 売上金額の昇順         イ 売上金額の降順 

ウ 商品コードの昇順        エ 商品コードの降順

オ 全支店データの順位の昇順    カ 全支店データの順位の降順

e に関する解答群

ア 1,500     イ 6,000     ウ 8,000     エ 40,000

オ 180,000    カ 240,000    キ 320,000    ク 400,000

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

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

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


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