• 締切済み

基本情報の問題について教えてください

基本情報の問題を解いていたのですが、よく分からないものが出てきました。 http://xn--n9q36mh1hnxuksz7wt.jp/FE23a-pm/t05.html 上記のサイトの、設問2の答えが「オ」になる意味が分かりません。 解答:応募券枚数←応募券枚数+作業ファイルレコードの購入個数 なぜ応募券枚数に作業ファイルレコードの購入個数を足したものを入れるのでしょうか。 作業ファイルレコードの購入個数=応募枚数ではないのですか? この解答では応募券枚数の2倍の数が入ってしまうのではないですか? よろしくお願いします。

みんなの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

応募券枚数がどう変化するか、に注目して、前後の処理をよく見てください。 「応募券枚数」は、何についての「応募券枚数」なのか、も考えてみましょう 作業ファイルの購入個数は、一種類の商品を購入する毎に1レコードになっています。 求めようとしている「応募券枚数」は「売上伝票1つに対する応募券の枚数」では無いはずです

362696
質問者

お礼

ご回答ありがとうございました。

  • denbee
  • ベストアンサー率28% (192/671)
回答No.1

あまり自信がありませんが…。 フローチャートに「繰り返し1」「繰り返し2」とあります。 おそらく顧客処理の「繰り返し2」は作業ファイルを1レコードづつ確認するループのことで、 顧客ごとの応募券の枚数を順次インクリメントするイメージなのではないでしょうか? 例えば、「繰り返し2」が表2のテストデータの4レコード目の処理に入った場合、 既に顧客番号002のデータが3レコード目に存在していますので、 4レコード目で割り出した応募券の枚数を、3レコード目までに抽出した値にインクリメントして、 累積の応募券の枚数を割り出すことになります。 上記の考え方が正しかった場合に質問者様の考えを適用しますと、 複数の同じ顧客番号(例えば002)が存在した場合、一番最後のレコードで割り出した応募券の枚数しか 設定されません。 つまり、日を変えて何回かに分けて買い物をした場合でも、一番最新の日付の分の買い物金額でしか 応募券が算定されなくなります。

362696
質問者

お礼

ご回答ありがとうございました。 なるほど、インクリメントされていっているのですね。 これに気づいていなかったようです。 まだまだ問題を見て判断するのは時間がかかります。 ありがとうございます。

関連するQ&A