Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Описание входных и выходных данных




В первой строке входных данных задаётся количество чисел N (1≤N≤1000). В каждой из последующих N строк записано одно целое положительное число, не превышающее 10 000. В качестве результата программа должна напечатать одно число: количество пар, в которых произведение элементов не кратно 34.

Пример входных данных:

3

4

10

11

17

Пример выходных данных для приведённого выше примера входных данных:

8

Пояснение. Из четырёх заданных чисел можно составить 10 попарных произведений: 3·4, 3·10, 3·11, 3·17, 4·10, 4·11, 4·17, 10·11, 10·17, 11·17 (результаты: 12, 30, 33, 51, 40, 44, 68, 110, 170, 187). Из них на 34 не делятся 8 произведения (3·4=12, 3·10=30, 3·11=33, 3·17=51, 4·10=40, 4·11=44, 10·11=110, 11·17=187).

Требуется написать эффективную по времени и по памяти программу для решения описанной задачи.

Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз.

Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает 1 Кбайт и не увеличивается с ростом N.

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

Максимальная оценка за правильную программу, эффективную только по времени – 3 балла.

Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, – 2 балла.

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

Перед текстом программы обязательно кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию.

 

 



Система оценивания экзаменационной работы по информатике и ИКТ

Часть 1

За правильный ответ на задания 1–23 ставится 1 балл; за неверный ответ или его отсутствие – 0 баллов.

 

№ задания Ответ
1 15
2 wzyx
3 35
4 5
5 100
6 115
7 3010
8 200
9 2
10 248
11 1514321
12 248
13 105
14 152
15 8
16 27
17 25
18 101
19 0
20 425
21 4
22 14
23 121


Часть 2

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

Бейсик Python
COUNT = 0 MAXIMUM = 1000 FOR I = 1 TO 4 INPUT X IF X MOD 3<> 0 THEN COUNT = COUNT + 1 IF X > MAXIMUM THEN MAXIMUM = I END IF END IF NEXT I      IF COUNT >THEN PRINT COUNT PRINT MAXIMUM ELSE PRINT “NO” END IF count = 0; maximum = 1000; for i in range(4): x = int(input()); if x % 3!= 0: count = count + 1; if x > maximum:   maximum = i; if count > 0: print(count); print(maximum); else: print("NO")
C++ Паскаль
#include <iostream> intmain(){ inti, x, maximum; count = 0; maximum = 1000; for (i=1; i<= 4; i++) { std::cin>> x; if ( x % 3!= 0 ) { count = count + 1; if ( x > maximum )     maximum = i; } } if ( count > 0 ) { std::cout<< count <<endl; std::cout<< maximum else std::cout<< "NO";            return 0; } vari, x:integer; var maximum, count: integer; begin count := 0; maximum := 1000; for i:=1 to 4 do begin read( x ); if x mod 3<> 0 then begin count := count + 1; if x > maximum then     maximum := i; end; end; if count > 0 then begin writeln(count); writeln(maximum); end else writeln('NO');            end.

 

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

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

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

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

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

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

1. При вводе числа 7 15 8 21 программа сначала выведет 2, затем 1000.

2. Примеры чисел, при вводе которых программа выводит корректный ответ: 2 3 4 1000.

Комментарий для экспертов. Программа выводит сначала количество чисел, не кратных 3, за тем выводит1000. Либо корректно работает при отсутствии в ряду таких чисел.

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

Перваяошибка:

maximum := 1000;

Исправленная строка:

maximum := 0;

Втораяошибка:

maximum := i;

Исправленная строка:

maximum := x;

Пояснение для эксперта

В неправильной версии алгоритм никогда не зайдет в условие изменения максимума, т.к. в переменной maximumуже записано максимальное значение. Если же исправить инициализацию переменной maximum (ошибка 1), то в данной переменной будет хранится индекс считанного числа, что неверно. Поэтому необходимо в качестве нового значения переменной maximumуказать считанное значение x (ошибка 2).

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

Незначительной опиской, не влияющей на оценку, следует считать отсутствие служебных слов и знаков после содержательной части исправления

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

25
Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, который находитколичество двузначных элементов массива, не делящихся на 3, после чего заменяет в массиве соответствующие значения на найденное количество. После чего выводит полученный массив на экран.

 

 

Бейсик

Python

CONST N = 40 DIM A (1 TO N) AS INTEGER DIM I, J, K AS INTEGER   FOR I = 1 TO N INPUT A(I) NEXT I …  END

# допускается также
# использовать две
# целочисленные
# переменные j, k
a = []
n = 40
for i inrange(n):
a.append(int(input()))
...

C++

Паскаль

#include <iostream> #define n 40 intmain() { int a[n]; inti, j, k; for (i = 0; i< n; i++) std::cin>> a[i]; ... return 0; }

const n = 40;
var

 a: array [0..n-1] of integer;
i, j, k: integer;
begin
for i := 0 to n-1 do
readln(a[i]);
...
end.

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

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

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

k := 0;

for i:=0 to n do

if (a[i]<100)AND(a[i] mod 3 <>0)then k:=k+1;

 

for i:=0 to n do

if (a[i]<100)AND(a[i] mod 3 <>0)then a[i] := k;

 

for i:=0 to n do

writeln(a[i]);

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

Баллы

Общие указания

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

2. Эффективность алгоритма не имеет значения и не оценивается.

3. Допускается запись алгоритма на языке программирования, отличном от языков, перечисленных в условии. В этом случае должны использоваться переменные, аналогичные описанным в условии. Если язык программирования использует типизированные переменные, описания переменных должны быть аналогичны описаниям переменных на естественном языке. Использование нетипизированных или необъявленных переменных возможно только в случае, если это допускается языком программирования; при этом количество переменных и их идентификаторы должны соответствовать условию задачи

 

Предложен правильный алгоритм, выдающий в качестве результата верное значение

2

Не выполнены условия, позволяющие поставить 2 балла. Предложено в целом верное решение, содержащее не более одной ошибки из числа следующих:

1) в цикле происходит выход за границу массива (например, при использовании цикла от 1 до N);

2) не инициализируется или неверно инициализируется счётчик количества искомых элементов;

3) счётчик количества искомых элементов в цикле не изменяется или изменяется неверно;

4) неверно определено условие нахождения описанных значений;

5) при проверке выполнения условия используются неверные индексы;

6) неверно осуществляется переопределение значений элементов массива;

7) используется переменная, не объявленная в разделе описания переменных;

8) индексная переменная в цикле не меняется (например, в цикле while) или меняется неверно;

9) неверно расставлены операторные скобки

1

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

0

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

2
     

26
Два игрока, Паша и Вася, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Паша. За один ход игрок может добавить в кучу один или четыре камняили увеличить количество камней в куче в пять раз. Игра завершается в тот момент, когда количество камней в куче становится не менее 69. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 69 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 68.

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

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

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

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

1. а) ≥14. При количестве камней в куче от 14 Паше необходимо увеличить количество камней в пять раз, тем самым получив 70 или более камней.

б) 13. Паша своим первым ходом может сделать 14, 17 или 65 камней, после этого Вася увеличивает количество камней в пять раз, получая 70, 85 или 325 камней в куче.

 

2. 9, 12. Для данных случаев Паше необходимо прибавить 4 камня к куче из 9 камней, либо 1 камень к куче из 12 камней, и получить кучу из 13 камней. После чего игра сводится к стратегии, описанной в пункте 1б.

  Паша   Вася   Паша  
9 +4

13

+1 14 *5 70
12 +1 +4 17 *5 85
    *5 65 *5 325

 

 

3. 8. Своим первым ходом Паша может сделать количество камней в куче 9, 12 или 40. Если Паша делает ход «увеличить в пять раз», тогда Вася выигрывает своим первым ходом, увеличивая количество камней в пять раз.

Для случая 9 и 12 камней Вася использует стратегию, указанную в п.2.

Данную стратегию можно представить в виде таблицы.

  Паша   Вася   Паша   Вася  

8

+1 9 +4

13

+1 14 *5 70

+4

12

+1

+4 17 *5 85
*5 65 *5 325
*5 40            

 

Указания по оцениванию Баллы
Предварительные замечания В задаче от ученика требуется выполнить три задания. Их трудность возрастает. Количество баллов в целом соответствует количеству выполненных заданий (подробнее см. ниже). Пункт 1а считается выполненным, если указаны все варианты. Пункт 1б считается выполненным, если (i) правильно найдено описанное в условии значение. Первое задание считается выполненным полностью, если выполнены полностью оба пункта: 1а и 1б. Замечание для проверяющего. Описать стратегию игрока – значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника (см. условие задачи). Есть два основных способа сделать это. (1) Можно построить дерево всех партий, возможных при выбранной стратегии, и убедиться, что все заключительные позиции являются выигрышными для игрока, реализующего стратегию. (2) Можно свести задачу к рассмотренным выше позициям. Например, выигрышную стратегию для игрока, который ходит первым, можно описать, указав ход, ведущий в позицию, для которой известна выигрышная стратегия для игрока, который ходит вторым. Чтобы подобным образом описать выигрышную стратегию для игрока, который ходит вторым, нужно перебрать все возможные первые ходы первого игрока и убедиться, что для всех полученных позиций мы знаем выигрышную стратегию для игрока, который ходит первым.  Экзаменуемый может описывать стратегию любым удобным ему способом. Существенно (повторим), чтобы (1) для каждой позиции, которая может встретиться игроку, реализующему стратегию, было понятно, какой ход он должен сделать, и (2) было показано, что все возможные заключительные позиции выигрышные для этого игрока. Задание 2 считается выполненным, если (i) правильно указаны оба значения, и (ii) описаны все выигрышные стратегии. Задание 3 считается выполненным, если (i) правильно указано значение, при котором второй игрок имеет выигрышную стратегию; (ii) правильно описано дерево всех партий, возможных при этой выигрышной стратегии (в виде рисунка или таблицы). При этом допускаются арифметические ошибки, не искажающие сути решения. Во всех случаях стратегии могут быть описаны так, как это сделано в примере решения, или другим способом  
Выполнены второе и третье задания. Для первого задания правильно указаны ответы на пункты 1а и 1б. 3
Не выполнены условия, позволяющие поставить 3 балла, и выполнено одно из следующих условий. · Выполнено третье задание. · Выполнены первое и второе задания. 2
Не выполнены условия, позволяющие поставить 3 или 2 балла, и выполнено одно из следующих условий. · Первое задание выполнено, возможно, с недочётами, указанными в критериях на 3 балла. · Второе задание выполнено, возможно, с недочётами, указанными в критериях на 2 балла. · Для второго и третьего заданий во всех случаях правильно указан игрок, имеющий выигрышную стратегию 1
Не выполнено ни одно из условий, позволяющих поставить 1, 2 или 3 балла 0
Максимальный балл 3

На вход программы поступает последовательность из N целых положительных чисел, все числа в последовательности различны. Рассматриваются все пары различных элементов последовательности (элементы пары не обязаны стоять в последовательности рядом, порядок элементов в паре не важен). Необходимо определить количество пар, для которых произведение элементов не делится на 34.

27
Описание входных и выходных данных

В первой строке входных данных задаётся количество чисел N (1≤N≤1000). В каждой из последующих N строк записано одно целое положительное число, не превышающее 10 000. В качестве результата программа должна напечатать одно число: количество пар, в которых произведение элементов не кратно 34.

Пример входных данных:

3

4

10

11

17

Пример выходных данных для приведённого выше примера входных данных:

8

Пояснение. Из четырёх заданных чисел можно составить 10 попарных произведений: 3·4, 3·10, 3·11, 3·17, 4·10, 4·11, 4·17, 10·11, 10·17, 11·17 (результаты: 12, 30, 33, 51, 40, 44, 68, 110, 170, 187). Из них на 34 не делятся 8 произведения (3·4=12, 3·10=30, 3·11=33, 3·17=51, 4·10=40, 4·11=44, 10·11=110, 11·17=187).

Требуется написать эффективную по времени и по памяти программу для решения описанной задачи.

Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз.

Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает 1 Кбайт и не увеличивается с ростом N.

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

Максимальная оценка за правильную программу, эффективную только по времени – 3 балла.

Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, – 2 балла.

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

Перед текстом программы обязательно кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию.

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

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

Решение эффективное по памяти и времени (Задача Б).

Решение основано на подсчете количества чисел кратных 2 и не кратных 17, кратных 17 и не кратных 2, не кратных 2 и не кратных 17. После чего, найдя количество комбинаций чисел из этих групп, получается ответ.

Обозначим за k2 – количество чисел кратных 2 и не кратных 17, за k17–количество чисел кратных 17 и не кратных 2, за k–количество чисел не кратных 2 и не кратных 17. Тогда количество чисел будет равно k2*(k2-1) + k17*(k17-1) + k*(k-1) + k2*k + k17*kили k2*(k+k2-1) + k17*(k+k17-1) + k*(k-1).

 

Программа на языке Pascal.

vark2, k17, k: integer;

n, i, x: integer;

 

begin

k := 0; k2 := 0; k17 := 0;

readln(n);

for i:=1 to n do begin

readln(x);

   if x mod 34 <> 0 then begin

       if x mod 2 = 0 then k2 := k2 + 1

       else if x mod 17 = 0 then k17 := k17 + 1

       else k := k + 1;

   end;

end;

 

writeln(k2*(k+k2-1) + k17*(k+k17-1) + k*(k-1));

end.

 

 

Решение не эффективное по памяти и по времени (Задача А).

 

var N: integer;

a: array[1..10000] of integer;

i, j, k: integer;

 

begin

readln(N);

for i:=1 to N do read(a[i]);

k:= 0;

for i:= 1 to N-1 do

for j:= i+1 to N do

  if a[i]*a[j] mod 34 <> 0 then

k := k + 1;

writeln(k)

end.

Указания по оцениванию Баллы
Предварительные замечания. 1. В задаче есть два задания (А и Б). Соответственно, ученик может представить две программы. В каждой из программ должно быть указано, решением какого из заданий она является. Если в работе представлена одна программа, то в ней также должно быть указано, решением какого из заданий она является. 2. Если ученик не указал, к какому заданию относится программа, или можно предположить, что ученик ошибся в идентификации программ, необходимо следовать приведённым ниже инструкциям. Случай 2.1. Ученик представил только одну программу. Следует рассматривать программу как решение задания Б и оценивать её по соответствующим критериям. Случай 2.2. Ученик представил две программы, но указание задания есть только для одной из программ. Следует рассматривать вторую программу как ответ на оставшееся задание. Случай 2.3. Ученик представил две программы; ни для одной из них задание не указано, или в обоих решениях указано одно и то же задание. Следует первую (по порядку в представленных учеником материалах) программу рассматривать как ответ на задание А, а вторую – как ответ на задание Б. Случай 2.4. Ученик представил более двух программ. Следует рассматривать только две последние программы и соотносить их с заданиями по правилам 2.1–2.3. Случай 2.5. Решение, представленное в качестве решения задания А, по критериям для задания Б может быть оценено в 3 или 4 балла. При этом решение, представленное в качестве решения задания Б, оценено меньшим баллом. Следует считать, что ученик перепутал обозначения заданий и оценивать решение, представленное как решение задания А, по критериям задания Б.   НАПОМИНАЕМ! Итоговый балл за задачу – это бόльший из баллов, полученных учеником за каждое из двух представленных решений. Пояснения для проверяющих. 1. Задание Б является усложнением задания А. Если в качестве решения задания Б представлено решение задания А, то считается, что учеником допущена опечатка, и решение оценивается по критериям для задания А. В качестве решения задания А может быть представлена программа, которая решает задачу при произвольном количестве входных данных (как в задании Б), осуществляя полный перебор всех вариантов. Такая программа неэффективна по времени, поэтому она должна оцениваться 2 баллами. 2. Два задания (и, соответственно, возможность для экзаменуемого представить две программы) дают ученику возможность (при его желании) сначала написать менее сложное и менее эффективное решение (задание А), которое даёт ему право получить 2 балла, а затем приступить к поиску более эффективного решения. 3. Приведённые в п. 2.1–2.5 правила имеют целью избежать снижения баллов из-за того, что ученик перепутал обозначения заданий.   Общие принципы оценивания решений 4 балла ставится за эффективную и правильно работающую программу, решающую задачу в общем случае (задача Б). При этом программа может содержать до трёх синтаксических ошибок («описок»). 3 балла ставится в случае, когда фактически задача решена и решена эффективно по времени, возможно, с хранением всех входных данных в массиве, но количество «описок» более трёх (но не более пяти) и допущено не более одной содержательной ошибки, не позволяющей усомниться в том, что экзаменуемый правильно придумал алгоритм. 2 балла ставится, если программа, решающая задачу Б, в дополнение к неточностям, которые перечислены выше, работает неэффективно по времени и/или допущено до трёх упомянутых выше содержательных ошибок. Количество допустимых «описок» – до семи. 2 балла также ставится за правильное решение упрощенной задачи (задача А). 1 балл ставится, если программа написана неверно, но из описания алгоритма и общей структуры программы видно, что экзаменуемый в целом правильно представляет путь решения задачи. Далее эти общие принципы уточнены  
Критерии оценивания задания А  
При решении задачи A программа верно находит требуемую сумму для любых 6 пар исходных данных. Допускается до пяти синтаксических и приравненных к ним ошибок (см. критерии оценивания задания Б на 4 балла) 2
Не выполнены условия, позволяющие поставить 2 балла. Из описания алгоритма и общей структуры программы видно, что Экзаменуемый в целом правильно представляет путь решения задачи. Допускается любое количество «описок» 1
Не выполнены критерии, позволяющие поставить 1 или 2 балла 0
Максимальный балл для задания А 2
Критерии оценивания задания Б  
Программа правильно работает для любых соответствующих условию входных данных и при этом эффективна как по времени, так и по памяти, т.е. не используются массивы и другие структуры данных (в том числе стек рекурсивных вызовов), размер которых зависит от количества входных элементов, а время работы пропорционально этому количеству. Возможно использование массивов и динамических структур данных при условии, что в них в каждый момент времени хранится фиксированное количество элементов, требующих для хранения меньше 1Кб. Программа может содержать не более трёх синтаксических ошибок следующих видов: 1) пропущен или неверно указан знак пунктуации; 2) неверно написано или пропущено зарезервированное слово языка программирования; 3) не описана или неверно описана переменная; 4) применяется операция, недопустимая для соответствующего типа данных. К синтаксическим ошибкам приравнивается использование неверного типа данных. Если одна и та же ошибка встречается несколько раз, она считается за одну ошибку 4
Не выполнены условия, позволяющие поставить 4 балла. Программа в целом работает правильно для любых входныхданных произвольного размера. Время работы пропорционально количеству введённых чисел; правильно указано, какие величины должны вычисляться по ходу чтения элементов последовательности чисел. Количество синтаксических ошибок («описок») указанных выше видов – не более пяти. Используемая память, возможно, зависит от количества прочитанных чисел (например, входные данные запоминаются в массиве, контейнере STL в C++ или другой структуре данных). Допускается ошибка при вводе и выводе данных, не влияющая на содержание решения. Программа может содержать не более пяти синтаксических и приравненных к ним ошибок, описанных в критериях на 4 балла. Кроме того, допускается наличие одной ошибки, принадлежащей к одному из следующих видов: 1) ошибка инициализации, в том числе отсутствие инициализации; 2) не выводится результат, равный 0, или вместо 0 выводится неверное значение; 3) допущен выход за границу массива; 4) используется знак “<” вместо “<=”, “or” вместо “and” и т.п. 5) неверная работа с индексами элементов буфера. 3
Не выполнены условия, позволяющие поставить 3 или 4 балла. Программа работает в целом верно, эффективно или нет, например, для решения задачи используется перебор всех возможных вариантов выбора элементов в парах. В реализации алгоритма допускается до трёх содержательных ошибок, допустимые виды ошибок перечислены в критериях на 3 балла. Количество синтаксических «описок» не должно быть более семи. Программа может быть неэффективна по времени, например, все числа запоминаются в массиве и перебираются все возможные произведения, т.е., по сути, реализовано решение задачи А без ограничений на количество введённых пар 2
Не выполнены условия, позволяющие поставить 2, 3 или 4 балла. Из описания алгоритма и общей структуры программы видно, что экзаменуемый в целом правильно представляет путь решения задачи. Допускается любое количество «описок». 1 балл ставится также за решения, верные лишь в частных случаях 1
Не выполнены критерии, позволяющие поставить 1, 2, 3 или 4 балла 0
Максимальный балл для задания Б 4
Итоговый максимальный балл 4

 










Последнее изменение этой страницы: 2018-05-10; просмотров: 418.

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