平成29年度 春期 午前 問7
ソフトウェア
プログラムの特性に関する記述のうち,適切なものはどれか。
- ア再帰的プログラムは,手続の中でそれ自体を呼び出すプログラムであり,再入可能である。
- イ再使用可能プログラムは,一度実行したプログラムを主記憶装置上にロードし直さずに再度実行できるプログラムであり,再入可能である。
- ウ再入可能プログラムは,複数のタスクから同時に呼び出されたときに,並列に実行できるプログラムであるが,再配置可能ではない。
- エ再配置可能プログラムは,主記憶装置上のどの領域にロードされても実行可能なプログラムであるが,再使用可能ではない。
答えと解説を見る
✓ これが正解ア再帰的プログラムは,手続の中でそれ自体を呼び出すプログラムであり,再入可能である。
解説
自分を呼ぶ手続は同時に呼ばれても正しく動きます。
設問は、プログラムの特性について正しく述べたものを選ばせています。四つの記述はどれも前半の定義が正しく、後半に付け足された一句だけが当否を分けるので、読むべきは後半です。手掛かりになるのは、特性どうしの包含の向きです。手続の中で自分自身を呼ぶ再帰のプログラムは、前の呼出しがまだ終わらないうちにもう一度その手続へ入るので、呼出しごとに別の作業領域を使う作りになっていなければ成り立ちません。その作りはそのまま、複数のタスクから同時に呼ばれても正しく動くこと、すなわち再入可能であることを意味します。実装の面から見ても、書き換わるデータを本体から切り離し、局所変数をスタックに置くという同じ工夫に支えられています。したがって、再帰のプログラムは再入可能である、という記述が当てはまります。
ほかの選択肢はなぜ違うのか
- イ再使用可能プログラムは,一度実行したプロ…:一度実行したあとロードし直さずにもう一度動かせることと、同時に何本も動かせることは別の性質です。順番に使い回すだけのものがあるので、この向きの言い切りは成り立ちません。
- ウ再入可能プログラムは,複数のタスクから同…:同時に呼び出せるかどうかと、主記憶のどこへ置けるかは、互いに関わりのない性質です。前者を満たすものが後者を満たさない、と結び付ける根拠がありません。
- エ再配置可能プログラムは,主記憶装置上のど…:どの番地に置いても動くことを述べたうえで、もう一度実行できないと続けています。置き場所の自由さは、実行を繰り返せるかどうかを妨げるものではありません。
出典:平成29年度 春期 応用情報技術者試験 午前 問7
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)