Сложные для оценивания ситуации
Задание С1
Рассматриваются сложные ситуации на примере варианта 1 задания С1.
В ответе на первый вопрос указано несколько примеров
Если при ответе на первый вопрос выпускник указал несколько примеров или описал множество входных примеров, при которых программа неверно решает поставленную задачу, то если все указанные примеры являются подходящими, ответ на первый вопрос оценивается в 1 балл. Если же среди примеров есть хотя бы один неподходящий, то решение оценивается в 0 баллов.
Например, если выпускник дал ответ «Точка (0,0) или точка (0, -3)», то такой ответ оценивается в 1 балл, поскольку для первой точки программа не выведет ничего, а для второй точки выведет неверный ответ «принадлежит». Если же выпускник дал ответ «Точка (0,0) или точка (-2, 0)», то такой ответ оценивается в 0 баллов, так как для второй указанной точки программа выдает верный ответ «Принадлежит» (заметим, что эта точка лежит на границе области, что часто приводит к ошибкам).
Аналогично следует поступать если вместо одной точки указано некоторое бесконечное множество точек. Например, ответ «программа неверно решает поставленную задачу если x< -2» оценивается в 1 балл, так как для всех точек, у которых x< -2 программа ничего не выводит, то есть неверно решает поставленную задачу. Если же дан ответ «программа неверно решает поставленную задачу если x≤ -2», то решение оценивается в 0 баллов, так как среди указанного множества есть точки, для которых программа верно решает поставленную задачу, например, точка x=-2, y=0. Аналогично, ответ «программа неверно решает поставленную задачу при y<0» оценивается в 0 баллов, так как среди точек с y<0 есть как точки, для которых программа работает неправильно, так и точки, для которых программа правильно решает поставленную задачу (например, точка x=3, y=-1).
В ответе на первый вопрос точка (множество точек) явно не указаны
Если в ответе на первый вопрос нет явного задания точки (множества точек), а написаны некоторые общие слова, например «Программа неверено решает поставленную задачу если невыполнено первое условие if», то такой ответ оценивается в 0 баллов, поскольку в первом вопросе требуется явно привести пример таких чисел.
Ответ на второй вопрос записан на другом языке программирования
Несмотря на то, что задание С1 довольно простое и для доработки не требуется хорошо разбираться в тех языках программирования, на которых записаны примеры программ, возможна ситуация, когда вместо доработки предложенных решений записано решение на ином языке программирования. Несмотря на то, что в условии требуется «доработать» предложенные программы, а не написать программу заново, решения, записанные на иных языках программирования следует проверить и оценить исходя из полного балла. Использование иного языка программирования не может быть поводом для снижения балла.
Вместо неравенства y>=0 добавлено неравенство y>0
Выпускник вместо верного условия y>=0 добавил неверное условие y>0. Тем самым доработка программы произведена неверно, поскольку для точки x=-2, y=0, находящейся на границе области программа раньше выводила правильный ответ «принадлежит», а после доработки выводит неправильный ответ «не принадлежит». Поэтому такой ответ не может быть оценен в два балла, поскольку в полном и правильном ответе не должно быть случаев неверной работы программы и решение следует оценить в один балл.
Если же доработка изначально была неполной, то есть выпускник не исправил все ошибки, а при добавлении нового условия y>=0 добавил неверное условие y>0, то снижать балл за это не следует и задание нужно оценить в один балл.
Исправлена одна ошибка, связанная с неверным заданием области и одна ошибка, связанная с отсутствием else
Выпускник обнаружил оба типа ошибок – и ошибку неверного задания области, и ошибку, связанную с отсутствием else. Первая ошибка исправлена полностью (добавлено условие y>=0), а вторая ошибка исправлена частично (добавлен только один else, а не два). В этом случае доработка программы выполнена не полностью, поэтому доработку следует оценить в 1 балл.
При доработке решения добавлены дополнительные условия
Возможно, что выпускник в своем решении добавляет какие-то иные условия, не предусмотренные условием задачи и верным решением. Здесь необходимо определить, насколько добавленные условия влияют на ход работы программы.
Возможно, что добавленное условие является «лишним», то есть его добавление никак не влияет на ответ и программа всегда верно решает поставленную задачу. Пример такого «лишнего» условия – x<0. Поскольку эффективность решения в задании C1 не оценивается, то в этом случае баллы за дополнительные условия не снижаются.
Но возможна ситуация, когда добавленное условие неверно ограничивает заданную область, например, если добавлено условие y<1. Поскольку в этом случае доработка «ломает» предлагаемое решение, то есть появляются точки, для которых программа раньше работала правильно, а после доработки стала работать неправильно, то такое решение следует оценить в 0 баллов.
Доработанное решение не удается оценить по критериям
Возможно, что при доработке решение не исправляется, а переписывается оригинальным образом, совсем непохожим на данные в условии примеры программ, при этом не удается оценить решение по предлагаемым критериям (то есть нельзя ответить на вопрос «исправлена ли хотя бы одна ошибка» или «исправлены ли все ошибки»). В этом случае программа оценивается формально с точки зрения того, для какого множества точек программа верно решает поставленную задачку.
Если программа верно решает поставленную задачу для всех точек плоскости, то доработка оценивается в 2 балла.
Если предложенная выпускником программа работает верно не для всех точек плоскости, а только для части из них, при этом программа работает «лучше», чем та, которая дана в условии задачи, то доработка оценивается в 1 балл. Это означает, что если программа из условия для какой-то точки правильно решала поставленную задачу, то и программа выпускника должна правильно решать задачу, а также появилась хотя бы одна точка, для которой программа из условия решала задачу неправильно, а программа выпускника – правильно.
Доработка оценивается в 0 баллов если доработка не выполнена (т.е. нет точек, в которых программа выпускника дает правильный ответ, а программа из условия – неправильный), или если доработанная программа стала работать «хуже» (т.е. есть такая точка, в которой программа из условия работала верно, а программа выпускника – неверно).
Задание С3
При оценивании задания следует обратить внимание на два обстоятельства: насколько полно и правильно описана выигрывающая стратегия и насколько строго она обоснована.
1. Выигрышная стратегия должна быть явно указана.
Если решение варианта 1 сводится к тому, что второй игрок должен (1) не позволять первому игроку набрать 48 камней и (2) стараться сам набрать 48 камней, то такое решение неудовлетворительно и должно быть оценено 0 баллов («Задание не выполнено или в представленном решении полностью отсутствует описание элементов выигрышной стратегии, и отсутствует анализ вариантов первого-второго ходов играющих (даже при наличии правильного указания выигрывающего игрока)»).
2. Выигрышная стратегия должна быть полна.
Например, пусть в варианте 1, экзаменуемый правильно определяет выигрыш второго игрока и обосновывает это тем, что при первом ходе (10, 6) выигрышный ответ (10, 12); при первом ходе (15, 6) выигрышный ответ (45, 6).
Такой ответ должен быть оценен в 1 балл, поскольку «Правильно указан выигрыш второго игрока, но описание выигрышной стратегии неполно и для некоторых (больше одного, но не всех) вариантов хода первого игрока правильно указан выигрывающий ответ второго игрока.» - не рассмотрены все варианты ходов первого игрока и не рассмотрены продолжения игры.
3. Выигрышная стратегия должна быть строго обоснована.
Вот пример решения варианта 1: Выигрывает второй игрок. Если первый игрок утроит количество камней в любой кучке, то второй утроит количество камней в той же кучке. Если первый игрок удвоит количество камней в любой кучке, то второй удвоит количество камней в другой кучке. Своим следующим ходом второму игроку следует утроить количество камней в первой кучке.
Выигрышная стратегия описана явно и полно, но отсутствует доказательство ее правильности, поэтому решение должно быть оценено в 2 балла.
Следует обратить внимание на то, что в тех случаях, когда обоснование стратегии присутствует, эксперту следует принять решение о том, насколько оно строго.
4. Решение может быть оценено в 1 балл, даже если неправильно указан выигрывающий игрок, особенно если эта ошибка является результатом невнимательности или арифметического просчета.
Например, в варианте 1 экзаменуемый решил, что выигрывает первый игрок. Он рассмотрел возможные ходы первого игрока, рассмотрел ответ (12, 10) второго игрока на ходы (6, 10) и (12, 5) и ошибочно решил, что ход (12, 10) не приводит второго игрока к выигрышу, поскольку 12 + 10 = 22 < 48, а своим следующим ходом первый игрок утроит первую кучку и сразу выиграет (арифметическая ошибка).
Данное решение следует оценить в 1 балл, поскольку «Правильно указаны варианты хода первого игрока и возможные ответы второго игрока (в том числе и все выигрышные), но неверно определены дальнейшие действия и неправильно указан победитель.»
Задание С4
1) Ученик неверно организует считывание данных, в результате чего программа оказывается неработоспособной. В данном случае можно предположить, что при отладке программы в среде программирования, данная ошибка была бы исправлена, поэтому ее надо рассматривать как одну из ошибок (см. критерии присвоения двух баллов), а основную часть программы оценивать в предположении, что данные введены корректно.
2) В решении присутствует опечатка, в результате которой оно становится синтаксически или логически неверным (a[i] вместо a[j], a[i] вместо a[i].x, read вместо readln и т.п.). Если в результате опечатки оценка решения согласно критериям должна быть снижена до 1–2 баллов, то ее можно рассматривать как синтаксическую ошибку и оценивать решение из 3-4-х баллов.
3) Если в реализации эффективного решения, близкого к эталонному, есть одна ошибка (например, неверная граница цикла, или ошибка во вводе данных, которая может быть легко исправлена при наличии среды программирования), то решение следует оценивать из трех баллов.
4) Программистские ошибки (например, не инициализация значения переменной там, где это безусловно необходимо, или выход за границу массива) в большинстве случаев следует приравнивать к синтаксическим. Объясняется это тем, что подобная программа, возможно, все же будет работать корректно, или ошибка легко могла бы быть исправлена при наличии среды программирования. То же самое относится к ошибочному выбору констант (количество дней в том или ином месяце, половина баллов от максимально возможных на олимпиаде, коды символов при переводе символа в число и наоборот и т.п.)
5) По невнимательности решается не совсем та задача. Например, выводится количество призеров, а не минимальный балл призера в варианте 1, или для каждого месяца выводится значение отклонения среднемесячной температуры от среднегодовой, а не ищется минимальное отклонение в варианте 1. Тогда, те части решения, которые в программе отсутствуют (например, поиск минимального балла) следует приравнивать к ошибкам в соответствующих алгоритмах, если об этом явно не говорится в критериях оценивания. Задача оценивается из одного-двух баллов.
6) В реализации каждого этапа решения задачи допущена принципиальная ошибка, хотя ход решения верный, но по формальным критериям оно оценивается нулем баллов. В этом случае следует рассмотреть программу в целом на предмет присвоения данному решению 1 балла.
7) Учащийся не успел дописать программу до конца или оставил место в реализации одной из частей алгоритма. Здесь также можно считать отсутствующие части решения ошибками (например, отсутствие вывода результата – одна ошибка), но оценивать решение в целом.
8) Решение задачи является эффективным с точки зрения вычислительной сложности алгоритма, однако для хранения входных данных экзаменуемый использует массивы (размер которых невозможно определить из условия задачи) или строки произвольной длины, хотя фактически они для решения не требуются. Кроме того, в программе присутствует еще одна незначительная ошибка (например, при вводе данных), которую сложно приравнять к синтаксической. Такое решение все же можно оценивать из трех баллов, а не из двух, как это формально следует из критериев оценивания.
9) Ход решения совершенно не похож на описанные в критериях оценивания, а из-за ошибок в реализации сложно разобраться, можно ли исправить программу так, чтобы она хотя бы иногда работала верно. В этом случае решение оценивается 0 или 1 баллом, но эта оценка может быть существенно повышена в ходе апелляции. На апелляции экзаменуемый может рассказать свой алгоритм решения задачи, а эксперты заново проверят его реализацию. После чего решение оценивается также, как это было описано выше, в зависимости от количества сделанных ошибок и их характера.
10) Программа написана на языке программирования, с которым эксперт практически не знаком, в частности на языке Си, Python, Ruby, PHP. Такая программа, тем не менее, как-то должна быть оценена. Это же относится и к особенностям современных версий языков Паскаль (Дельфи) и Бейсик (Вижуал-Бейсик). При необходимости эксперт может воспользоваться справочной литературой (в том числе в сети Интернет) или средами программирования.