• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:基本情報 H8 問15、16について)

基本情報 H8 問15、16について

このQ&Aのポイント
  • 基本情報技術者試験での問15、問16についての質問です。
  • 問15では、ファイルの出力に関する処理についての誤答があります。
  • 問16では、宛先作成モジュールの実行条件についての誤答があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.4

> というふうに、購入金額、抽選券枚数が増え続ける、 > という解釈でよろしいでしょうか? はい,そのとおりです。

noname#173931
質問者

お礼

いつもあやふやなところは確認していただき、 訂正するところは訂正していただいて ありがとうございます。 貴重な時間をさいての回答、ありがとうございました。

その他の回答 (3)

  • makookweb
  • ベストアンサー率16% (175/1032)
回答No.3

>こんにちは、2010年10月の基本情報技術者試験を受験して >午後試験で 50.50点だったものです。 > >趣味でプログラミングをしていて、 > > >Java で以下のサイトを参考にして、同様のゲームを作り、 > >http://www.crew.sfc.keio.ac.jp/~turkey/packman/ > >JavaScript でポーカーを再現するくらいです。 毎回書いてらっしゃいますが、質問の内容と関係ないし、回答にも何の関係も無い。 全く無駄な情報です。

noname#173931
質問者

お礼

意見していただき申し訳ありません 回答していただける方への、参考になればと思っていたのですが・・・ これからは、省略させていただきます。 すいませんでした。

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.2

2つ目の質問, 平成8年度 秋期 第二種 午後 問16。 > 宛先作成モジュールのところで、 > 「売上伝票の終わりまで (1) 」という実行条件だったので、 > 設問のところでは、必要ないのかなと思ってしまいました。 間違っています。喩えて表現するならこんな風でしょうか。 ---------------- 社長(宛先作成)は,部長(主処理)に対して, 「売上伝票ファイルが終わるまで,お前の担当処理を繰り返せ」と指示を出しました。 それを受けて,部長(主処理)は,課長(顧客処理)に対して, 「キ 顧客番号が変わるまで,お前の担当処理を繰り返せ」と指示を出しました。 部長は,自分が社長から受けた「売上伝票が終わるまで」という指示は, 当然の前提条件として課長も分かっているだろうと勘違いしていますが,間違いです。 部長と課長は別人ですから, 部長が社長からどんな指示を受けたかは,きちんと言葉で伝えないと課長は分かりません。 ---------------- > 顧客処理のところで (1) の条件がない場合、 > どのような不具合が生じるのでしょうか? 例えば,売上伝票ファイルが 100レコードあると仮定します。 最初のレコードから順番に処理が進んでいき, 現在,100レコード目の内容が主記憶上の入力レコード保持領域に格納されているとしましょう。 次に,101レコード目を読み込みにいき, レコードが存在しなかったので「売上伝票の終わり」に遭遇したらどうなるか? 一般的にコンピュータは,入力レコード保持領域の内容を変更せず,100レコード目の内容をそのまま残したままで,ただ「入力レコードの終わり」という状態だけを通知します。 よって顧客番号は変わることなく,顧客処理を無限にループし続けることになります。

noname#173931
質問者

お礼

丁寧に解説していただきありがとうございます。 貴重な時間をさいて回答していただきありがとうございます。 問題文の各モジュールの実行条件のところで、 「売上伝票処理」のモジュールは 対象期間外のデータは読み飛ばす、とありました。 もしよければ、無限ループの内容について 教えていただきたいのですが… (1) 最初の100レコードめの、処理が終わった。 (2) 次のレコードを読みにいった。 (3) 「ファイルの終わりまで」の条件が記述されていない (4) 再び100レコードめの、処理に移る (5) 更新していた 購入金額合計、抽選券枚数は     (1)の数値に再び加算される (6) (1)にうつる というふうに、購入金額、抽選券枚数が増え続ける、 という解釈でよろしいでしょうか? 

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.1

1つに解答するだけでけっこう長文になるので,とりあえず,1つ目の質問に関してだけ。 平成8年度 秋期 第二種 午後 問15。 設問1~設問3は質問対象外ということですから,次の事項は理解していらっしゃるということでしょう。 ---------------- 図3における「前月マスタファイル」の様式は次のようであり, 営業所 (a)5月前 (b)4月前 (c)3月前 (d)2月前 (e)1月前 (f)当月分 (g)旧合計 図3処理後の「当月マスタファイル」の様式は次のようである。 営業所 (b)5月前 (c)4月前 (d)3月前 (e)2月前 (f)1月前 (h)当月分 (i)新合計 -------- 前月マスタファイルを入力して当月マスタファイルを出力する処理において, 6か月前のデータ(a)と 旧合計のデータ(g)は捨てられ, (b)~(f)は記録位置が一か月分ずつずらされる。 新たに生み出さねばならないデータは(h)と(i)であり, (h)を求めるための元データは「出力区分"1"」として実績ファイルUからファイルVに出力した。 さらに,(b)~(h)の最新6か月間の新合計である(i)の元データは「出力区分"2"」としてファイルVに出力した。 -------- ステップ3の順位付け処理が済んだ後のファイルX 4000件の並びは, 前半 2000件が「出力区分"1"」のデータ群(すなわち(h)当月分の元データ)で, 後半 2000件が「出力区分"2"」のデータ群(すなわち(i)新合計の元データ)。 それぞれ,20種の評価項目ごとに100営業所分が順位付けされている。 ---------------- さてようやく,ご質問の設問4ですが。 ステップ5において,次のようなレコードを併合(マージ)すれば, 目的の「当月マスタファイル」が得られます。 ---------------- ▼ファイルY  営業所 (h)当月分の20レコード  営業所 (i)新合計の20レコード ↓ ↓ ▼前月マスタファイル ↓  営業所 (b)4月前 (c)3月前 (d)2月前 (e)1月前 (f)当月分 ↓ ↓ +―――――+ |ステップ5| +―――――+  ↓  ▼当月マスタファイル   営業所 (b)~(f) と (h) (i) ---------------- ファイルYを生み出すためのステップ4の整列キーは, 実務ではおそらく「営業所コード,出力区分,評価項目番号」にするでしょう。 この順にきれいに並んでいた方が扱いやすいですから。 ただ,上記の第2整列キー・第3整列キーは その方が扱いやすいというだけで,必須の整列キーではありません。 (h)当月分の評価項目1~20 と (i)新合計の評価項目1~20 の 計40レコードが不規則に並べられていたとしても, 営業所コードというまとまりでグループ化されていれば, ステップ5において前月マスタファイルと併合できますし, 問題文・図2のマスタファイル内の適切な位置にデータをレイアウトできます。 よって,ステップ4の整列キーは「設問4 ア 営業所コード」が正解です。

noname#173931
質問者

お礼

いつも回答していただきありがとうございます。 自分で質問をしておきながら、 自分の質問文がおかしいことに気付きました。 直近の過去6カ月の合計や営業所間の順位も マスタファイルに更新するので、 「出力区分2」のデータは外せないのですね。 いつも、丁寧に解説していただいて、ありがとうございます。

関連するQ&A