非形式的な例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/06/01 09:21 UTC 版)
下記C言語の関数 max は配列 a[] の最大値を返す。n は配列の長さで、1以上とする。行番号 3, 6, 9, 11, 13 のコメントはその場所で成立している性質。行番号 6, 11 はループ不変条件。行番号 13 はループ不変条件とループ終了条件が両方とも成立している。 int max(int n, const int a[n]) { int m = a[0]; // m は a[0...0] の最大値 int i = 1; while (i != n) { // m は a[0...i-1] の最大値 if (m < a[i]) m = a[i]; // m は a[0...i] の最大値 ++i; // m は a[0...i-1] の最大値 } // m は a[0...i-1] の最大値、かつ、i == n return m;}
※この「非形式的な例」の解説は、「ループ不変条件」の解説の一部です。
「非形式的な例」を含む「ループ不変条件」の記事については、「ループ不変条件」の概要を参照ください。
- 非形式的な例のページへのリンク