過去問解きまくり研究所 ホーム

平成27年度 春期 午前 問7

アルゴリズム

スタックに関する問題

プログラムの実行に関する次の記述の下線部 a〜d のうち,いずれかに誤りがある。誤りの箇所と正しい字句の適切な組合せはどれか。

自分自身を呼び出すことができるプログラムは,a 再帰的 であるという。このようなプログラムを実行するときは,b スタック に局所変数,c 仮引数 及び戻り番地を格納して呼び出し,復帰するときは d FIFO(First In First Out) 方式で格納したデータを取り出して復元する必要がある。

誤りの箇所正しい字句
アa再入可能
イb待ち行列
ウc実引数
エdLIFO(Last In First Out)
答えと解説を見る

✓ これが正解エd LIFO(Last In First Out)

解説

スタックは後に入れたものから先に取り出します。

設問は、四か所ある下線部のうち一か所だけが誤っているとして、その場所と正しい字句の組合せを選ばせています。ですから、四か所を一つずつ真偽で当てていくのが早道です。自分自身を呼び出せるという性質を再帰的と呼ぶのは合っています。呼出しのたびに積み、復帰のたびに降ろす入れ物がスタックであることも合っています。呼ばれた側が受け取る名前を仮引数と呼ぶのも合っています。残る一か所、取り出す方式を述べたところだけが誤りです。ある関数が自分を三回呼んだとすると、積む順は一回目、二回目、三回目で、戻る順はその逆の三回目、二回目、一回目になります。つまり、後に入れたものを先に出す LIFO の方式です。先に入れたものを先に出す方式では、呼出しの入れ子が壊れてしまいます。よって、誤りは取り出す方式の箇所で、正しい字句は後入れ先出しの方式になります。

ほかの選択肢はなぜ違うのか

出典:平成27年度 春期 応用情報技術者試験 午前 問7

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)