応用情報技術者 2021年 秋期 午前2 問06
問題文
プログラム特性に関する記述のうち、適切なものはどれか。
選択肢
ア:再帰的プログラムは再入可能な特性をもち、呼び出されたプログラムの全てがデータを共用する。
イ:再使用可能プログラムは実行の始めに変数を初期化する、又は変数を初期状態に戻した後にプログラムを終了する。(正解)
ウ:再入可能プログラムは、データとコードの領域を明確に分離して、両方を各タスクで共用する。
エ:再配置可能なプログラムは、実行の都度、主記憶装置上の定まった領域で実行される。
プログラム特性に関する記述のうち、適切なものはどれか【午前2 解説】
要点まとめ
- 結論:正解はイの「再使用可能プログラムは実行の始めに変数を初期化する、又は変数を初期状態に戻した後にプログラムを終了する」です。
- 根拠:再使用可能プログラムは複数回の呼び出しに耐えられるよう、状態をリセットして正しく動作することが求められます。
- 差がつくポイント:再入可能・再配置可能・再使用可能の違いを正確に理解し、特に「状態管理」と「メモリ共有」の観点で区別できることが重要です。
正解の理由
イの記述は、再使用可能プログラムの本質を正しく表しています。再使用可能プログラムは、何度も呼び出されることを想定し、実行開始時に変数を初期化するか、終了時に状態を元に戻すことで、前回の実行の影響を残さずに動作します。これにより、複数回の利用で不具合が起きにくくなります。
よくある誤解
再入可能プログラムと再使用可能プログラムを混同し、どちらも「状態を持たない」と誤解されがちです。再入可能は主に「同時実行時の安全性」、再使用可能は「繰り返し利用時の状態管理」がポイントです。
解法ステップ
- 各選択肢のキーワード(再帰的、再使用可能、再入可能、再配置可能)を確認する。
- それぞれのプログラム特性の定義を思い出す。
- 「再使用可能プログラム」の特徴として「状態の初期化やリセット」があることを確認。
- 他の選択肢の誤りを検証し、正しいものを選ぶ。
選択肢別の誤答解説
- ア:再帰的プログラムは再入可能とは限らず、全ての呼び出しがデータを共用するのは誤りです。再入可能は同時実行時に安全な設計を指します。
- イ:正解。再使用可能プログラムは状態を初期化またはリセットして繰り返し使える。
- ウ:再入可能プログラムはコード領域を共用しますが、データ領域は共用せず、各タスクで独立したデータを持つ必要があります。
- エ:再配置可能プログラムは実行時に主記憶上の任意の領域に配置可能であり、定まった領域で実行されるとは限りません。
補足コラム
- 再入可能プログラムは、割り込みやマルチスレッド環境で同時に複数回呼び出されても安全に動作するプログラムを指します。主に「コードは共有、データは独立」する設計が必要です。
- 再配置可能プログラムは、実行時にメモリ上の任意の位置にロードできるプログラムで、アドレス依存性を排除しています。
- 再使用可能プログラムは、同じプログラムを繰り返し使う際に状態をリセットし、前回の実行の影響を残さないことが重要です。
FAQ
Q: 再入可能プログラムと再使用可能プログラムの違いは何ですか?
A: 再入可能は同時に複数回呼び出されても安全に動作すること、再使用可能は繰り返し使う際に状態を初期化して正しく動作することを指します。
A: 再入可能は同時に複数回呼び出されても安全に動作すること、再使用可能は繰り返し使う際に状態を初期化して正しく動作することを指します。
Q: 再配置可能プログラムはどのような利点がありますか?
A: 実行時にメモリ上の任意の位置に配置できるため、メモリの効率的な利用やプログラムの移植性が向上します。
A: 実行時にメモリ上の任意の位置に配置できるため、メモリの効率的な利用やプログラムの移植性が向上します。
関連キーワード: 再入可能プログラム、再使用可能プログラム、再配置可能プログラム、プログラム特性、状態管理

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

