平成30年度 秋期 基本情報技術者試験 午前 問7
テクノロジ/開発技術プログラムのコーディング規約に規定する事項のうち,適切なものはどれか。
出典:平成30年度 秋期 基本情報技術者試験 午前 問7
- ア局所変数は,用途が異なる場合でもデータ型が同じならば,できるだけ同一の変数を使うようにする。
- イ処理性能を向上させるために,ループの制御変数には浮動小数点型変数を使用する。
- ウ同様の計算を何度も繰り返すときは,関数の再帰呼出しを用いる。
- エ領域割付け関数を使用するときは,割付けができなかったときの処理を記述する。
正解:エ
解説
コーディング規約は,プログラムの品質や保守性を高めるための取り決めです。領域割付け関数(mallocなど)はメモリ不足時に失敗する可能性があるため,割付けに失敗したときの処理を記述することが重要な規約となります。局所変数の使い回しや浮動小数点型のループ制御変数の使用,むやみな再帰呼出しは,いずれもバグの温床や性能低下の原因になるため避けるべき事項です。
選択肢ごとの解説
- ア誤り。用途の異なる変数を同一の変数として使い回すと,可読性が下がりバグの原因になるため,規約としては避けるべき事項です。
- イ誤り。浮動小数点型は誤差を含むため,ループの制御変数に使うと意図した回数だけ繰り返されないおそれがあり,適切ではありません。
- ウ誤り。同じ計算を繰り返す場合に無条件に再帰呼出しを用いると,スタック消費や性能低下を招くことがあり,推奨される事項ではありません。
- エ正しい。領域割付けに失敗する可能性があるため,失敗したときの処理(エラー処理)を記述することは適切なコーディング規約です。