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



 

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

 

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

 

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

В части 2 всего четыре задания, относящиеся к повышенному и высокому уровню сложности.

Если для заданий базового уровня предполагаемый процент выполнения 60%–80%, то для заданиий повышенного и высокого уровня сложности требования более высокие. Для задания 24 повышенного уровня предполагаемый процент выполнения от 40 % до 60%, а для остальных заданий части 2 предполагаемый процент выполнения от 10% до 30%.

Система оценивания выполнения заданий с развернутым ответом и экзаменационной работы в целом

 

Ответы на задания части 2 проверяются и оцениваются экспертами (устанавливается соответствие ответов определенному перечню критериев).

Максимальное количество баллов, которое можно получить за выполнение заданий части 2, – 12 баллов.


 

Фрагмент обобщенного плана экзаменационной работы по информатике и ИКТ 2019 г.

№ п/п Обо­зна­чение зада­ния Проверяемые элементы содержания и виды деятельности Коды проверя­емых элементов содержания по кодифика-тору Коды требований к уровню подготовки выпускников по кодифика-тору Уровень слож­ности задания Макси­маль­ный балл за задание При­мерное время выпол­не­ния (мин)
  ... ...
Часть 3
24 24 Умение прочесть фрагмент программы на языке программирования и исправить допущенные ошибки 1.7.2 1.1.4 П 3 30
25 25 Умения написать короткую (10–15 строк) простую программу обработки массива на языке программирования 1.6.3 1.1.5   В 2 30
26 26 Умение построить дерево игры по заданному алгоритму и обосновать выигрышную стратегию 1.5.2 1.1.3 В 3 30
27 27 Умения создавать собственные программы (30–50 строк) для решения задач средней сложности 1.7.3 1.1.5 В 4 55

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

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

 

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

 

 

Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится количество цифр этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)

Бейсик Паскаль
DIM N AS LONG INPUT N sum = 0 WHILE N >= 9  N = N \ 10  sum = sum + 1 WEND PRINT sum END var N: longint;  sum: integer; begin  readln(N);  sum := 0;  while N >= 9 do  begin  N := N div 10;  sum := sum + 1;  end;  writeln(sum); end.
Си Алгоритмический язык
#include<stdio.h> int main() {  long int N;  int sum;  scanf("%ld", &N);  sum = 0;  while (N >= 9)  {  N = N / 10;  sum = sum + 1;  }  printf("%d", sum); } алг нач  цел N, sum  ввод N  sum := 0  нцпока N >= 9  N := div(N, 10)  sum := sum + 1  кц  вывод sum кон

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

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

2. Укажите число, для которого программа будет работать верно.

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

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

 

 

 

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

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

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

2. Программа работает верно для всех чисел, начинающихся на 9, в том числе для числа 9. [Достаточно указать любое такое число.]

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

1) исправление условия продолжения цикла на
while (N >= 1) do или while (N > 0) do
При этом замена на

while (N >= 0) do

корректной не является.

2) исправление инициализации на
sum := 1

а условие продолжения цикла на

while (N > 9) do или while (N >= 10) do

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

 


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

 

 

Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится количество цифр этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках.)

Бейсик Паскаль
DIM N AS LONG INPUT N sum = 1 WHILE N > 1  N = N \ 10  sum = sum + 1 WEND PRINT sum END var N: longint;  sum: integer; begin  readln(N);  sum := 1;  while N > 1 do  begin  N := N div 10;  sum := sum + 1;  end;  writeln(sum); end.
Си Алгоритмический язык
#include<stdio.h> int main() {  long int N;  int sum;  scanf("%ld", &N);  sum = 1;  while (N > 1)  {  N = N /10;  sum = sum + 1;  }  printf("%d", sum); } алг нач  цел N, sum  ввод N  sum := 1  нцпока N > 1  N := div(N, 10)  sum := sum + 1  кц  вывод sum кон

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

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

2. Укажите одно число, для которого программа будет работать верно.

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

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

 


 

 

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

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

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

2. Программа работает верно для любого числа, начинающегося с 1, в том числе для 1. [Достаточно указать любое такое число.]

3. В качестве ответа для остальных чисел программа выдаёт число на 1 большее, чем нужно. Возможные варианты исправления для языка Паскаль:

1) исправление условия продолжения цикла на
while (N > 9) do

2) исправление инициализации на
sum := 0

а условие продолжения цикла на

while (N >= 1) do или while (N > 0) do

При этом замена на

while (N >= 0) do

корректной не является.

3) исправление условия продолжения цикла на
while (N >= 1) do или while (N > 0) do
и вывод значения sum-1

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

 

 


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

 

Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится минимальная цифра этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)

 

Бейсик Паскаль
DIM N AS LONG INPUT N min_digit = 9 WHILE N >= 10  digit = N MOD 10  IF digit < min_digit THEN  min_digit = digit  END IF  N = N \ 10 WEND PRINT digit END var N: longint;  digit, min_digit: integer; begin  readln(N);  min_digit := 9;  while N >= 10 do  begin  digit := N mod 10;  if digit < min_digit then  min_digit := digit;  N := N div 10;  end;  writeln(digit); end.
Си Алгоритмический язык
#include<stdio.h> int main() {  long int N;  int digit, min_digit;  scanf("%ld", &N);  min_digit = 9;  while (N >= 10)  {  digit = N % 10;  if (digit < min_digit)  min_digit = digit;  N = N / 10;  }  printf("%d", digit); } алг нач  цел N, digit, min_digit  ввод N  min_digit := 9  нцпока N >= 10  digit := mod(N, 10)  если digit < min_digit то  min_digit := digit  все  N := div(N, 10)  кц  вывод digit кон

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

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

2. Приведите пример числа, при вводе которого программа работает правильно, несмотря на содержащиеся в ней ошибки.

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

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

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

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

 

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

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

 

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

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

2. Верным ответом является любое число 10<=N<=109, минимальной цифрой которого является вторая цифра слева. Например, число 11 или 9899.

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

Первая ошибка. Неверное условие окончания цикла. Программа не будет рассматривать старшую цифру числа.

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

while N >= 10 do

Возможные варианты исправления:

while (N >= 1)

или

while (N > 0)

При этом замены на

while (N > 1) или while (N >= 0)

корректными не являются

3. Вторая ошибка. Программа выводит значение переменной digit, а не min_digit.
В результате программа всегда выводит вторую слева цифру числа.

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

writeln(digit);

Необходимо в строке с выводом результата заменить digit на min_digit

Указания по оцениванию

Баллы

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

 

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

3

Не выполнены условия, позволяющие поставить 3 балла. Имеет место одна из следующих ситуаций: а) выполнены три из четырёх необходимых действий. Ни одна верная строка не указана в качестве ошибочной; б) выполнены все четыре необходимых действия. Указано в качестве ошибочной не более одной верной строки

2

Не выполнены условия, позволяющие поставить 2 или 3 балла. Выполнены два необходимых действия из четырёх

1

Не выполнены условия, позволяющие поставить 1, 2 или 3 балла.

0

Максимальный балл

3

     

 

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

 

Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится минимальная цифра этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)

Бейсик Паскаль
DIM N AS LONG INPUT N min_digit = 0 WHILE N > 0  digit = N MOD 10  IF digit < min_digit THEN  min_digit = digit  END IF  N = N \ 10 WEND PRINT digit END var N: longint;  digit, min_digit: integer; begin  readln(N);  min_digit := 0;  while N > 0 do  begin  digit := N mod 10;  if digit < min_digit then  min_digit := digit;  N := N div 10;  end;  writeln(digit); end.
Си Алгоритмический язык
#include<stdio.h> int main() {  long int N;  int digit, min_digit;  scanf("%ld", &N);  min_digit = 0;  while (N > 0)  {  digit = N % 10;  if (digit < min_digit)  min_digit = digit;  N = N / 10;  }  printf("%d", digit); } алг нач  цел N, digit, min_digit  ввод N  min_digit := 0  нцпока N > 0  digit := mod(N, 10)  если digit < min_digit то  min_digit := digit  все  N := div(N, 10)  кц  вывод digit кон

 

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

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

2. Приведите пример числа, при вводе которого программа работает правильно, несмотря на содержащиеся в ней ошибки.

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

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

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

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

 

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

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

 

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

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

2. Верным ответом является любое число 1<=N<=109, минимальной цифрой которого является самая левая цифра. Например, числа 1, 22 или 789.

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

Первая ошибка. Неверная инициализация ответа (переменная min_digit).

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

min_digit := 0;

Возможные варианты исправления:

min_digit := 9;

Возможны и другие исправления инициализации на любое число, большее 9.

Вторая ошибка. Программа выводит значение переменной digit, а не min_digit.
В результате программа всегда выводит самую старшую цифру числа.

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

writeln(digit);

Необходимо в строке с выводом результата заменить digit на min_digit

Указания по оцениванию

Баллы

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

 

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

3

Не выполнены условия, позволяющие поставить 3 балла. Имеет место одна  из следующих ситуаций: а) выполнены три из четырёх необходимых действий. Ни одна верная строка не указана в качестве ошибочной; б) выполнены все четыре необходимых действия. Указано в качестве ошибочной не более одной верной строки

2

Не выполнены условия, позволяющие поставить 2 или 3 балла. Выполнены два необходимых действия из четырёх

1

Не выполнены условия, позволяющие поставить 1, 2 или 3 балла.

0

Максимальный балл

3

     

 


Дата добавления: 2020-04-08; просмотров: 201; Мы поможем в написании вашей работы!

Поделиться с друзьями:






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