Роботландский Университет 99/00
Турнир по программированию
Азы программирования
Рекомендации по перекрестной проверке работ
--------------------------------

            Рациональное оборудование рабочего места
                         (рекомендации)

Когда вы получите свой пакет для проверки, надо развернуть arj-архив.
Когда Вы это сделаете, то увидите 3 новых arj-архива. Это архивы
команд (работы которых вам предстоит проверить) с решениями задач и
текстовым файлом с описанием алгоритмов.

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

PROVERKA
|
|--05
|  |--kor.bat    командный файл для запуска Корректора
|  |--0511.kor  |
|  |--0511.srd  |  решения задач
|  |  ....      |  команды 3105 (распакованный  файл 05kor.arj)
|  |--0581.kor  |
|  |--0581.srd  |
|  |--05.txt    |  файл с описанием алгоритмов
|
|--08
|  |--kor.bat    командный файл для запуска Корректора
|  |--0811.kor  |
|  |--0811.srd  |  решения задач
|  |  ....      |  команды 3108 (распакованный  файл 08kor.arj)
|  |--0881.kor  |
|  |--0881.srd  |
|  |--08.txt    |  файл с описанием алгоритмов
| ...
|
|--kor.exe      файлы, необходимые для запуска Корректора
|--kor.ini      (эти файлы копируются из среды
|--kor.pcl       программного пакета Курсов)
|--kor.pcx

Во все каталоги, содержащие решения задач команд, надо поместить файл
kor.bat. Это обычный текстовый файл. Он может быть создан в любом
ASCII-редакторе и должен содержать единственную строку:

..\kor

Теперь для проверки, например, решений команды 3105 нужно в Нортоне
открыть каталог 05 и запустить файл kor.bat. Программа Корректор
запустится и при открытии дискового меню вы увидите список задач
команды 3105.

Проверив команду 3105, можно открыть следующий каталог, например, 08 и
проверить решения команды 3108. И так далее.


                Общие рекомендации по проверке

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

2) Проверка качества алгоритма. Нужно прочитать объяснение алгоритма,
приведенное автором, и проверить его соответствие программе при помощи
запуска "по шагам".

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

3) Оценка эффективности алгоритма и программы. Оценивайте
эффективность по трем признакам:

- универсальность алгоритма (алгоритмы, которые работают не для всех
возможных начальных состояний среды - ошибочные);

- число строк программы с кодом (чем меньше, тем лучше, но не за счет
нарушения структурных правил записи программ);

- время работы программы (чем меньше, тем лучше);

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


                         Критерий оценок

1. Если задача не решалась командой, то за нее выставляется 0 баллов.

2. Если задача имеет несколько вариантов решения, то выставляется
единственная оценка (балл) по лучшему варианту.

3. Программа не работает: выдается синтаксическая ошибка или сообщение
"Не могу". Может это недоразумение? Попробуйте обнаружить и исправить,
допущенную автором описку.

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

  3.2. Неверное решение. Если ошибки серьезные и связаны с неверным
  алгоритмом или неверной программой, выставляйте за задачу 1 балл.

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

5. Программа работает, но в ней есть ошибки (обнаружены состояния
среды, в которых программа работает неправильно). Ставьте оценку в
соответствии с приведенными ниже рекомендациями для каждой отдельной
задачи.

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

                     Рекомендации по задачам

Замечание. При необходимости можно использовать в качестве оценки
десятичную дробь (с точкой, а не запятой в качестве разделителя) из
диапазона 0 - максимальный бал. Например, за задачу 1 можно выставить
оценку 2.5. Не надо использовать более одной цифры после десятичной
точки.

Задача 1.   5 - однопроходное решение без замечаний
            4 - однопроходное решение с небольшими погрешностями
            3 - многопроходное правильное решение
            2 - многопроходное решение с небольшими погрешностями
            1 - неверное решение
            0 - не решали

Задача 2.   8 - оптимальное решение без замечаний
            7 - оптимальное решение с небольшими погрешностями
            6 - не оптимальное решение
            5 - не оптимальное решение с небольшими погрешностями
            4 - ошибки
            3-2 - грубые ошибки
            1 - неверное решение
            0 - не решали

Задача 3.   5 - частное оптимальное решение
            4 - частное оптимальное решение с небольшими погрешностями
            3 - общий алгоритм сортировки
            2 - общий алгоритм сортировки с небольшими погрешностями
            1 - неверное решение
            0 - не решали

Задача 4.   5 - оптимальное решение
            4 - оптимальное решение с небольшими погрешностями
            3 - не оптимальное решение
            2 - не оптимальное решение с небольшими погрешностями
            1 - неверное решение
            0 - не решали

Задача 5.   10  - оптимальное решение без замечаний
            9   - оптимальное решение с небольшими погрешностями
            8   - оптимальное решение с погрешностями
            7   - не оптимальное решение
            6   - не оптимальное решение с небольшими погрешностями
            5   - не оптимальное решение с погрешностями
            4-2 - грубые ошибки
            1   - неверное решение
            0   - не решали

Задача 6.   10  - оптимальное решение без замечаний
            9   - оптимальное решение с небольшими погрешностями
            8   - оптимальное решение с погрешностями
            7   - не оптимальное решение
            6   - не оптимальное решение с небольшими погрешностями
            5   - не оптимальное решение с погрешностями
            4-2 - грубые ошибки
            1   - неверное решение
            0   - не решали

Задача 7.   10  - оптимальное решение без замечаний
            9   - оптимальное решение с небольшими погрешностями
            8   - оптимальное решение с погрешностями
            7   - не оптимальное решение
            6   - не оптимальное решение с небольшими погрешностями
            5   - не оптимальное решение с погрешностями
            4-2 - грубые ошибки
            1   - неверное решение
            0   - не решали

Задача 8. Суммируются баллы за отдельные этапы решения.

      1)    7   - оптимальное определение и диаграмма
            6   - не оптимальное определение и диаграмма
            5-4 - ошибки
            3-2 - грубые ошибки
            1   - неверное решение
            0   - не решали

      2)    4 - анализатор полностью соответствующий диаграмме
            3 - анализатор полностью соответствующий диаграмме
                с мелкими погрешностями
            2 - правильный анализатор, не соответствующий диаграмме
            1   - неверное решение
            0   - не решали

      3)    10  - оптимальное решение без замечаний
            9   - оптимальное решение с небольшими погрешностями
            8   - оптимальное решение с погрешностями
            7   - не оптимальное решение
            6   - не оптимальное решение с небольшими погрешностями
            5   - не оптимальное решение с погрешностями
            4-2 - грубые ошибки
            1   - неверное решение
            0   - не решали

      4)    1   - верный ответ
            0   - неверный ответ

      5)    Один балл за каждое верное решение

      6)    Два балла за каждое верное решение, один балл
            за решение с небольшими погрешностями.

                       * * *


                 Оформление результатов проверки

Результаты проверки должны быть представлены по следующей форме:
--------------------------------------------------------------
Турнир по программированию. II тур. Корректор
Команда: NN  (две последние цифры регистрационного номера)
Руководитель:
Результаты проверки:

nn b1 b2 b3 b4 b5 b6 b7 b8 NN
nn b1 b2 b3 b4 b5 b6 b7 b8 NN
nn b1 b2 b3 b4 b5 b6 b7 b8 NN
nn b1 b2 b3 b4 b5 b6 b7 b8 NN

Комментарии:
        ....
        ....
--------------------------------------------------------------
В выше приведенном образце использованы следующие обозначения:

nn - номер команды, работа которой проверялась
b1 - оценка за первую задачу
b2 - оценка за вторую задачу
b3 - оценка за третью задачу
b4 - оценка за четвертую задачу
b5 - оценка за пятую задачу
b6 - оценка за шестую задачу
b7 - оценка за седьмую задачу
b8 - оценка за восьмую задачу
NN - номер команды, которая проверяла работу

В комментариях в свободной форме руководитель:

-- объясняет, как была организована проверка;

-- высказывает свои впечатления о проверенных работах;

-- ОБОСНОВЫВАЕТ, ВЫСТАВЛЕННЫЕ ОЦЕНКИ (ПО ВСЕМ ЗАДАЧАМ).

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


                  Посылка результатов проверки
                  ----------------------------

Результаты проверки высылаются по адресу
kurs@robotland.users.botik.ru
15 апреля 2000 года до 24 часов (почтовый штемпель отправителя).
