Главная / Программирование /
Основы программирования - обучения основам / Тест 4
Основы программирования - обучения основам - тест 4
Упражнение 1:
Номер 1
Чему равен минимум пустой последовательности
целых чисел?
Ответ:
 (1)
Минус бесконечности.
 
 (2)
Нулю.
 
 (3)
Плюс бесконечности.
 
 (4)
Невозможно дать разумное определение.
 
Номер 2
Чему равен максимум пустой последовательности
вещественных чисел?
Ответ:
 (1)
Минус бесконечности.
 
 (2)
Нулю.
 
 (3)
Плюс бесконечности.
 
 (4)
Невозможно дать разумное определение.
 
Номер 3
Чему равно произведение пустой последовательности
вещественных чисел?
Ответ:
 (1)
Нулю.
 
 (2)
Единице.
 
 (3)
Невозможно дать разумное определение.
 
Упражнение 2:
Номер 1
Что вычисляет следующий фрагмент программы?
вещ последовательность 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;
Ответ:
 (1)
сумму двух последних элементов последовательности p
 
 (2)
сумму трех последних элементов последовательности p
 
 (3)
сумму четырех последних элементов последовательности p
 
Номер 2
Что вычисляет следующий фрагмент программы?
вещ последовательность p;
вещ a, s; цел n;
. . .
s := минус бесконечность;
n := 0;
встать в начало последовательности p;
цикл пока есть непрочитанные элементы в посл-ти p
| прочесть очередной элемент посл-ти p в (вых: a);
| если a > s
| | то
| | s := a; n := 1;
| иначе если a == s
| | то
| | n := n + 1;
| конец если
конец цикла
ответ := n;
Ответ:
 (1) максимум элементов последовательности p
 
 (2) число максимальных элементов последовательности p
 
 (3) число элементов последовательности p
 
Номер 3
Что вычисляет следующий фрагмент программы?
вещ последовательность 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;
Ответ:
 (1)
Максимум последовательности p.
 
 (2)
Число строгих локальных максимумов последовательности p.
(Элемент называется строгим локальным максимумом,
если он строго больше своих соседей.)
 
 (3)
Число нестрогих локальных максимумов последовательности p.
(Элемент называется нестрогим локальным максимумом,
если он не меньше своих соседей.)
 
Упражнение 3:
Номер 1
Является ли индуктивной функция, которая последовательности
вещественных чисел ставит в соответствие сумму ее первого
и последнего элементов?
Ответ:
 (1)
Является.
 
 (2)
Не является.
 
Номер 2
Является ли индуктивной функция, которая последовательности
коэффициентов многочлена по убыванию степеней ставит
в соответствие пару чисел:
(степень многочлена, интеграл многочлена по отрезку [0, 1])?
Ответ:
 (1)
Является.
 
 (2)
Не является.
 
Номер 3
Является ли индуктивной функция, которая последовательности
коэффициентов многочлена по возрастанию степеней ставит
в соответствие пару чисел (степень многочлена, интеграл многочлена по отрезку [0, 1])?
Ответ:
 (1) да, является 
 (2) нет, не является 
 (3) да, является только для многочленов степени 1 
Упражнение 4:
Номер 1
Рассмотрим функцию F, которая последовательности
коэффициентов многочлена по убыванию степеней
ставит в соответствие значение второй производной многочлена
в точке t. Какая из приведенных ниже функций на
последовательностях является индуктивным расширением
функции F?
Ответ:
 (1)
Тройка (значение многочлена, значение производной,
значение второй производной).
 
 (2)
Пара (степень многочлена, значение второй производной).
 
Номер 2
Рассмотрим функцию F, которая в последовательности
коэффициентов многочлена по возрастанию степеней
ставит в соответствие значение второй производной многочлена
в точке t. Какая из приведенных ниже функций на
последовательностях является индуктивным расширением
функции F?
Ответ:
 (1)
Тройка (значение многочлена, значение производной,
значение второй производной).
 
 (2)
Пара (степень многочлена, значение второй производной).
 
Номер 3
Диаметром множества вещественных чисел называется
максимум из абсолютных величин попарных разностей
его элементов. Рассмотрим функцию F, которая последовательности
вещественных чисел ставит в соответствие диаметр
множества ее элементов. Какая из приведенных ниже функций
на последовательностях является индуктивным расширением
функции F?
Ответ:
 (1)
Пара (среднее арифметическое, диаметр) множества
элементов последовательности.
 
 (2)
Пара (максимум, диаметр) множества
элементов последовательности.
 
Упражнение 5:
Номер 1
Функция F последовательности цифр в десятичной записи числа
n
ставит в соответствие единицу, если n
делится на 7,
и ноль в противном случае. Какая из приведенных
ниже функций на последовательности десятичных цифр числа n
является индуктивным расширением функции F?
Ответ:
 (1)
Остаток от деления числа n
на 231.
 
 (2)
Пара (остаток от деления числа n
на 100,
остаток от деления числа n
на 11).
 
 (3)
Пара (последняя цифра числа n
, сумма цифр числа n
).
 
Номер 2
Функция F последовательности цифр в десятичной записи числа
n
ставит в соответствие единицу, если n
делится на 15,
и ноль в противном случае. Какая из приведенных
ниже функций на последовательности десятичных цифр числа n
является индуктивным расширением функции F?
Ответ:
 (1)
Две последних цифры числа n
.
 
 (2)
Остаток от деления числа n
на 231.
 
 (3)
Пара (остаток от деления числа n
на 20,
остаток от деления числа n
на 24).
 
 (4)
Пара (остаток от деления числа n
на 100,
остаток от деления числа n
на 35).
 
Номер 3
Функция F последовательности цифр в десятичной записи числа
n
ставит в соответствие единицу, если n
делится на 14,
и ноль в противном случае. Какая из приведенных
ниже функций на последовательности десятичных цифр числа n
является индуктивным расширением функции F?
Ответ:
 (1)
Пара (остаток от деления числа n
на 57,
остаток от деления числа n
на 35).
 
 (2)
Пара (остаток от деления числа n
на 52,
остаток от деления числа n
на 21).
 
 (3)
Остаток от деления числа n
на 165.
 
Упражнение 6:
Номер 1
Следующий фрагмент программы вычисляет сумму четырех
последних элементов последовательности 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
. Можно ли упростить
программу, использовав меньшее количество вспомогательных
переменных? (Последовательность разрешается читать только один раз.)
Ответ:
 (1)
Можно.
 
 (2)
Нельзя.
 
Номер 2
Следующая программа вычисляет количество
вхождений фрагмента "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
. Можно ли упростить
программу, использовав меньшее количество вспомогательных
переменных? (Последовательность разрешается читать только один раз.)
Ответ:
 (1)
Можно.
 
 (2)
Нельзя.
 
Номер 3
На вход следующей программе передается
последовательность целых чисел в диапазоне от 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
. Можно ли упростить
программу, использовав меньшее количество вспомогательных
переменных? (Последовательность разрешается читать только один раз.)
Ответ:
 (1)
Можно.
 
 (2)
Нельзя.