Пусть f(x) - целочисленная функция от целочисленногоаргумента. Определить,содержит ли следующий фрагмент программы ошибку(т.е. действительно ли тело цикла сохраняет инвариант):// Программа корень функции int a, b, c; . . . // утверждение: a < b && f(a)*f(b) <= 0 // Значения функции на концах отрезка [a,b] разных знаков while (b - a > 1) { // Invariant: f(a)*f(b) <= 0 // Делим отрезок [a, b] пополам c = (a + b)/2; // c - целая часть (a+b)/2 if (f(a) * f(c) < 0) { b = c; // выбираем левую половину отрезка } else { a = c; // выбираем правую половину } } // утверждение: a == b-1 && // f(a)*f(b) <= 0
(Отметьте один правильный вариант ответа.)
Варианты ответа
Фрагмент программы содержит ошибку. (Верный ответ)
Ошибки нет, фрагмент программы корректный.