Главная /
Основы программирования - обучения основам /
Рассмотрим следующую реализацию функции onSqrt, которая исполняет команду извлечения квадратного корня в проекте «Стековый калькулятор»: static void onSqrt() { double x; if (st_empty()) { printf("Stack empty.\n"); return; } x = st_pop(); assert(x >= 0.
Рассмотрим следующую реализацию функции onSqrt
,
которая исполняет команду извлечения квадратного корня в проекте
«Стековый калькулятор»:
static void onSqrt() {
double x;
if (st_empty()) {
printf("Stack empty.\n");
return;
}
x = st_pop();
assert(x >= 0.0); // утв: x неотрицательно
st_push(sqrt(x));
display();
}
Правильно ли здесь используется конструкция «утверждение»,
которая в Си реализуется функцией assert
?
вопрос
Правильный ответ:
Правильно, поскольку невозможно извлечь квадратный корень
из отрицательного числа. Следовательно, если x < 0,
то выполнение программы должно быть прекращено.
Неправильно, поскольку прекращение выполнения программы
при невыполнении утверждения должно происходить в результате
ошибки в программе, а не из-за некорректных входных данных.
Сложность вопроса
76
Сложность курса: Основы программирования - обучения основам
50
Оценить вопрос
Комментарии:
Аноним
Это очень намудрённый вопрос интуит.
11 июл 2017
Аноним
Экзамен прошёл на 5. спс
28 окт 2015
Другие ответы на вопросы из темы программирование интуит.
- # В каком случае выполняется тело цикла "пока"?
- # Рассмотрим следующий фрагмент программы: #include <string.h> #include <сtype.h> . . . int n, i; char a[32]; strcpy(a, "375e10"); n = 0; i = 0; while (a[i] != 0) { if (isdigit(a[i]) && a[i] < '8') { n *= 8; n += a[i] - '0'; } else { break; } ++i; } Чему будет равно значение переменной n в результате выполнения этого фрагмента?
- # Всегда ли равны выражения (x + y) + z, x + (y + z) для произвольных вещественных переменных x, y, z типа double?
- # Рассмотрим функцию F, которая в последовательности коэффициентов многочлена по возрастанию степеней ставит в соответствие значение второй производной многочлена в точке t. Какая из приведенных ниже функций на последовательностях является индуктивным расширением функции F?
- # Являются ли локальные переменные функции общими для разных нитей (threads), работающих параллельно в рамках одного процесса?