ソフトⅡコース担当 ブログのおにーさまこと高橋です。
夏休みも後半に入っていますが、楽しんでいますか?たまには勉強のことも思い出しましょう。ということで、今日は平成25年度春期基本情報技術者試験午後問8解説です。問題はIPAのサイトをご覧ください。
設問1
図2をもとに、処理の流れを図示したものが次の図です。
問題のプログラムの説明(4)①より、検索部では、対象中の品番が購入の中にあれば、その数量を対象の該当レコードに格納します。(2)③より、ptrを用いて品番の昇順に購入を辿ることができます。また(3)②より、対象は品番の昇順に格納されています。従って、昇順にマッチングが行えます。
購入と対象の品番を比較して、
- 等しい場合は購入の数量を対象の数量に格納した後、その品番は処理済みなので両方を次のレコードに進めます。
- 購入の品番の方が小さい時、昇順に並んでいることからその購入の品番は対象の中にないので、購入を次のレコードに進めます(ptrを辿る)
- 対象の品番の方が小さい時、昇順に並んでいることからその対象の品番は購入の中にないので、対象を次のレコードに進めます
空欄aにはウ、空欄bにはオが入ります。
値引きになるかどうかは、特売対象の商品の数量の合計によってきまるので、計算部では対象の数量の合計を求めます。その後、(4)②に書いてあるように、その合計を指定数量で割って特売の数量に格納します。
更新部では、特売の数量が0より大きい場合に、特売のレコードを購入に挿入して値引きを行います。最初の繰り返しで、最初の特売の品番より大きな品番のレコードの位置をKに、その1つ前すなわち最後の特売の品番より小さな品番のレコードの位置をKpに求めています。KpとKの間に特売のレコードの位置(購入行数+1)が格納されるようにptrを設定します。空欄cにはカ、空欄dにはアが入ります。
設問2
特売レコードの扱いは表1にあるように次の4パターンあります。
- 購入に特売レコードがあり今回数量が0になった(処理①)ということは、値引きがなくなったということなので削除します。
- 購入に特売レコードがあり今回数量が0より多い(処理②)ということは、数量が変わっている可能性があるので更新します。
- 購入に特売レコードがなく今回も数量が0(処理③)ということは、値引きがないままなので何もしません。
- 購入に特売レコードがなく今回数量が0より多い(処理④)ということは、新たに値引きが発生したということなので追加します。
従って、空欄eはイ、空欄fはアになります。空欄gは削除処理の部分なので、ウが入ります。
2013年(平成25年度)春期の解説
- 平成25年度 春 基本情報技術者試験 【問13】(その2)
- 平成25年度 春 基本情報技術者試験 【問13】(その1)
- 平成25年度 春 基本情報技術者試験 【問9】
- 平成25年度 春 基本情報技術者試験 【問11】
- 平成25年度 春 基本情報技術者試験 【問8】
- 平成25年度 春 基本情報技術者試験 【問12】(その2)
- 平成25年度 春 基本情報技術者試験 【問12】(その1)
- 平成25年度 春 基本情報技術者試験 【問7】(その2)
- 平成25年度 春 基本情報技術者試験 【問7】(その1)
- 平成25年度 春 基本情報技術者試験 【問6】
- 平成25年度 春 基本情報技術者試験 【問5】
- 平成25年度 春 基本情報技術者試験 【問4】
- 平成25年度 春 基本情報技術者試験 【問3】
- 平成25年度 春 基本情報技術者試験 【問2】
- 平成25年度 春 基本情報技術者試験 【問1】
- Date:
- この記事を
友だちに教える - LINE
- - HatenaBookmark
- GooglePlus