База ответов ИНТУИТ

Основы программирования

<<- Назад к вопросам

Выражение содержит числа, переменную x и знаки трехарифметических операций +, -, × (нет операции деления);переменная x может использоваться многократно.Выражение можно преобразовывать, пользуясь известнымисвойствами арифметических операций. Значение переменной xсообщается только после того, как выражение преобразовано вудобную для вычисления форму. Какой максимальной глубиныстека достаточно, чтобы вычислить значение любого такоговыражения с помощью стекового калькулятора (записыватьпромежуточные результаты на бумаге запрещено)?

(Отметьте один правильный вариант ответа.)

Варианты ответа
Достаточно стека максимальной глубины 3.
Достаточно стека максимальной глубины 5.
Достаточно стека максимальной глубины 2. (Верный ответ)
Достаточно стека максимальной глубины 4.
Похожие вопросы
Выражение содержит числа, переменную x и знаки четырехарифметических операций (переменная x можетиспользоваться многократно). Выражение можно преобразовывать,пользуясь известными свойствами арифметических операций.Значение переменной x сообщается только после того,как выражение преобразовано в удобную для вычисления форму.Какой максимальной глубины стека достаточно, чтобы вычислитьзначение любого такого выражения с помощью стековогокалькулятора (записывать промежуточные результаты на бумагезапрещено)?
Выражение содержит числа, переменные, круглые скобки и знакичетырех арифметических операций. Его можнопреобразовывать, пользуясь известными свойствамиарифметических операций. Значения переменных сообщаютсятолько после того, как выражение преобразовано в удобную длявычисления форму. Какой максимальной глубины стека достаточно,чтобы вычислить значение любого такого выражения с помощьюстекового калькулятора (записывать промежуточные результатына бумаге запрещено)?
Пусть A = A(x) —некоторое условие, зависящее только отзначения переменной x.Указать, чему может быть равно значение переменной yв результате выполнения следующего фрагмента программы:
x := 1;y := 1;цикл пока A(x)| . . .| если y < 0| | то| |   x := 2;| |   y := 10;| | иначе| |   x := 1;| |   y := 20;| конец есликонец цикла
Пусть описан тип R2Vector, представляющий векторна плоскости с вещественными координатами:
    typedef struct {        double x;        double y;    } R2Vector;
также описаны три переменные u, v и wтипа вектор и вещественная переменная s:
    R2Vector u, v, w;    double s;
при этом переменная u содержат конкретный векторединичной длины. Указать, чему будетприблизительно равно значение переменной s врезультате выполнения следующего фрагмента программы:
    v.x = (-u.y);    v.y = u.x;    w.x = u.x + v.x;    w.y = u.y + v.y;    s = sqrt(w.x * w.x + w.y * w.y);
(функция sqrt извлекает квадратный корень из вещественногочисла).
Пусть описан тип R2Vector, представляющий векторна плоскости с вещественными координатами:
    typedef struct {        double x;        double y;    } R2Vector;
также описаны три переменные u, v иw типа вектор и вещественная переменная s:
    R2Vector u, v, w;    double s;
при этом известно, что переменные u и vсодержат два конкретныхвектора единичной длины.Пусть в результате выполнения следующего фрагмента программызначение переменной s приблизительно равно 0.7071,т.е. корню из двух, деленному пополам:
    w.x = (-u.y); w.y = u.x;    s = v.x * w.x + v.y * w.y;    // s == 0.7071
На какой угол надо повернуть вектор u,чтобы получить вектор v?
Пусть описан тип R2Vector, представляющий векторна плоскости с вещественными координатами,
    typedef struct {        double x;        double y;    } R2Vector;
также описаны три переменныеu, v и w типа вектори вещественная переменная s:
    R2Vector u, v, w;    double s;
при этом переменная u содержат конкретный векторединичной длины, а вектор v получается изu вращением на 30 градусов по часовойстрелке. Указать, чему будет приблизительно равнозначение вещественной переменной s в результатевыполнения следующего фрагмента программы:
    w.x = (-u.y); w.y = u.x;    s = v.x * w.x + v.y * w.y;
На вход следующей программе передаетсяпоследовательность целых чисел в диапазоне от 0 до 9,представляющая цифры десятичной записи целого числа n.Программа определяет, делится ли число n на 75(символом процента '%' обозначается операциянахождения остатка от деления первого числа на второе):
    цел последовательность p; // Цифры числа n    цел s, r, d;    . . .    s := 0; r := 0;    встать в начало последовательности p;    цикл пока есть непрочитанные элементы в посл-ти p    | прочесть очередной элемент посл-ти p в (вых: d);    | s := s + d;             // s -- сумма цифр    | r := (r % 10) * 10 + d; // r -- число из 2-х    конец цикла               //      последних цифр    ответ := (          // n делится на 75, когда        s % 3 == 0  и   //     s делится на 3  и        r % 25 == 0     //     r делится на 25    );
В ней используются три вспомогательные переменныеs, r, d. Можно ли упроститьпрограмму, использовав меньшее количество вспомогательныхпеременных? (Последовательность разрешается читать только один раз.)
Целочисленная переменная xпредставляет короткое целое число со знакомв диапазоне -128...127 и занимает 1 байт.Чему равно значение x после выполнения приведенногониже фрагмента программы?
x := 30;x := x * 5;
Целочисленная переменная xпредставляет короткое целое число со знакомв диапазоне -128...127 и занимает 1 байт.Чему равно значение x после выполнения приведенногониже фрагмента программы?
x := 120;x := x + 40;
Пусть x и y — вещественныепеременные типа double.Может ли произойти прерывание из-за деления на нольпри вычислении логического выражения
y > 0.1  и  x / y >= 1.0?