Файл: Федеральное государственное казенное общеобразовательное.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 30.11.2023

Просмотров: 106

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Пример исправления для языка Паскаль:



Первая ошибка: while k mod 3 = 0 do begin Исправленная строка:

while n mod 3 = 0 do begin
Вторая ошибка: if n>0 then Исправленная строка:

if n=1 then
После исправления первой ошибки в результате выполнения цикла значение переменной nбудет равно n0/(3k), где n0 – введѐнное пользователем значение;

k – максимальный показатель степени, при котором 3k является делителем числа n0. Число n0является степенью числа 3, если n0 = 3k, т.е. n0/(3k) = 1.

В программах на других языках ошибочные строки и их исправления аналогичны.

Задание 25


Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых десятичная запись хотя бы одного числа оканчивается на 2. В данной задаче под парой подразумевается два подряд идущих элемента массива. Например, для массива из пяти элементов: 16 3 142 55 22 ответ: 3.

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.



В качестве ответа необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на
месте многоточия. Можно записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Free Pascal 2.6) или в виде блок-схемы. В этом случае необходимо использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).

Разбор 25 задания ЕГЭ 2017



На языке Паскаль

k := 0;

for i := 1 to N — 1 do

if (a[i] mod 10 = 2) or (a[i + 1] mod 10 = 2) then inc(k);

writeln(k);
(вместо строчки inc(k) можно использовать k:=k+1)
На алгоритмическом языке

k := 0;

нц для i от 1 до N-1

если mod(a[i],10)=2 или mod(a[i+1],10)=2 то

k := k+1 все

кц вывод k
На языке Бейсик

K = 0

FOR I = 1 TO N — 1

IF (A(I) MOD 10 = 2) OR (A(I + 1) MOD 10 = 2) THEN K = K + 1

END IF NEXT I PRINT K
На языке Си

k = 0;

for (i = 0; i < N - 1; i++)

if (a[i] % 10 == 2 || a[i + 1] % 10 == 2) k++;

printf(«%d», k);
На языке Python

k = 0

for i in range(0, n – 1):

if (a[i] % 10 == 2 or a[i + 1] % 10 == 2):

k += 1

print(k)
На естественном языке
Записываем в переменную K начальное значение, равное 0. В цикле от первого элемента до предпоследнего находим остаток от деления текущего и следующего элементов массива на 10. Если первый или второй из полученных остатков равен 2, увеличиваем переменную K на единицу. После завершения цикла выводим значение переменной K.

Задание 26


Два игрока, Паша и Валя, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Паша. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 16 или 30 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 20. Если при этом в куче оказалось не более 30 камней, то победителем считается игрок, сделавший последний ход. В противном случае победителем становится его противник. Например, если в куче было 17 камней и Паша удвоит количество камней в куче, то игра закончится, и победителем будет Валя. В начальный момент в куче было S камней, 1 ≤ S ≤ 19.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника.
Выполните следующие задания.


  1. а) При каких значениях числа S Паша может выиграть в один ход? Укажите все такие значения и соответствующие ходы Паши. б) У кого из игроков есть выигрышная стратегия при S = 18, 17, 16? Опишите выигрышные стратегии для этих случаев.




  1. У кого из игроков есть выигрышная стратегия при S = 9, 8? Опишите соответствующие выигрышные стратегии.




  1. У кого из игроков есть выигрышная стратегия при S = 7? Постройте дерево всех партий, возможных при этой выигрышной стратегии (в виде рисунка или таблицы). На рѐбрах дерева указывайте, кто делает ход; в узлах количество камней в позиции.




Разбор 26 задания ЕГЭ 2017


  1. а) Паша может выиграть, если S = 19 или S = 10, 11, 12, 13, 14, 15. При S = 19 первым ходом нужно добавить в кучу один камень, при остальных указанных значениях S нужно удвоить количество камней.

б) При S = 16, 17 или 18 удваивать количество камней не имеет смысла, так как после такого хода выигрывает противник. Поэтому можно считать, что единственный возможный ход – это добавление в кучу одного камня.

При S = 18 после такого хода Паши в куче станет 19 камней. В этой позиции ходящий (т.е. Валя) выигрывает (смотрите пункт 1а): при S = 18 Паша (игрок, который должен ходить первым) проигрывает.

Выигрышная стратегия есть у Вали.

При S = 17, после того как Паша своим первым ходом добавит один камень, в куче станет 18 камней. В этой позиции ходящий (т.е. Валя) проигрывает (смотрите выше): при S = 17 Паша (игрок, который должен ходить первым) выигрывает. Выигрышная стратегия есть у Паши.

При S = 16 выигрышная стратегия есть у Вали. Действительно, если Паша первым ходом удваивает количество камней, то в куче становится 32 камня, и игра сразу заканчивается выигрышем Вали. Если Паша добавляет один камень, то в куче становится 17 камней. Как мы уже знаем, в этой позиции игрок, который должен ходить (т.е. Валя), выигрывает.

Во всех случаях выигрыш достигается тем, что при своѐм ходе игрок, имеющий выигрышную стратегию, должен добавить в кучу один камень.

Можно нарисовать деревья всех возможных партий для указанных значений S. Другая возможность (1) указать на то, что удваивать кучу не имеет смысла, и
(2) последовательно сводить случай S = 18 к случаю S = 19, случай S = 17 – к случаю S = 18 и т.д.

  1. При S = 9 или 8 выигрышная стратегия есть у Паши. Она состоит в том, чтобы удвоить количество камней в куче и получить кучу, в которой будет соответственно 18 или 16 камней. В обоих случаях игрок, который будет делать ход (теперь это Валя), проигрывает (смотрите пункт 1б).

  2. При S = 7 выигрышная стратегия есть у Вали. После первого хода Паши в куче может стать либо 8, либо 14 камней. В обеих этих позициях выигрывает игрок, который

будет делать ход (теперь это Валя). Случай S = 8 рассмотрен в пункте 2, случай S = 14 рассмотрен в пункте 1а.

В таблице изображено дерево возможных партий при описанной стратегии Вали. Заключительные позиции них выигрывает Валя) подчѐркнуты. На рисунке это же дерево изображено в графическом виде (оба способа изображения дерева допустимы).



Дерево всех партий, возможных при Валиной стратегии. Знаком >> обозначены позиции, в которых партия заканчивается.