平成25年春期午後問8 2つ目のCについて

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
ABCさん  
(No.1)
https://www.fe-siken.com/kakomon/25_haru/pm08.html

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起点に代入することになります。
2020.09.18 15:12

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop