サンプル問題 [科目A]問9
問9
プログラムのコーディング規約に規定する事項のうち,適切なものはどれか。
- 局所変数は,用途が異なる場合でもデータ型が同じならば,できるだけ同一の変数を使うようにする。
- 処理性能を向上させるために,ループの制御変数には浮動小数点型変数を使用する。
- 同様の計算を何度も繰り返すときは,関数の再帰呼出しを用いる。
- 領域割付け関数を使用するときは,割付けができなかったときの処理を記述する。
- [出題歴]
- 基本情報技術者 H30秋期 問7
分類
テクノロジ系 » アルゴリズムとプログラミング » プログラミング
正解
エ
解説
- 1つの変数の役割は1つにするのが原則です。用途が異なる場合には別々の変数として定義し、用途がわかるように適切な命名を行うべきです。
- ループの制御変数には整数型を用いるのが原則です。ループの制御変数に浮動小数点型変数(float等)を用いると、インクリメントやデクリメントの際の誤差が積み重なり、期待した結果を得られないことがあります。このためループの制御変数には整数型を使用するべきです。また、浮動小数点型は整数型よりも演算が遅いので、わずかですが処理性能も低下します。
- 同様の処理を繰り返すときには、その処理をサブルーチン化して独立した関数にすることを検討すべきです。再帰関数は、処理がわかりにくくなることや実行時のスタックサイズが予測できずオーバーフローを起こす可能性があるので、コーディング規約で使用を禁止されることもあります。
- 正しい。領域割付け関数は必ず成功するとは限りません。もしメモリブロックを確保できないまま後続の処理に進むとそこでエラーになってしまうので、領域割付け関数の戻り値をチェックするなどして割付け失敗時の分岐処理を記述するべきです。