Главная
Случайная страница
Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Критерии оценивания заданий с развёрнутым ответом. Дан целочисленный массив из 20 элементов
Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от –10 000 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых хотя бы одно число делится на 3. В данной задаче под парой подразумевается два подряд идущих элемента массива.
Например, для массива из пяти элементов: 6; 2; 9; –3; 6 – ответ: 4.
Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
Бейсик
| Python
| CONST N AS INTEGER = 20
DIM A (1 TO N) AS INTEGER
DIM I AS INTEGER,
J AS INTEGER,
K AS INTEGER
FOR I = 1 TO N
INPUT A(I)
NEXT I
...
END
| # допускается также
# использовать две
# целочисленные переменные j и k
a = []
n = 20
for i in range(0, n):
a.append(int(input()))
...
| Алгоритмический язык
| Паскаль
| алг
нач
цел N = 20
целтаб a[1:N]
цел i, j, k
нцдля i от 1 до N
ввод a[i]
кц
...
кон
| const
N = 20;
var
a: array [1..N] of integer;
i, j, k: integer;
begin
for i:= 1 to N do
readln(a[i]);
...
end.
|
Си
| Естественный язык
| #include <stdio.h>
#define N 20
int main() {
int a[N];
int i, j, k;
for (i = 0; i<N; i++)
scanf("%d", &a[i]);
...
return 0;
}
| Объявляем массив A из 20 элементов.
Объявляем целочисленные переменные I, J, K.
В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й.
…
| В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).
Содержание верного ответа и указания по оцениванию
(допускаются иные формулировки решений, приводящие к правильному результату)
| На языке Паскаль
| k:= 0;
for i:= 1 to N-1 do
if (a[i] mod 3=0) or (a[i+1] mod 3=0) then
inc(k);
writeln(k);
| На алгоритмическом языке
| k:= 0;
нцдля i от 1 до N-1
если mod(a[i],3)=0 или mod(a[i+1],3)=0
то
k:= k+1
все
кц
вывод k
| На языке Бейсик
| K = 0
FOR I = 1 TO N-1
IF (A(I) MOD 3 = 0) OR (A(I + 1) MOD 3 = 0) THEN
K = K+1
END IF
NEXT I
PRINT K
| На языке Си
| k = 0;
for (i = 0; i<N-1; i++)
if (a[i]%3 == 0 || a[i+1]%3 == 0)
k++;
printf("%d", k);
| На языке Python
| k = 0
for i in range(0, n – 1):
if (a[i] % 3 == 0 or a[i + 1] % 3 == 0):
k += 1
print(k)
| На естественном языке
| Записываем в переменную K начальное значение, равное 0. В цикле от первого элемента до предпоследнего находим остаток от деления текущего и следующего элемента массива на 3. Если первый или второй из полученных остатков равен 0, увеличиваем переменную K на единицу.
После завершения цикла выводим значение переменной K
| Указания по оцениванию
| Баллы
| Общие указания.
1. В алгоритме, записанном на языке программирования, допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора программы.
2. Эффективность алгоритма не имеет значения и не оценивается.
3. Допускается запись алгоритма на языке программирования, отличном от языков, перечисленных в условии. В этом случае должны использоваться переменные, аналогичные описанным в условии. Если язык программирования использует типизированные переменные, описания переменных должны быть аналогичны описаниям переменных на естественном языке. Использование нетипизированных или необъявленных переменных возможно только в случае, если это допускается языком программирования; при этом количество переменных и их идентификаторы должны соответствовать условию задачи
| | Предложен правильный алгоритм, выдающий в качестве результата верное значение
|
|
Не выполнены условия, позволяющие поставить 2 балла. Предложено в целом верное решение, содержащее не более одной ошибки из числа следующих:
1) в цикле происходит выход за границу массива (например, используется цикл от 1 до N);
2) не инициализируется или неверно инициализируется счётчик количества найденных пар;
3) счётчик количества пар в цикле не изменяется или изменяется неверно;
4) неверно проверяется делимость на 3;
5) на делимость проверяются не сами элементы, а их индексы;
6) при проверке выполнения условия для пары элементов используются неверные индексы;
7) в сложном логическом условии простые проверки верны, но условие в целом построено неверно (например, перепутаны операции «И» и «ИЛИ», неверно расставлены скобки в логическом выражении);
8) отсутствует вывод ответа;
9) используется переменная, не объявленная в разделе описания переменных;
10) не указано или неверно указано условие завершения цикла;
11) индексная переменная в цикле не меняется (например, в цикле while) или меняется неверно;
12) неверно расставлены операторные скобки
|
| Ошибок, перечисленных в п. 1–12, две или больше, или алгоритм сформулирован неверно (в том числе при отсутствии цикла в явном или неявном виде)
|
| Максимальный балл
| 2
|
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в два раза. Например, пусть в одной куче 10 камней, а в другой 7 камней; такую позицию в игре будем обозначать (10, 7). Тогда за один ход можно получить любую из четырёх позиций: (11, 7), (20, 7), (10, 8), (10, 14). Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.
Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 55. Победителем считается игрок, сделавший последний ход, т.е. первым получивший такую позицию, что в кучах всего будет 55 или больше камней.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. Например, при начальных позициях (4, 26) и (5, 25) выигрышная стратегия есть у Пети. Чтобы выиграть, ему достаточно удвоить количество камней во второй куче.
Задание 1. Для каждой из начальных позиций (4, 25), (6, 24) укажите, кто из игроков имеет выигрышную стратегию. В каждом случае опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии.
Задание 2. Для каждой из начальных позиций (4, 24), (5, 24), (6, 23) укажите, кто из игроков имеет выигрышную стратегию. В каждом случае опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии.
Задание 3. Для начальной позиции (5, 23) укажите, кто из игроков имеет выигрышную стратегию. Опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии. Постройте дерево всех партий, возможных при указанной Вами выигрышной стратегии. Представьте дерево в виде рисунка или таблицы.
Содержание верного ответа и указания по оцениванию
(допускаются иные формулировки ответа, не искажающие его смысла)
| Задание 1. В начальных позициях (4, 25), (6, 24) выигрышная стратегия есть у Вани. При начальной позиции (4, 25) после первого хода Пети может получиться одна из следующих четырёх позиций: (5, 25), (8, 25), (4, 26), (4, 50). Каждая из этих позиций содержит менее 55 камней. При этом из любой из этих позиций Ваня может получить позицию, содержащую не менее 55 камней, удвоив количество камней во второй куче. Для позиции (6, 24) после первого хода Пети может получиться одна из следующих четырёх позиций: (7, 24), (12, 24), (6, 25), (6, 48). Каждая из этих позиций содержит менее 55 камней. При этом из любой из этих позиций Ваня может получить позицию, содержащую не менее 55 камней, удвоив количество камней во второй куче. Таким образом, Ваня при любом ходе Пети выигрывает своим первым ходом.
Задание 2. В начальных позициях (4, 24), (5, 24) и (6, 23) выигрышная стратегия есть у Пети. При начальной позиции (4, 24) он должен первым ходом получить позицию (4, 25), из начальных позиций (5, 24) и (6, 23) Петя после первого хода должен получить позицию (6, 24). Позиции (4, 25) и (6, 24) рассмотрены при разборе задания 1. В этих позициях выигрышная стратегия есть у игрока, который будет ходить вторым (теперь это Петя). Эта стратегия описана при разборе задания 1. Таким образом, Петя при любой игре Вани выигрывает своим вторым ходом.
Задание 3. В начальной позиции (5, 23) выигрышная стратегия есть у Вани. После первого хода Пети может возникнуть одна из четырёх позиций: (6, 23), (5, 24), (10, 23) и (5, 46). В позициях (10, 23) и (5, 46) Ваня может выиграть одним ходом, удвоив количество камней во второй куче. Позиции (6, 23) и (5, 24) были рассмотрены при разборе задания 2. В этих позициях у игрока, который должен сделать ход (теперь это Ваня), есть выигрышная стратегия. Эта стратегия описана при разборе задания 2. Таким образом, в зависимости от игры Пети Ваня выигрывает на первом или на втором ходу.
Примечание для эксперта. Последняя фраза в приведённом решении избыточна. Не будет ошибкой, если экзаменуемый просто напишет, например, «При выбранной стратегии партия длится не более двух ходов».
В таблице изображено дерево возможных партий при описанной стратегии Вани. Заключительные позиции (в них выигрывает Ваня) выделены жирным шрифтом.
| Положения после очередных ходов
| Исходное положение
| 1-й ход Пети (разобраны все ходы, указана полученная позиция)
| 1-й ход Вани (только ход по стратегии, указана полученная позиция)
| 2-й ход Пети (разобраны все ходы, указана полученная позиция)
| 2-й ход Вани (только ход по стратегии, указана полученная позиция)
| (5, 23) Всего: 28
| (5, 23+1) = (5, 24)
Всего: 29
| (5+1, 24) =
(6, 24)
Всего: 30
| (6+1, 24) =
(7, 24)
Всего: 31
| (7, 24*2) =
(7, 48)
Всего: 55
| (6, 24+1) =
(6, 25)
Всего: 31
| (6, 25*2) =
(6, 50)
Всего: 56
| (6*2, 24) = (12, 24)
Всего: 36
| (12, 24*2) = (12, 48)
Всего: 60
| (6, 24*2) =
(6, 48)
Всего: 54
| (6, 48*2) =
(6, 96)
Всего: 102
| (5+1, 23) = (6, 23)
Всего: 29
| (6, 23+1) =
(6, 24)
Всего: 30
| (6+1, 24) = (7, 24) Всего: 31
| (7, 24*2) = (7, 48) Всего: 55
| (6, 24+1) = (6, 25) Всего: 31
| (6, 25*2) = (6, 50) Всего: 56
| (6*2, 24) = (12, 24)
Всего: 36
| (12, 24*2) = (12, 48)
Всего: 60
| (6, 24*2) =
(6, 48)
Всего: 54
| (6, 48*2) =
(6, 96)
Всего: 102
| (5*2, 23) = (10, 23)
Всего: 33
| (10, 23*2) = (10, 46)
Всего: 56
|
|
| (5, 23*2) = (5, 46) Всего: 51
| (5, 46*2) =
(5, 92)
Всего: 97
|
|
|
Примечание для эксперта. Дерево всех партий может быть также изображено в виде ориентированного графа – так, как показано на рисунке, или другим способом. Например, вершины дерева, соответствующие одной и той же позиции, на рисунке могут быть «склеены». Важно, чтобы множество полных путей в графе находилось во взаимно однозначном соответствии с множеством партий, возможных при описанной в решении стратегии.
Рис. 1. Дерево всех партий, возможных при описанной стратегии Вани. Ходы Пети показаны пунктирными стрелками, ходы Вани показаны сплошными стрелками. Заключительные позиции обозначены прямоугольником
Примечание для эксперта. В некоторых позициях у Вани есть и другой способ выигрыша: например, в позиции (6, 48) можно добавить один камень в любую кучу. То, что это не указано, не является ошибкой. Экзаменуемый не должен указывать все возможные выигрышные стратегии
| Указания по оцениванию
| Баллы
| В задаче от ученика требуется выполнить три задания. Количество баллов в целом соответствует количеству выполненных заданий (подробнее см. ниже).
Ошибка в решении, не искажающая основного замысла и не приведшая к неверному ответу, например арифметическая ошибка при вычислении количества камней в заключительной позиции, при оценке решения не учитывается.
Во всех случаях стратегии могут быть описаны так, как это сделано в примере решения, или другим способом
|
| Выполнены все три задания.
Здесь и далее в решениях допускаются арифметические ошибки, которые не искажают сути решения и не приводят к неправильному ответу
|
| Не выполнены условия, позволяющие поставить 3 балла, и выполнено хотя бы одно из следующих условий.
- Выполнено задание 3.
- Выполнены задания 1 и 2
|
| Не выполнены условия, позволяющие поставить 2 или 3 балла, и выполнено хотя бы одно из следующих условий.
- Выполнено задание 1.
- Выполнено задание 2
|
| Не выполнено ни одно из условий, позволяющих поставить 1, 2 или 3 балла
|
| Максимальный балл
| 3
|
Date: 2015-12-13; view: 1279; Нарушение авторских прав Понравилась страница? Лайкни для друзей: |
|
|