HOME»基本情報技術者試験掲示板»平成25年春期午後問8
投稿する
»[2728] 平成29年春期午後問13 設問2-d 投稿数:3
»[2727] 午後試験 プログラム言語問題について 投稿数:3
平成25年春期午後問8 [2730]
おきこさん(No.1)
https://www.fe-siken.com/kakomon/25_haru/pm08.html
設問1のdについてお聞きしたいのですが、なぜオの購入[K].ptrではダメなのでしょうか?
設問1のdについてお聞きしたいのですが、なぜオの購入[K].ptrではダメなのでしょうか?
2021.01.26 18:25
関数従属さん(No.2)
★FE ゴールドマイスター
品番の順番になるように特売の品番を挿入して行くことになるのですが、
解説の中にも記載がある通り、以下のループ処理を抜ける際の
Kp、及び、Kの値が重要となります。
------------------------------------------
(K > 0) and (購入[K].品番 < 特売.品番)
・Kp ← K
・K ← 購入[K].ptr
------------------------------------------
ループをぬけた際に図1、図2の例だとそれぞれ以下の値になっています。
購入[Kp].品番 =224 Kp=4 購入[Kp].ptr =5
特売.品番 =229
購入[K].品番 =333 K =5 購入[K].ptr =3
この後特売の品番229を最終行の6行目(「購入行数←購入行数+1」実行後の購入行数)
に挿入しますが、購入[購入行数].品番=229に対する購入[購入行数].ptrは
次の品番333を指す5行目(K=5)を設定することになります。
この時、購入[K].ptrだと値は3になり、品番333が飛んでしまうため間違いとなります。
尚、購入[Kp].ptrは図1、図2の例の場合だと、ループを抜けた時はKと同じ値になっておりますが
その後の購入[Kp].ptr←c(カ:購入行数)にて6に更新されてしまうため間違いとなります。
解説の中にも記載がある通り、以下のループ処理を抜ける際の
Kp、及び、Kの値が重要となります。
------------------------------------------
(K > 0) and (購入[K].品番 < 特売.品番)
・Kp ← K
・K ← 購入[K].ptr
------------------------------------------
ループをぬけた際に図1、図2の例だとそれぞれ以下の値になっています。
購入[Kp].品番 =224 Kp=4 購入[Kp].ptr =5
特売.品番 =229
購入[K].品番 =333 K =5 購入[K].ptr =3
この後特売の品番229を最終行の6行目(「購入行数←購入行数+1」実行後の購入行数)
に挿入しますが、購入[購入行数].品番=229に対する購入[購入行数].ptrは
次の品番333を指す5行目(K=5)を設定することになります。
この時、購入[K].ptrだと値は3になり、品番333が飛んでしまうため間違いとなります。
尚、購入[Kp].ptrは図1、図2の例の場合だと、ループを抜けた時はKと同じ値になっておりますが
その後の購入[Kp].ptr←c(カ:購入行数)にて6に更新されてしまうため間違いとなります。
2021.01.26 22:47
おきこさん(No.3)
とても分かりやすく解説していただきありがとうございます!
昨日1日悩んでましたので凄くスッキリしました!
まだアルゴリズムの学習を始めて間もないのですが春期試験に向けて頑張りたいと思います!
昨日1日悩んでましたので凄くスッキリしました!
まだアルゴリズムの学習を始めて間もないのですが春期試験に向けて頑張りたいと思います!
2021.01.27 14:34
その他のスレッド
»[2729] 助言、ご意見を下さい(午後アルゴリズム問題について 投稿数:19»[2728] 平成29年春期午後問13 設問2-d 投稿数:3
»[2727] 午後試験 プログラム言語問題について 投稿数:3