HOME»基本情報技術者試験掲示板»平成25年春期午後問8 2つ目のCについて
投稿する
平成25年春期午後問8 2つ目のCについて [2484]
ABCさん(No.1)
https://www.fe-siken.com/kakomon/25_haru/pm08.html
1つ目のcに購入行数が入ることは理解できたのですが、2つ目のcでなぜptr起点に購入行数が入るのかが理解できません。
解説は以下のようになっておりますが、Kpが0の時は特売の品番のほうが大きいということになりますので、Kpに購入行数を、特売レコードのptrに0をセットするのではないのでしょうか?
1つ目のcに購入行数が入ることは理解できたのですが、2つ目のcでなぜptr起点に購入行数が入るのかが理解できません。
解説は以下のようになっておりますが、Kpが0の時は特売の品番のほうが大きいということになりますので、Kpに購入行数を、特売レコードのptrに0をセットするのではないのでしょうか?
>Kp が0であるときは購入レコードの中に 特売.品番 よりも大きな品番を持つレコードが存在しなかったということですから、prt起点 に特売のレコードを参照するためのポインタ、すなわち「購入行数」を設定することになります。
2020.09.18 08:08
たなかさん(No.2)
特売の品番が購入[]の中で一番小さい場合に
更新処理部のループの条件(下記↓)
(K > 0) and (購入[K].品番 < 特売.品番)
のループの一回目の購入[K].品番には、特売レコードが挿入される前時点での
最小の品番が格納されていて、特売のレコードがその品番を下回る場合は
ループ条件を一度も満たすことなく終了し、Kpが0から更新されずループ処理が終了します。
そして、特売.数量 > 0のif文判定処理に進み、Kp > 0のif文判定処理をする際に
Kpが0の場合は、特売.品番が一番小さい品番の場合になるので
特売のレコードが格納されている購入行数目の値を
ptr起点に代入することになります。
更新処理部のループの条件(下記↓)
(K > 0) and (購入[K].品番 < 特売.品番)
のループの一回目の購入[K].品番には、特売レコードが挿入される前時点での
最小の品番が格納されていて、特売のレコードがその品番を下回る場合は
ループ条件を一度も満たすことなく終了し、Kpが0から更新されずループ処理が終了します。
そして、特売.数量 > 0のif文判定処理に進み、Kp > 0のif文判定処理をする際に
Kpが0の場合は、特売.品番が一番小さい品番の場合になるので
特売のレコードが格納されている購入行数目の値を
ptr起点に代入することになります。
2020.09.18 15:12