Методические материалы для председателей и членов предметных комиссий субъектов Российской Федерации 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Методические материалы для председателей и членов предметных комиссий субъектов Российской Федерации



ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ НАУЧНОЕ УЧРЕЖДЕНИЕ

«ФЕДЕРАЛЬНЫЙ ИНСТИТУТ ПЕДАГОГИЧЕСКИХ ИЗМЕРЕНИЙ»

Методические материалы для председателей и членов предметных комиссий субъектов Российской Федерации

По проверке выполнения заданий с развернутым ответом экзаменационных работ ЕГЭ 2020 года

ИНФОРМАТИКА И ИКТ

 

 

Москва

2020


Автор-составитель: Крылов С.С.

 

 

Методические материалы для председателей и членов предметных комиссий субъектов Российской Федерации по проверке выполнения заданий с развернутым ответом экзаменационных работ ЕГЭ 2020 г. по информатике и ИКТ подготовлены в соответствии с Тематическим планом работ Федерального государственного бюджетного научного учреждения «Федеральный институт педагогических измерений» на 2020 г. Пособие предназначено для подготовки экспертов по оцениванию выполнения заданий с развернутым ответом, которые являются частью контрольных измерительных материалов (КИМ) для сдачи единого государственного экзамена (ЕГЭ) по информатике и ИКТ.

В методических материалах дается краткое описание структуры контрольных измерительных материалов 2020 г. по информатике и ИКТ, характеризуются типы заданий с развернутым ответом, используемые в КИМ ЕГЭ по информатике и ИКТ, и критерии оценки выполнения заданий с развернутым ответом, приводятся примеры оценивания выполнения заданий и даются комментарии, объясняющие выставленную оценку.

 

Авторы будут благодарны за замечания и предложения по совершенствованию пособия.

 

 

© Крылов С.С. 2020.

© Федеральный институт педагогических измерений, 2020


ОГЛАВЛЕНИЕ

1. Общие подходы к разработке контрольных измерительных материалов егэ по информатике и ИКТ...................................... 4

2. Характеристика разных типов заданий с развернутым ответом и рекомендации по их оцениванию............................................ 6

2.1. Задания с развернутым ответом в структуре контрольных измерительных материалов для егэ по информатике и ИКТ 6

2.2. Варианты заданий части 2 и критерии оценивания... 8

Варианты задания 24 и критерии оценивания......................................................................... 8

Задание 24. Вариант 1................................................................................................................ 8

Задание 24. Вариант 2.............................................................................................................. 11

Вариант задания 25 и критерии оценивания.......................................................................... 14

Задание 25. Вариант 1.............................................................................................................. 14

Задание 25. Вариант 2.............................................................................................................. 18

Варианты задания 26 и критерии оценивания....................................................................... 22

Задание 26. Вариант 1.............................................................................................................. 22

Задание 26. Вариант 2.............................................................................................................. 25

Вариант задания 27 и критерии оценивания.......................................................................... 29

Задание 27. Вариант 1.............................................................................................................. 29

Задание 27. Вариант 2.............................................................................................................. 36

Инструкции и памятки по проверке работ............................ 43

Задание 24....................................................................................................................................... 43

Задание 25....................................................................................................................................... 43

Задание 26....................................................................................................................................... 43

Задание 27....................................................................................................................................... 44

Описание ситуаций сложных для оценивания................ 45

Задание 24....................................................................................................................................... 45

Задание 25....................................................................................................................................... 45

Задание 26....................................................................................................................................... 45

Задание 27....................................................................................................................................... 45

Указания по оцениванию развернутых ответов участников егэ для эксперта, проверяющего ответы на задания с развернутым ответом по информатике и ИКТ в 2020 г.................................... 46

1.   Общие рекомендации........................................................................................................... 46

2.   Рекомендации по отдельным заданиям........................................................................... 47


1. Общие подходы к разработке контрольных измерительных материалов ЕГЭ по информатике и ИКТ

 

Разработка системы единого государственного экзамена (ЕГЭ) включает в себя создание большого количества взаимосвязанных подсистем. Одной из них является формирование комплекса стандартизированной подготовки экспертов-предметников, включающей эффек­тив­ное обучение проверке заданий с развернутыми ответами контрольных измерительных материалов (в частности, по информатике) с точным соблюдением централизованно разработанных критериев оценивания выполнения учащимися заданий с развернутыми ответами. Решение этой задачи – одно из условий обеспечения объективности и надежности результатов, полученных в ходе единого государственного экзамена.

Предлагаемые методические материалы (ММ) для подготовки экспертов, привлекаемых для проверки заданий с развернутыми ответами по информатике и ИКТ в рамках ЕГЭ, разработаны на основе открытых вариантов КИМ ЕГЭ и анализа опыта подготовки экспертов последних лет. Предлагаемые материалы учитывают спецификацию экзаменационной работы 2020 года.

Экзаменационная работа состоит из двух частей. Часть 1 содержит 23 задания
с кратким ответом по всем основным разделам курса информатики. Задания части 2 направлены на проверку сформированности важнейших умений записи и анализа алгоритмов, предусмотренных требованиями к обязательному уровню подготовки
по информатике учащихся общеобразовательных учреждений. В этой части также проверяются умения выпускников решать задачи на повышенном и высоком уровне сложности по теме «Технология программирования». Решения заданий части 2 работы записываются в развернутой форме и проверяются экспертами региональных предметных комиссий. За выполнение каждого задания дается определенное количество баллов,
в зависимости от полноты и качества выполнения. Так, часть 2 включает 4 задания, что составляет почти 15% от общего количества заданий. При успешном их выполнении экзаменуемый может получить максимально 12 первичных баллов (т. е. примерно треть общего количества первичных баллов за всю работу). С другой стороны, эти задания являются самыми сложными и самыми трудоемкими: рекомендованное время
их выполнения в 1,6 раза превосходит время, отводимое на выполнение первой части работы.

 


 

Извлечения из Методических рекомендаций Рособрнадзора по формированию и организации работы предметных комиссий субъекта Российской Федерации при проведении государственной итоговой аттестации по образовательным программам среднего общего образования

Во время работы экспертам запрещается:

· иметь при себе средства связи, фото-, аудио- и видеоаппаратуру;

· копировать и выносить из помещений, в которых работает ПК, экзаменационные работы, критерии оценивания, протоколы проверки экзаменационных работ;

· разглашать информацию, содержащуюся в указанных материалах.

 

Также запрещается:

· без уважительной причины покидать аудиторию;

· переговариваться с другими экспертами ПК, если речь не идет о консультировании с председателем ПК или с экспертом ПК, назначенным по решению председателя ПК, консультантом.

 

Если у эксперта возникают вопросы или проблемы, он должен обратиться к председателю ПК или лицу, назначенному председателем ПК консультантом.

 


2. Характеристика разных типов заданий с развернутым ответом и рекомендации по их оцениванию

 

Задания с развернутым ответом в структуре контрольных измерительных материалов для ЕГЭ по информатике и ИКТ

 

Фрагменты спецификации экзаменационной работы по информатике и ИКТ 2020 года, относящиеся к заданиям части 2

 

Задания части 2 направлены на проверку сформированности важнейших умений записи и анализа алгоритмов, предусмотренных требованиями к обязательному уровню подготовки по информатике учащихся средних общеобразовательных учреждений. Эти умения проверяются на повышенном и высоком уровне сложности. Также на высоком уровне сложности проверяются умения по теме «Технология программирования».

 

Варианты заданий части 2 и критерии оценивания

Варианты задания 24 и критерии оценивания

 

Задание 24. Вариант 1

На обработку поступает натуральное число, не превышающее 109. Нужно написать программу, которая выводит на экран количество цифр этого числа, делящихся на 3. Если в числе нет цифр, делящихся на 3, на экран требуется вывести «NO». Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования.

Напоминание: 0 делится на любое натуральное число.

Бейсик Python
DIM N, DIGIT, COUNT AS LONG INPUT N COUNT = 1 WHILE N > 0 DIGIT = N MOD 10 IF DIGIT MOD 3 = 0 THEN COUNT = COUNT + DIGIT END IF N = N \ 10 WEND IF COUNT = 0 THEN PRINT "NO" ELSE PRINT COUNT END IF N = int(input()) count = 1 while N > 0: digit = N % 10 if digit % 3 == 0: count = count + digit N = N // 10 if count == 0: print("NO") else: print(count)
Алгоритмический язык Паскаль
алг нач цел N, digit, count ввод N count:= 1 нцпока N > 0 digit:= mod(N,10) если mod(digit,3) = 0 то count:= count + digit все N:= div(N,10) кц если count = 0 то вывод "NO" иначе вывод count все кон var N, digit, count: longint; begin readln(N); count:= 1; while N > 0 do begin digit:= N mod 10; if digit mod 3 = 0 then count:= count + digit; N:= N div 10; end; if count = 0 then writeln('NO') else writeln(count) end.

 

С ++
#include <iostream> using namespace std;   int main() { int N, digit, count; cin >> N; count = 1; while (N > 0) { digit = N % 10; if (digit % 3 == 0) count = count + digit; N = N / 10; } if (count == 0) cout << "NO" << endl; else cout << count << endl; return 0; }

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе числа 145.

2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.

3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:

1) выпишите строку, в которой сделана ошибка;

2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.

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

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

 


 

 

Содержание верного ответа и указания по оцениванию

(допускаются иные формулировки ответа, не искажающие его смысла)

Решение использует запись программы на Паскале. Допускается использование программы на любом из других четырёх языков.

1. Программа выведет число 1.

2. Программа выдаёт правильный ответ, например, для числа 140.

Замечание для проверяющего. Программа работает неправильно из-за неверного задания начального значения счётчика и неверного увеличения счётчика. Соответственно, программа будет работать верно, если в числе есть ровно один значащий 0 и нет других цифр, делящихся на 3.

3. В программе есть две ошибки.

Первая ошибка: неверное начальное значение счётчика.

Строка с ошибкой:

count:= 1;

Верное исправление:

count:= 0;

Вторая ошибка: неверное изменение счётчика.

Строка с ошибкой:

count:= count + digit;

Верное исправление:

count:= count + 1;

Указания по оцениванию Баллы
Обратите внимание! В задаче требовалось выполнить четыре действия: 1) указать, что выведет программа при конкретном входном числе; 2) указать пример входного числа, при котором программа выдаёт верный ответ; 3) исправить первую ошибку; 4) исправить вторую ошибку. Для проверки правильности выполнения п. 2) нужно формально выполнить исходную (ошибочную) программу с входными данными, которые указал экзаменуемый, и убедиться в том, что результат, выданный программой, будет таким же, как и для правильной программы. Для действий 3) и 4) ошибка считается исправленной, если выполнены оба следующих условия: а) правильно указана строка с ошибкой; б) указан такой новый вариант строки, что при исправлении другой ошибки получается правильная программа  
Выполнены все четыре необходимых действия, и ни одна верная строка не указана в качестве ошибочной 3
Не выполнены условия, позволяющие поставить 3 балла. Имеет место одна из следующих ситуаций: а) выполнены три из четырёх необходимых действий. Ни одна верная строка не указана в качестве ошибочной; б) выполнены все четыре необходимых действия. Указано в качестве ошибочной не более одной верной строки 2
Не выполнены условия, позволяющие поставить 2 или 3 балла. Выполнены два из четырёх необходимых действий 1
Не выполнены условия, позволяющие поставить 1, 2 или 3 балла 0
Максимальный балл 3

 

Задание 24. Вариант 2

 

На обработку поступает натуральное число, не превышающее 109. Нужно написать программу, которая выводит на экран сумму цифр числа, больших 5. Если в числе нет цифр, больших 5, требуется вывести на экран «NO». Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования.

Бейсик Python
DIM N, DIGIT, SUM AS LONG INPUT N SUM = N MOD 10 WHILE N > 0 DIGIT = N MOD 10 IF DIGIT > 5 THEN SUM = DIGIT END IF N = N \ 10 WEND IF SUM > 0 THEN PRINT SUM ELSE PRINT "NO" END IF N = int(input()) sum = N % 10 while N > 0: digit = N % 10 if digit > 5: sum = digit N = N // 10 if sum > 0: print(sum) else: print("NO")
Алгоритмический язык Паскаль
алг нач цел N, digit, sum ввод N sum:= mod(N,10) нцпока N > 0 digit:= mod(N,10) если digit > 5 то sum:= digit все N:= div(N,10) кц если sum > 0 то вывод sum иначе вывод "NO"    все кон var N, digit, sum: longint; begin readln(N); sum:= N mod 10; while N > 0 do begin digit:= N mod 10; if digit > 5 then sum:= digit; N:= N div 10; end; if sum > 0 then writeln(sum) else writeln('NO') end.

 

С ++
#include <iostream> using namespace std;   int main() { int N, digit, sum; cin >> N; sum = N % 10; while (N > 0) { digit = N % 10; if (digit > 5) sum = digit; N = N / 10; } if (sum > 0) cout << sum << endl; else cout << "NO" << endl; return 0; }

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе числа 748.

2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.

3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:

1) выпишите строку, в которой сделана ошибка;

2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.

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

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

 


 

 

Содержание верного ответа и указания по оцениванию

(допускаются иные формулировки ответа, не искажающие его смысла)

Решение использует запись программы на Паскале. Допускается использование программы на любом из других четырёх языков.

1. Программа выведет число 7.

2. Программа выдаёт правильный ответ, например, для числа 546.

Замечание для проверяющего. Программа работает неправильно из-за неверной начальной инициализации суммы и неверного увеличения суммы. Соответственно, программа будет работать верно, если в числе ровно одна цифра, большая 5, или таких цифр вообще нет и при этом число заканчивается на 0.

3. В программе есть две ошибки.

Первая ошибка: неверная инициализация суммы (переменная sum).

Строка с ошибкой:

sum:= N mod 10;

Верное исправление:

sum:= 0;

Вторая ошибка: неверное увеличение суммы.

Строка с ошибкой:

sum:= digit;

Верное исправление:

sum:= sum + digit;

Указания по оцениванию Баллы
Обратите внимание! В задаче требовалось выполнить четыре действия: 1) указать, что выведет программа при конкретном входном числе; 2) указать пример входного числа, при котором программа выдаёт верный ответ; 3) исправить первую ошибку; 4) исправить вторую ошибку. Для проверки правильности выполнения п. 2) нужно формально выполнить исходную (ошибочную) программу с входными данными, которые указал экзаменуемый, и убедиться в том, что результат, выданный программой, будет таким же, как и для правильной программы. Для действий 3) и 4) ошибка считается исправленной, если выполнены оба следующих условия: а) правильно указана строка с ошибкой; б) указан такой новый вариант строки, что при исправлении другой ошибки получается правильная программа  
Выполнены все четыре необходимых действия, и ни одна верная строка не указана в качестве ошибочной 3
Не выполнены условия, позволяющие поставить 3 балла. Имеет место одна из следующих ситуаций: а) выполнены три из четырёх необходимых действий. Ни одна верная строка не указана в качестве ошибочной; б) выполнены все четыре необходимых действия. Указано в качестве ошибочной не более одной верной строки 2
Не выполнены условия, позволяющие поставить 2 или 3 балла. Выполнены два из четырёх необходимых действий 1
Не выполнены условия, позволяющие поставить 1, 2 или 3 балла 0
Максимальный балл 3

 

Вариант задания 25 и критерии оценивания

 

Задание 25. Вариант 1

 

 

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от –10 000 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит максимальный элемент среди элементов массива, имеющих чётное значение, а затем заменяет каждый элемент с чётным значением на число, равное найденному максимуму. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.

Например, для исходного массива из шести элементов:

8

3

4

5

13

10

программа должна вывести следующий массив

10

3

10

5

13

10

 

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

Бейсик Python
CONST N AS INTEGER = 30 DIM A (1 TO N) AS LONG DIM I AS LONG, J AS LONG, K AS LONG   FOR I = 1 TO N INPUT A(I) NEXT I ...   END # допускается также # использовать две # целочисленные переменные j и k a = [] n = 30 for i in range(0, n): a.append(int(input())) ...

 

Алгоритмический язык Паскаль
алг нач цел N = 30 целтаб a[1:N] цел i, j, k нцдля i от 1 до N    ввод a[i] кц ...   кон const N = 30; var a: array [1..N] of longint; i, j, k: longint; begin for i:= 1 to N do    readln(a[i]); ...   end.

C++

#include <iostream>

using namespace std;

const int N = 30;

int main() {

long a[N];

long i, j, k;

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

   cin >> a[i];

...

return 0;

}

 

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

 

 


 

 

Содержание верного ответа и указания по оцениванию (допускаются иные формулировки ответа, не искажающие его смысла)
На языке Паскаль
k:= -10000; for i:= 1 to N do if (a[i] mod 2 = 0) and (a[i] > k) then k:= a[i]; for i:= 1 to N do begin if (a[i] mod 2 = 0) then a[i]:= k; writeln(a[i]); end;
На Алгоритмическом языке
k:= -10000 нцдля i от 1 до N если mod(a[i], 2) = 0 и a[i] > k то k:= a[i] все кц нцдля i от 1 до N если mod(a[i], 2) = 0 то a[i]:= k все вывод a[i], нс кц
На языке Бейсик
K = -10000 FOR I = 1 TO N IF A(I) MOD 2 = 0 AND A(I) > K THEN K = A(I) END IF NEXT I FOR I = 1 TO N IF A(I) MOD 2 = 0 THEN A(I) = K END IF PRINT A(I) NEXT I
На языке С++
k = -10000; for (i = 0; i < N; i++) if (a[i] % 2 == 0 && a[i] > k) k = a[i]; for (i = 0; i < N; i++) { if (a[i] % 2 == 0) a[i] = k; cout << a[i] << endl; }

 

На языке Python

k = -10000

for i in range(0, n):

if (a[i] % 2 == 0 and a[i] > k):

   k = a[i]

for i in range(0, n):

if (a[i] % 2 == 0):

   a[i] = k

print(a[i]) 

Указания по оцениванию Баллы
Общие указания. 1. В алгоритме, записанном на языке программирования, допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора программы. 2. Эффективность алгоритма не имеет значения и не оценивается. 3. Допускается запись алгоритма на языке программирования, отличном от языков, приведённых в условии. В этом случае должны использоваться переменные, аналогичные описанным в условии. Если язык программирования использует типизированные переменные, описания переменных должны быть аналогичны описаниям переменных на Алгоритмическом языке. Использование нетипизированных или необъявленных переменных возможно только в случае, если это допускается языком программирования; при этом количество переменных и их идентификаторы должны соответствовать условию задачи. 4. Допускается формат вывода массива, отличный от указанного, например в строчку  
Предложен правильный алгоритм, который изменяет исходный массив и выводит в качестве результата изменённый массив 2
Не выполнены условия, позволяющие поставить 2 балла. При этом предложено в целом верное решение, содержащее не более одной ошибки из числа следующих: 1) в цикле происходит выход за границу массива; 2) не инициализируется или неверно инициализируется максимум; 3) неверно осуществляется проверка чётности; 4) проверяется чётность не элемента массива, а его индекса; 5) в сравнении с максимумом перепутаны знаки «меньше» и «больше»; 6) сравнение с максимумом производится для индекса элемента массива, а не для его значения; 7) неверно составлено логическое условие (например, используется or вместо and); 8) исходный массив не изменяется; 9) изменяются не все требуемые элементы (например, только первый или последний из них); 10) отсутствует вывод ответа, или ответ выводится не полностью (например, только один элемент массива ввиду пропущенного цикла вывода элементов или операторных скобок); 11) используется переменная, не объявленная в разделе описания переменных; 12) не указано или неверно указано условие завершения цикла; 13) индексная переменная в цикле не меняется (например, в цикле while) или меняется неверно 1
Ошибок, перечисленных в п. 1–13, две или больше, или алгоритм сформулирован неверно (в том числе при отсутствии в явном или неявном виде цикла поиска нужного элемента) 0
Максимальный балл 2

 


Задание 25. Вариант 2

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит сумму элементов массива, не меньших 99 и при этом не кратных 4, а затем заменяет каждый такой элемент на число, равное найденной сумме. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.

Например, для исходного массива из шести элементов:

101

128

6

105

4

18

программа должна вывести следующий массив:

206

128

6

206

4

18

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

 

Бейсик Python
CONST N AS INTEGER = 30 DIM A (1 TO N) AS LONG DIM I AS LONG, J AS LONG, K AS LONG   FOR I = 1 TO N INPUT A(I) NEXT I ...   END # допускается также # использовать две # целочисленные переменные j и k a = [] n = 30 for i in range(0, n): a.append(int(input())) ...
Алгоритмический язык Паскаль
алг нач цел N = 30 целтаб a[1:N] цел i, j, k нцдля i от 1 до N    ввод a[i] кц ...   кон const N = 30; var a: array [1..N] of longint; i, j, k: longint; begin for i:= 1 to N do    readln(a[i]); ...   end.

C++

#include <iostream>

using namespace std;

const int N = 30;

int main() {

long a[N];

long i, j, k;

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

   cin >> a[i];

...

return 0;

}

 

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

 


 

Содержание верного ответа и указания по оцениванию

(допускаются иные формулировки ответа, не искажающие его смысла)

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

k:= 0;

for i:= 1 to N do

if (a[i] >= 99) and (a[i] mod 4 <> 0) then

k:= k + a[i];

for i:= 1 to N do begin

if (a[i] >= 99) and (a[i] mod 4 <> 0) then

a[i]:= k;

writeln(a[i]);

end;

На Алгоритмическом языке

k:= 0

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

если a[i] >= 99 и mod(a[i], 4) <> 0

то

k:= k + a[i]

все

кц

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

если a[i] >= 99 и mod(a[i], 4) <> 0

то

a[i]:= k

все

вывод a[i], нс

кц

На языке Бейсик

K = 0

FOR I = 1 TO N

IF A(I) >= 99 AND A(I) MOD 4 <> 0 THEN

K = K + A(I)

END IF

NEXT I

FOR I = 1 TO N

IF A(I) >= 99 AND A(I) MOD 4 <> 0 THEN

A(I) = K

END IF

PRINT A(I)

NEXT I

На языке С++

k = 0;

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

if (a[i] >= 99 && a[i] % 4!= 0)

k = k + a[i];

for (i = 0; i < N; i++) {

if (a[i] >= 99 && a[i] % 4!= 0)

a[i] = k;

cout << a[i] << endl;

}

На языке Python

k = 0

for i in range(0, n):

if (a[i] >= 99 and a[i] % 4!= 0):

   k = k + a[i]

for i in range(0, n):

if (a[i] >= 99 and a[i] % 4!= 0):

   a[i] = k 

print(a[i])

Указания по оцениванию Баллы
Общие указания. 1. В алгоритме, записанном на языке программирования, допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора программы. 2. Эффективность алгоритма не имеет значения и не оценивается. 3. Допускается запись алгоритма на языке программирования, отличном от языков, приведённых в условии. В этом случае должны использоваться переменные, аналогичные описанным в условии. Если язык программирования использует типизированные переменные, описания переменных должны быть аналогичны описаниям переменных на Алгоритмическом языке. Использование нетипизированных или необъявленных переменных возможно только в случае, если это допускается языком программирования; при этом количество переменных и их идентификаторы должны соответствовать условию задачи. 4. Допускается формат вывода массива, отличный от указанного, например в строчку  
Предложен правильный алгоритм, который изменяет исходный массив и выводит в качестве результата изменённый массив 2
Не выполнены условия, позволяющие поставить 2 балла. При этом предложено в целом верное решение, содержащее не более одной ошибки из числа следующих: 1) в цикле происходит выход за границу массива; 2) не инициализируется или неверно инициализируется сумма найденных элементов; 3) неверно осуществляется проверка делимости на 4; 4) проверяется делимость на 4 не элемента массива, а его индекса; 5) неверно осуществляется сравнение с 99 (например, используется знак «больше»); 6) сравнение с 99 производится для индекса элемента массива, а не для его значения; 7) неверно составлено логическое условие (например, используется or вместо and); 8) не вычисляется или неверно накапливается сумма найденных элементов; 9) исходный массив не изменяется или изменяется неверным образом; 10) отсутствует вывод ответа, или ответ выводится не полностью (например, только один элемент массива ввиду пропущенного цикла вывода элементов или операторных скобок); 11) используется переменная, не объявленная в разделе описания переменных; 12) не указано или неверно указано условие завершения цикла; 13) индексная переменная в цикле не меняется (например, в цикле while) или меняется неверно 1
Ошибок, перечисленных в п. 1–13, две или больше, или алгоритм сформулирован неверно (в том числе при отсутствии в явном или неявном виде цикла подсчёта суммы нужных элементов) 0
Максимальный балл 2

Варианты задания 26 и критерии оценивания

Задание 26. Вариант 1.

 

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

Игра завершается в тот момент, когда количество камней в куче становится не менее 22. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 22 или больше камней.

 В начальный момент в куче было S камней, 1 ≤ S ≤ 21.

 

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

 

Выполните следующие задания. Во всех случаях обосновывайте свой ответ.

  1.  а) При каких значениях числа S Петя может выиграть первым ходом? Укажите все такие значения.

 б) Укажите такое значение S, при котором Петя не может выиграть за один ход,
но при любом ходе Пети Ваня может выиграть своим первым ходом. Опишите выигрышную стратегию Вани.

  1.  Укажите два значения S, при которых у Пети есть выигрышная стратегия, причем (а) Петя не может выиграть первым ходом, но (б) Петя может выиграть своим вторым ходом, независимо от того, как будет ходить Ваня.

Для указанных значений S опишите выигрышную стратегию Пети.

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

Для указанного значения S опишите выигрышную стратегию Вани. Постройте дерево всех партий, возможных при этой выигрышной стратегии Вани (в виде рисунка или таблицы). На ребрах дерева указывайте, кто делает ход, в узлах – количество камней в позиции.

 


 

Содержание верного ответа и указания по оцениванию (допускаются иные формулировки ответа, не искажающие его смысла)

(допускаются иные формулировки ответа, не искажающие его смысла)

  1. а) Петя может выиграть первым ходом, если S =11, …, 21. Во всех случаях нужно удвоить количество камней в куче. При меньших значениях S за один ход нельзя получить кучу, в которой больше 21 камня.

б) Ваня может выиграть первым ходом (как бы ни играл Петя), если исходно в куче будет S =10 камней. Тогда после первого хода Пети в куче будет 11 камней или 20 камней. В обоих случаях Ваня удваивает количество камней и выигрывает первым ходом.

 

  1.  Возможные значения S: 5 и 9. В этих случаях Петя, очевидно, не может выиграть первым ходом. Однако он может получить кучу из 10 камней. Эта позиция разобрана в п. 1б. В ней игрок, который будет ходить (теперь это Ваня), выиграть не может,
    а его противник (то есть, Петя) следующим ходом выиграет.
  2. Возможное значение S: 8. После первого хода Пети в куче будет 9 или 16 камней. Если в куче станет 16 камней, Ваня удвоит количество камней и выиграет первым ходом. Ситуация, когда в куче 9 камней, разобрана в п. 2. В этой ситуации игрок, который будет ходить (теперь это Ваня), выигрывает своим вторым ходом.

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

 

 

Положения после очередных ходов

И.п. 1-й ход Пети (разобраны все ходы) 1-й ход Вани (только ход по стратегии) 2-й ход Пети (разобраны все ходы) 2-й ход Вани (только ход по стратегии)

8

8+1 = 9

9+1= 10

10+1=11 11*2=22
10*2=20 20*2=40
8*2=16 16*2=32    

 

 

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


 



Поделиться:


Читайте также:




Последнее изменение этой страницы: 2021-05-12; просмотров: 137; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.0.25 (0.231 с.)