HOME»基本情報技術者平成19年秋期»午前問39
基本情報技術者平成19年秋期 午前問39
問39
プログラムの各種特性に関する記述のうち,適切なものはどれか。
- 再帰的処理のためには,実行途中の状態をFIFO方式で記録し,制御する必要がある。
- 再入可能プログラムを実現するためには,プログラムを手続部分とデータ部分に分割して,データ部分をプロセスごとにもつ必要がある。
- 逐次再使用可能なプログラムは,再入可能でもある。
- 複数のプロセスで同時に実行できるようにしたプログラムは,再帰的である。
- [出題歴]
- 基本情報技術者 H13秋期 問41
分類
テクノロジ系 » アルゴリズムとプログラミング » プログラミング
正解
イ
解説
- 再帰的処理では、入れ子式でプログラムが実行されるので、実行途中のプログラムの状態を何階層にもわたって保存しておく必要があります。これを実現するために用いられるのが、LIFO(後入れ先出し)の性質をもつスタックです。関数の呼出し時に局所変数等をスタックに積み、実行が終わったらスタックから取り除くことにより、関数の生成と消滅を制御します。
- 正しい。再入可能プログラムとは、そのプログラムの実行中に別のタスクから呼び出されても、それぞれに正しい結果を返すことができるプログラムの性質です。再入可能であるためには、複数のプロセス間のデータが混じらないように、データ部分をプロセスごとに確保する必要があります。
- 逐次再使用可能は、他のタスクが使い終わったプログラムを再ロードしなくても正しい結果を返すことができる特性ですが、複数のタスクに対して正しい結果を返すこと(再入可能性)は保証していません。
- 複数のプロセスで同時に実行できるようにしたプログラムは、再入可能なプログラムです。