応用情報技術者 2017年 春期 午前2 問07
問題文
プログラムの特性に関する記述のうち、適切なものはどれか。
選択肢
ア:再帰的プログラムは、手続の中でそれ自体を呼び出すプログラムであり、再入 可能である。(正解)
イ:再使用可能プログラムは、一度実行したプログラムを主記憶装置上にロードし 直さずに再度実行できるプログラムであり、再入可能である。
ウ:再入可能プログラムは、複数のタスクから同時に呼び出されたときに、並列に 実行できるプログラムであるが、再配置可能ではない。
エ:再配置可能プログラムは、主記憶装置上のどの領域にロードされても実行可能 なプログラムであるが、再使用可能ではない。
プログラムの特性に関する問題【午前2 解説】
要点まとめ
- 結論:再帰的プログラムは自分自身を呼び出す構造であり、再入可能であるため安全に利用できる。
- 根拠:再入可能性とは、同時に複数回呼び出されても状態を共有せず正しく動作する性質を指す。
- 差がつくポイント:再使用可能と再入可能の違い、再配置可能の意味を正確に理解することが合格の鍵。
正解の理由
選択肢アは「再帰的プログラムは手続きの中でそれ自体を呼び出し、再入可能である」と述べています。再帰呼び出しは自身の状態をスタックに保存しながら処理を進めるため、複数回の呼び出しが重なっても干渉しません。つまり、再入可能な性質を持つため正しい記述です。
よくある誤解
再使用可能と再入可能を混同しやすいですが、再使用可能はプログラムの再利用性を指し、再入可能は同時実行時の安全性を指します。再配置可能はメモリ配置の自由度に関する概念です。
解法ステップ
- 各用語の定義を正確に理解する(再帰的、再入可能、再使用可能、再配置可能)。
- 選択肢ごとに用語の意味と照らし合わせて正誤を判断する。
- 再帰的プログラムが再入可能であることを確認し、選択肢アを正解とする。
- 他の選択肢の誤りを用語の定義から説明できるようにする。
選択肢別の誤答解説
- イ:再使用可能はプログラムの再利用性を指し、主記憶上のロード状態とは無関係であり誤り。
- ウ:再入可能プログラムは並列実行可能だが、再配置可能かどうかは別の概念であり誤り。
- エ:再配置可能プログラムはどのメモリ領域でも実行可能だが、再使用可能かどうかは関係なく誤り。
補足コラム
再入可能プログラムは割り込み処理やマルチスレッド環境で重要な概念です。状態を共有しないため、同時に複数回呼び出されても安全に動作します。一方、再使用可能プログラムはモジュール化やライブラリとしての利用を指し、再配置可能プログラムはメモリ管理の柔軟性を示します。
FAQ
Q: 再帰的プログラムと再入可能プログラムは同じ意味ですか?
A: いいえ。再帰的プログラムは自分自身を呼び出す構造で、再入可能は同時呼び出し時の安全性を指しますが、再帰的プログラムは再入可能であることが多いです。
A: いいえ。再帰的プログラムは自分自身を呼び出す構造で、再入可能は同時呼び出し時の安全性を指しますが、再帰的プログラムは再入可能であることが多いです。
Q: 再使用可能プログラムとは何ですか?
A: 再使用可能プログラムは、一度作成したプログラムを他のプログラムでも利用できるように設計されたものを指します。
A: 再使用可能プログラムは、一度作成したプログラムを他のプログラムでも利用できるように設計されたものを指します。
関連キーワード: 再帰的プログラム、再入可能、再使用可能、再配置可能、プログラム特性、マルチスレッド、割り込み処理

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

