HOME»基本情報技術者試験掲示板»平成28年春期午後問8(設問1)
投稿する
平成28年春期午後問8(設問1) [3336]
理解したい!さん(No.1)
設問1の□Cについて教えてください。
最後列のメモだけの削除は出来ないプログラムですか?
例えば、MemoCnt=4の時、
Memo[3]を削除しようとすると、
deleteMemo(3)
「・i ← pos +1」 から i が4になり
ループの条件式「i < MemoCnt」が成り立たなくて
いきなりループを抜けてしまうと思うのですが、どうなのでしょう。
初歩的な質問で申し訳ないのですが、どうか教えてください。
よろしくお願いいたします。
最後列のメモだけの削除は出来ないプログラムですか?
例えば、MemoCnt=4の時、
Memo[3]を削除しようとすると、
deleteMemo(3)
「・i ← pos +1」 から i が4になり
ループの条件式「i < MemoCnt」が成り立たなくて
いきなりループを抜けてしまうと思うのですが、どうなのでしょう。
初歩的な質問で申し訳ないのですが、どうか教えてください。
よろしくお願いいたします。
2021.05.24 21:38
関数従属さん(No.2)
★FE ゴールドマイスター
最後列のメモの削除も可能なプログラムとなっております。
但し、
の部分は合っております。
図3からdeleteMemo(3)をする場合、
Memo[]は
Memo[0] :0
Memo[1] :5
Memo[2] :10
Memo[3] :14
のままで、MemoCntが4から3に減ります。
MemoCntがポイントでMemoCntが3になるとMemo[3]が参照されなくなります。
図でいう灰色の扱いとなります。
例えばその後、addMemoをするとMemo[3]が上書きされます。
※尚、最後列以外のメモの削除時も同様です。
図4でのMemo[3]は灰色ですが、Memo[3] :14の値が参照はされませんが残っております。
但し、
> deleteMemo(3)
> 「・i ← pos +1」 から i が4になり
>ループの条件式「i < MemoCnt」が成り立たなくて
>いきなりループを抜けてしまう
の部分は合っております。
図3からdeleteMemo(3)をする場合、
Memo[]は
Memo[0] :0
Memo[1] :5
Memo[2] :10
Memo[3] :14
のままで、MemoCntが4から3に減ります。
MemoCntがポイントでMemoCntが3になるとMemo[3]が参照されなくなります。
図でいう灰色の扱いとなります。
例えばその後、addMemoをするとMemo[3]が上書きされます。
※尚、最後列以外のメモの削除時も同様です。
図4でのMemo[3]は灰色ですが、Memo[3] :14の値が参照はされませんが残っております。
2021.05.24 23:54
理解したい!さん(No.3)
関数従属さま
ご丁寧にありがとうございます。
削除といっても「参照されない」がポイントなのですね!
「灰色の扱い」と設題の用語を使ってくださりとても分かりやすかったです。
ありがとうございました!
ご丁寧にありがとうございます。
削除といっても「参照されない」がポイントなのですね!
「灰色の扱い」と設題の用語を使ってくださりとても分かりやすかったです。
ありがとうございました!
2021.05.25 22:04