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

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

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

Что вычисляет следующий фрагмент программы?
вещ последовательность p;вещ a, s, x, y;. . .s := 0.0; x := 0.0; y := 0.0;встать в начало последовательности p;цикл пока есть непрочитанные элементы в посл-ти p| прочесть очередной элемент посл-ти p в (вых: a);| s := s + a - x;| x := y; y := a;конец циклаответ := s;

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

Варианты ответа
сумму трех последних элементов последовательности p
сумму четырех последних элементов последовательности p
сумму двух последних элементов последовательности p (Верный ответ)
Похожие вопросы
Что вычисляет следующий фрагмент программы?
вещ последовательность p;вещ a, s; цел n;. . .s := минус бесконечность;n := 0;встать в начало последовательности p;цикл пока есть непрочитанные элементы в посл-ти p| прочесть очередной элемент посл-ти p в (вых: a);| если a > s| | то| |   s := a; n := 1;| иначе если a == s| | то| |   n := n + 1;| конец есликонец циклаответ := n;
Что вычисляет следующий фрагмент программы?
вещ последовательность p;вещ a, s; цел n; логическое b;. . .s := минус бесконечность;n := 0; b := ложь;встать в начало последовательности p;цикл пока есть непрочитанные элементы в посл-ти p| прочесть очередной элемент посл-ти p в (вых: a);| если a >= s| | то| | если не b или a == s| | | то| | | n := n + 1;| | конец если| | b := истина;| | s := a;| иначе| | b := ложь;| конец есликонец циклаответ := n;
Следующий фрагмент программы вычисляет сумму четырехпоследних элементов последовательности p:
    вещ последовательность p;    вещ x, y, z, t;    . . .    x := 0.0; y := 0.0; z := 0.0; t := 0.0;    встать в начало последовательности p;    цикл пока есть непрочитанные элементы в посл-ти p    | x := y; y := z; z := t;    | прочесть очередной элемент посл-ти p в (вых: t);    конец цикла    ответ := x + y + z + t;
В нем используются четыре вспомогательные переменныеx, y, z, t. Можно ли упроститьпрограмму, использовав меньшее количество вспомогательныхпеременных? (Последовательность разрешается читать только один раз.)
Следующая программа вычисляет количествовхождений фрагмента "xyz" в последовательностьсимволов:
    последовательность символов p;    цел n;    символ c1, c2, c3;    . . .    n := 0;    // Инициализируем переменные c1, c2, c3 пробелами    c1 = ' '; c2 = ' '; c3 = ' ';    встать в начало последовательности p;    цикл пока есть непрочитанные элементы в посл-ти p    | c1 := c2; c2 := c3;    | прочесть очередной элемент посл-ти p в (вых: c3);    | если c1 == 'x' и c2 == 'y' и c3 == 'z'    | | то n := n + 1;    | конец если    конец цикла    ответ := n;
В ней используются четыре вспомогательные переменныеn, c1, c2, c3. Можно ли упроститьпрограмму, использовав меньшее количество вспомогательныхпеременных? (Последовательность разрешается читать только один раз.)
На вход следующей программе передаетсяпоследовательность целых чисел в диапазоне от 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. Можно ли упроститьпрограмму, использовав меньшее количество вспомогательныхпеременных? (Последовательность разрешается читать только один раз.)
Указать, что вычисляет следующий фрагмент программы:
дано: цел n;цел s, k;s := 2; k := 0;цикл пока s <= n| инвариант: s = 2k+1| s := s * 2; k := k + 1;конец циклаответ := k;
Указать, что вычисляет следующий фрагмент программы:
дано: цел n;цел x, y;x := 1; y := 4;цикл пока y <= n| инвариант: y = (x + 1)2;| x := x + 1;| y := y + 2*x + 1;конец циклаответ := x;
Указать, что вычисляет следующий фрагмент программы:
дано: цел n;цел s, k;s := 10; k := 0;цикл пока s <= n| инвариант: s = 10 * (k + 1)| s := s + 10; k := k + 1;конец циклаответ := k;
Пусть даны очередь и стек.Рассмотрим фрагмент программы на псевдокоде:
    сделать стек пустым;    цикл пока очередь непуста    | x := взять элемент из начала очереди;    | добавить (вход: x) в стек;    конец цикла    цикл пока стек непуст    | x := взять элемент из стека;    | добавить (вход: x) в конец очереди;    конец цикла
Что произойдет с очередью в результатеего выполнения?
Рассмотрим следующий фрагмент программы:
    цел m, n;    цел a, b, p;    . . .    a := m; b := n;    p := 0;    цикл пока b != 0    | если b четное    | | то    | |     b := b / 2;    | |     a := a * 2;    | | иначе    | |     b := b - 1;    | |     p := p + a;    | конец если    конец цикла    ответ := p;
Какое условие является инвариантом цикла?