Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Задание 11 (базовый уровень). Это задание традиционно вызывает затруднение у выпускников, с ним справилось 39,4 %, что на 9,89% меньше по сравнению с 2017 годом. Задание, проверяющее умение исполнить рекурсивный алгоритм.
Пример. Ниже записана рекурсивная процедура:
procedure F(n: integer);
begin
if n > 1 then begin
F(n – 4);
write(n);
F(n div 2);
end;
end;
Что будет напечатано на экране при выполнении вызова F(11)?
Решение:
При вызове F(11) условие n>1 выполняется, программа входит в тело условного оператора. Вызывается F(n-4) = F(7), затем выводится 11 и вызывается F(n div 2) = F(5); все это условно запишем так: F(11)= F(7) 11 F(5). Аналогично рассматриваем F(7) и F(5), учитывая, что при n <= 1 процедура вообще ничего не выводит на экран:F(7)= F(3) 7 F(3)
F(5)= F(1) 5 F(2) = 5 F(2).
Теперь неизвестны F(3), F(2) (как мы уже говорили, F(1) ничего не выводит), разбираем их:F(3)= F(-1) 3 F(1) = 3
F(2)= F(-2) 2 F(0) = 2.
Собираем все обратно, удаляя пробелы:F(5)= 5 F(2) = 52
F(7)= F(3) 7 F(3) = 373
F(11)= F(7) 11 F(5) = 3731152.
Ответ: 3731152.Основная содержательная ошибка при выполнении такого типа заданий базового уровня – неспособность построить последовательность косвенных рекурсивных вызовов, несмотря на то, что в заданиях этого типа последовательность вызовов линейна. Фактически это задание на проверку умения исполнить алгоритм с простым ветвлением и вызовом элементарной функции, записанный на языке высокого уровня.
Задание 18 (повышенный уровень). Задание повышенного уровня сложности, проверяющее знание основных понятий и законов математической логики. С заданием справилось 21,3%, что на 17,09% ниже, чем в прошлом году.
Пример. Укажите наибольшее целое значение А, при котором выражение (y + 2x ≠ 99) ∨ (y > A) ∨ (x > A) истинно для любых целых положительных значений x и y.
Решение:
Первое выражение не зависит от выбора A: (y +2x ≠ 99). Таким образом, нам нужно выбрать значение A так, чтобы условие (y > A) or (x > A) выполнялось при всех x и y, для которых ложно (y +2x ≠ 99), то есть истинно (y +2x = 99) или y = –2x + 99. Нарисуем линию y = –2x + 99, а также заштрихуем область (y > A) or (x > A) для некоторого значения A, например, для A = 50 (конечно, нужно учесть, что x и y положительны и добавить ещё два ограничения: (x > 0) and (y > 0)).
От экзаменуемого в этом задании требовалось провести логический анализ составного высказывания и продемонстрировать знание логических операций, а также владение понятием всеобщности.
Задание 20 (повышенный уровень). Задание повышенного уровня сложности, проверяющее умение анализировать алгоритм, содержащей цикл и ветвление. С заданием справилось 16,1%, что на 10,01% ниже, чем в прошлом году.
Пример. Ниже приведён алгоритм. Укажите наибольшее число
, при вводе которого алгоритм напечатает сначала 3, потом – 6.
var x, L, M, Q: longint;
begin
readln(x);
Q := 15;
L := 0;
while x >= Q do begin
L := L + 1;
x := x – Q;
end;
M := x;
if M < L then begin
M := L;
L := x;
end;
writeln(L);
writeln(M);
end.
Решение:
Видим, что в конце программы на экран выводятся переменные L и M. Узнаём алгоритм в первой части программы:L := 0;
while x >= Q do begin
L := L + 1;
x := x – Q;
end;
Этот алгоритм вычисляет (с помощью последовательных вычитаний) частное L и остаток x от деления исходного значения x на Q. Узнаем второй алгоритм:M := x;
if M < L then begin
M := L;
L := x;
end;
Сначала в M просто записывается значение x – остаток от деления исходного значения x на Q. Если x<L, то остаток и частное меняются местами так, чтобы в переменной L оказалось меньшее из двух значений, а в M – большее. Таким образом, условию задачи при Q=15 соответствуют два числа – 15*3+6 =51 и 15*6+3=93; наибольшее из них – 93. Ответ: 93.Следует отметить, что владение умением анализировать исполнение алгоритма, помимо компетенций в конкретной предметной области, в значительной степени определяется метапредметным умением анализа информации, основы которого закладываются еще в начальной школе.
Задание 21 (повышенный уровень). Задание повышенного уровня сложности, проверяющее умение анализировать алгоритм с циклами и подпрограммами. С заданием справилось 39,8%, что на 13,73% выше, чем в прошлом году.
Пример. Напишите в ответе наименьшее значение входной переменной k, при котором программа выдаёт тот же ответ, что и при входном значении k = 10.
var k, i : longint;
function f(n: longint): longint;
begin
f := n * n * n;
end;
function g(n: longint): longint;
begin
g := 2*n + 3;
end;
begin
readln(k);
i := 1;
while f(i) < g(k) do
i := i+1;
writeln(i)
end.
Решение:
Сначала заметим, что функция f возвращает куб переданного ей числа, а функция g – результат вычисления 2*n+3. При некотором i работа цикла останавливается: это происходит при нарушении условияf(i)<g(k), то есть при выполнении обратного условия f(i)≥g(k).
В то же время на предыдущем шаге цикла (для i-1) условие его работы выполнялось, то есть, f(i-1)<g(k), откуда получаем f(i-1)<g(k)≤f(i). Вспоминая, что f(i)=i3, делаем вывод, что g(k) должно быть между кубами двух соседних чисел: (i-1)3 < g(k) ≤ i3. Для заданного k=10 находим g(10)=2·10+3=23, так что i=3: (2)3 < g(k)=23 ≤ 33. Осталось проверить, при каких k выполняется условие 8 < g(k)=2k+3 ≤ 27. Решая двойное неравенство относительно k, получаем 2,5 < k ≤ 12. Таким образом, минимальное целое число, соответствующее условию – 3. Ответ: 3.Задание 22 (повышенный уровень). Задание повышенного уровня сложности, проверяющее умение анализировать динамический алгоритм. С заданием справилось 48,4 %, что на 14,75 % выше, чем в прошлом году.
Пример. Исполнитель Удвоитель преобразует число на экране. У исполнителя есть две команды, которым присвоены номера: 1) Прибавить 1. 2) Умножить на 2.
Первая команда увеличивает число на экране на 1, вторая умножает его на 2. Программа для исполнителя Удвоитель – это последовательность команд. Сколько существует программ, для которых при исходном числе 2 результатом является число 29 и при этом траектория вычислений содержит число 14 и не содержит числа 25?
Решение:
У нас в задании две особые точки – числа 14 (через которое должна проходить траектория) и 25 (а сюда она попасть НЕ должна). Сначала, так же, как и в задачах, рассмотренных ниже, составляем рекуррентную формулу, по которой будем вычислять количество- увеличением на 1 числа N-1; умножением на 2 числа N/2 (только для N, которые делятся на 2);
для нечётных чисел;
для чётных чисел.
N | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 1 | 1 | 2 | 2 | 3 | 3 | 5 | 5 | 7 | 7 | 10 | 10 | 13 |
N | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 13 | 13 | 13 | 13 | 13 | 13 | 13 | 13 | 13 | 13 | 13 | 0 |
N | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 13 | 13 | 13 | 13 | 13 | 13 | 13 | 13 | 13 | 13 | 13 | 0 | 0 | 0 | 13 | 13 |
Основная содержательная ошибка при выполнении такого типа заданий повышенного уровня – вычислительная, с помощью динамического программирования решаются задачи, которые требуют полного перебора вариантов.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 |


