あるプログラム言語の解説書の中に次の記述がある。
この記述中の“良いプログラム”がもっている特長はどれか。
このプログラム言語では、関数を呼び出すときに引数を保持するためにスタックが使用される。
オプションの指定によって、引数で受け渡すデータを、どの関数からでも参照できるよう共通域に移して、スタックの使用料を減らすことは可能だが“良いプログラム”とは見なされないこともある。
ア | 実行するときのメモリの使用量が、一定以下に必ず収まる。 |
イ | 実行速度が高速になる。 |
ウ | プログラムの一部(関数)を変更しても、他の関数への影響が少ない。 |
エ | プログラムのステップ数が少なく、分かりやすい |
答え ウ
【解説】
ア | 関数に引き渡すデータの格納場所として共通域を使用するとメモリ使用量を一定にすることができません。なお、スタックを使用する場合、スタックのサイズはあらかじめ指定するのでメモリ使用量を一定にすることができます。 |
イ | 関数に引き渡すデータの格納場所と実行速度には関係がありません。 |
ウ | 関数に引き渡すデータの格納場所として共通域を使用し複数の関数(モジュール)が参照する場合、モジュールを変更しデータの格納場所の割当てを変更した場合、他のモジュールにも影響が出るため“良いプログラム”ではなくなります。データの格納場所としてスタックを使用するとモジュール変更でデータの割当てを変更しても他のモジュールへの影響はないため“良いプログラム”と言えます。 |
エ | 関数に引き渡すデータの格納場所とプログラムステップ数には関係がありません。 |
【キーワード】
・スタック