Главная /
Программирование /
Пусть f(x) - целочисленная функция от целочисленного аргумента. Определить, содержит ли следующий фрагмент программы ошибку (т.е. действительно ли тело цикла сохраняет инвариант): // Программа корень функции int a, b, c; . . . // утверждение: a < b &am
Пусть 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
вопрос
Правильный ответ:
Ошибки нет, фрагмент программы корректный.
Фрагмент программы содержит ошибку.
Сложность вопроса
93
Сложность курса: Программирование
84
Оценить вопрос
Комментарии:
Аноним
Какой студент гуглит вот эти вопросы с интуитом? Это же легко
12 июн 2018
Аноним
спасибо за пятёрку
17 апр 2016
Другие ответы на вопросы из темы программирование интуит.
- # В чем главный недостаток первоначальной версии языка Pascal?
- # Рассмотрим следующую программу на C/C++: #include <stdio.h> #include <math.h> int main() { double x = pow(2., 1024.); double y = x / 2.; double z = pow(2., 1023.); if (y == z) { printf("y == z\n"); } else { printf("y != z\n"); } return 0; } (Функция pow(a, b) возводит число a в степень b.) Что будет напечатано в результате ее выполнения?
- # Пусть f(x) - гладкая функция, заданная на отрезке [a, b], третья производная которой по абсолютной величине не превышает некоторой константы. Для приближенного вычисления интеграла от этой функции мы применяем формулу Симпсона (парабол), разбивая отрезок [a, b] на 2*n равных частей. Какова точность вычисления интеграла в зависимости от n?
- # Какие смещения относительно регистра FP (Frame Pointer - указатель кадра) имеют адреса локальных переменных, описанных внутри функции, в языке C/C++?
- # К целочисленному массиву применяется алгоритм сортировки кучей. Пусть после первого этапа алгоритма пирамида (бинарная куча) уже построена и массив содержит элементы 30, 20, 25, 10, 7, 19, 5 в указанном порядке. Затем выполняется второй этап сортировки. На его первом шаге начальный и конечный элементы массива меняются местами, от пирамиды отрезается правая нижняя ветка (т.е. последний элемент массива), затем элемент в вершине пирамиды просеивается, благодаря чему восстанавливается условие пирамиды. Каким будет содержимое массива по окончании этого шага?