Пусть a — целочисленный массив размера n(индекс элементов меняется от 0 до n-1),элементы которого строго возрастают:a[0] < a[1] <... < a[n-1].Определить, содержит ли следующий фрагмент программы ошибку(т.е. действительно ли тело цикла сохраняет инвариант):// Программа Поискдано: цел n; цел a[n]; // a[0] < a[1] < ... < a[n-1]цел x; // искомый элементцел b, e, c;. . . // рассматриваются исключительные случаиутверждение: a[0] < x и x <= a[n-1]; // общий случайb := 0; e := n - 1;цикл пока e - b > 1| инвариант: a[b] < x и x <= a[e];| c := (b + e) / 2; // c -- целая часть (b+e)/2| если x < a[c]| | то e := c; // выбираем левую половину отрезка| | иначе b := c; // выбираем правую половину отрезка| конец есликонец циклаутверждение: b == e - 1 и a[b] < x и x <= a[e];
(Отметьте один правильный вариант ответа.)
Варианты ответа
Ошибки нет, фрагмент программы корректный.
Фрагмент программы содержит ошибку. (Верный ответ)