応用情報技術者試験 令和3年秋 午前問6 解説付き過去問
問題
プログラム特性に関する記述のうち、適切なものはどれか。
正解
解説
この問題は、プログラムの特性に関する理解を問うものです。特に、プログラムの再帰性、再使用性、再入可能性、再配置可能性についての誤解を明らかにすることが求められます。
- 再帰的プログラムの特性
再帰的プログラムは、自身を呼び出す機能を持つプログラムです。再帰的プログラムが再入可能であるとは限りません。再入可能なプログラムは複数のタスクから同時に呼び出されても安全であることを意味しますが、再帰的プログラムはその性質上、新しい呼び出しで新たなスタックフレームを生成し、個別の実行コンテキストを保持する必要があります。従って、再帰的プログラムが必ずしもデータを共有するわけではありません。 - 再使用可能プログラムの特性
再使用可能プログラムは、複数回または複数の場所で使用することを意図して設計されたプログラムです。これを実現するためには、プログラムが終了するたびに全ての変数を初期状態に戻す、またはプログラム開始時に変数を初期化する必要があります。これにより、プログラムが次に実行されるときに前回の実行結果による影響を受けずに機能することが保証されます。 - 再入可能プログラムの特性
再入可能プログラムでは、データとコードを分離し、複数のタスクやスレッドがコードを共有しながらそれぞれのデータセットを持つことができます。これにより、同一のプログラムが異なるデータに対して同時に操作を行うことが可能になり、リソースの有効活用が促進されます。 - 再配置可能プログラムの特性
再配置可能なプログラムは、プログラムがメモリ内のどの位置にロードされても正しく実行できるように設計されています。これは、プログラムが特定の物理アドレスに依存しないため、メモリ管理の柔軟性が向上します。選択肢で述べられている「特定の領域で実行される」という記述は再配置可能なプログラムの特性とは矛盾します。
したがって、正解は「再使用可能プログラムは実行の始めに変数を初期化する、又は変数を初期状態に戻した後にプログラムを終了する」という選択肢です。これはプログラムが再使用されるたびに一貫した振る舞いを保証するために必要な特性を正しく表しています。