基本情報技術者過去問題 平成25年春期 午後問8 設問2

問題文は他のサイトを別ウインドウで開いてご覧ください。

設問2

設問2では特売商品を上書きする処理をトレースしなければならないので、特売商品を含んだ大域変数が必要なのですが、そちらもなぜか問題文の中に表が用意されています。これは出題者がわざと用意しているのか、はたまた偶然なのか真偽はわからないのですが(たぶん前者ですが)、問題を作っている人がものすごく頭がいいのは確かだと思います。

では購入行数が 6 ある表を利用してトレースしていきます。

Kp Kp品番 K K品番 特売品番
0 2 111 229
2 111 1 222
1 222 4 224
4 224 6 229

「購入[6]の品番」と「特売の品番」が同じですので、「検索部」で得た「特売の数量」が 0 より大きい場合は、末尾に追加されたプログラムの上の処理を行います。

「購入[6]の数量」を「特売の数量」で上書きします。
「購入[6]の金額」を「特売の単価×特売の数量」で上書きします。

「検索部」で得た「特売の数量」が 0 の場合は追加されたプログラムの下の処理を行います。

「購入[4]のptr」に「購入[6]のptr」すなわち 5 をいれます。
「購入[6]」はデータには残っているのですが、参照されないようにしてしまうのです。

設問の答え
空欄「g」は「ウ」です。


ホームに戻るボタン↓