Главная /
Основы программирования - обучения основам /
Указать, что вычисляет следующий фрагмент программы: дано: цел n; цел x, y; x := 1; y := 4; цикл пока y <= n | инвариант: y = (x + 1)2; | x := x + 1; | y := y + 2*x + 1; конец цикла ответ := x;
Указать, что вычисляет следующий фрагмент программы:
дано: цел n;
цел x, y;
x := 1; y := 4;
цикл пока y <= n
| инвариант: y = (x + 1)2;
| x := x + 1;
| y := y + 2*x + 1;
конец цикла
ответ := x;
вопрос
Правильный ответ:
Целую часть от
n / 2
;
Целую часть квадратного корня из
n
.
Целую часть от
log2 n
.
Сложность вопроса
67
Сложность курса: Основы программирования - обучения основам
50
Оценить вопрос
Комментарии:
Аноним
Нереально сложно
20 июн 2016
Другие ответы на вопросы из темы программирование интуит.
- # Выражение записано с использованием обратной польской записи: 0, 1, *, 2, -, 3, 4, *, 5, +, 6, *, + Чему равняется его значение?
- # Рассмотрим следующую реализацию функции onDiv, которая исполняет команду деления в проекте «Стековый калькулятор»: static void onDiv() { double y, x; if (st_size() < 2) { printf("Stack depth < 2.\n"); return; } y = st_pop(); x = st_pop(); assert(y != 0.0); // утв: y отлично от нуля st_push(x / y); display(); } Правильно ли здесь используется конструкция «утверждение», которая в Си реализуется функцией assert?
- # Какое утверждение является инвариантом для следующего фрагмента программы (т.е. из справедливости утверждения до выполнения фрагмента программы вытекает справедливость утверждения после выполнения)? Предполагается, что n не меньше k. Восклицательным знаком обозначается операция вычисления факториала. цел n, k, c; . . . c := c * (n + 1); c := c/(n + 1 - k); n := n + 1;
- # Пусть регистры R1 и R2 содержат два целых числа x и y. Указать, что будет содержать регистр R0 после выполнения следующего фрагмента кода на RTL (знаком конъюнкции & обозначена операция побитового логического умножения): R0 := 1; L1: CC0 := R2 - 0; // сравнить R2 с нулем if (eq) goto L2; // переход, если равно CC0 := R2 & 1; // проверить младший бит R2 if (eq) goto L3; // переход, если ноль R2 := R2 - 1; R0 := R0 * R1; goto L4; L3: R2 := R2 / 2; R1 := R1 * R1; L4: goto L1; L2:
- # Где размещаются определения глобальных и статических переменных языка Си?