Домашние задания являются важной составной частью процесса обучения и вносят существенный вклад в итоговую оценку.
Как делать домашние задания?
- Отыщите свою фамилию в таблице заданий и оценок и выберите задание, которое будете выполнять. Если идентификатор задачи начинается с буквы «А«, то искать его нужно в задачнике С.Абрамова и др. Если «Ю«, то А.Юркина (см. список задачников). Если первой стоит буква «М«, то условие задачи нужно искать здесь. Если буквенного обозначения нет, то задача взята с сайта e-olymp.com.
- Разобравшись с условием, погдготовьте несколько тестов для будущей программы. Для каждого теста вручную или с использованием сети найдите точный правильный ответ.
- В системе IDEone или в другой привычной среде программирования составьте и протестируйте код программы.
- Выполнение домашнего задания должно завершаться написанием отчёта. Отчет пишется в форме новой записи (поста) на данном сайте.
Требования к коду
- Входные данные желательно читать из стандартного потока ввода (например, scanf("%d", &n); или cin >> n;). Результаты необходимо отправлять в стандартный поток вывода (например, printf("%d", n); или cout << n;).
- Код должен обязательно оформляться «лесенкой«. Стиль отступов выбирается по своему усмотрению из числа рекомендованных.
- В коде должны быть разумные комментарии
- Необходимо рационально выбирать типы данных
- Необходим рациональный (эффективный) алгоритм решения
- Имена сущностей должны быть продуманы
- При оформлении кода необходимо пользоваться пробелами. Не забывайте их ставить перед открывающей скобкой, после закрывающей или после запятой и с обоих сторон знаков операции.
- Код вложенный находящийся внутри некоторого оператора в т.ч. в фигурных скобках, следует сдвигать вправо при помощи клавиши табуляции (или 4 пробела). Есть несколько стилей расстановки отступов.
Если совсем не понятно как делать отступы, можно попросить обработать ваш код сервисам http://format.krzaq.cc/ или CodeBeautify.
Требования к тестам
- Каждый тест представляют собой вариант входных данных для программы и соответствующие им выходные данные (результаты).
- Проверка программы на тесте это её запуск на входных данных теста. Если результат работы программы полностью совпадает с выходными данными теста, то тест считается пройденным (passed).
- Прохождение программой тестов не доказывает её правильности, но позволяет это предполагать
- Не прохождение программой хотя бы одного теста доказывает её неправильность (контрпример к гипотезе о правильности программы)
- Тесты должны охватывать все особенные и типовые ситуации использования программы. Обязательна проверка граничных условий. Если области изменения входных данных не определена в условии, то их нужно уточнить самостоятельно.
- Тесты следует располагать в отдельном файле или в комментариях к программе.
Требования к записи отчета по решённой задаче
- Заголовок записи должен повторять текст ячейки таблицы заданий.
- Первая часть отчёта должна начинаться со слова «Задача» выделенного жирным шрифтом (bold). Далее должен следовать текст полностью повторяющий условия задачи из задачника.
- Формулы и символы отдельных переменных должны кодироваться в формате latex. Для набора формул можно воспользоваться онлайн редактором или ввести их вручную заключив между [latex] и [/latex]. Даже одиночный математический символ должен быть оформлен как формула иначе читатель столкнётся с проблемой начертания. Например [latex]a[/latex] и a выглядят различно.
- Следующий абзац должен содержать тесты на которых проверялась программа (с необходимыми пояснениями). Качество подбора тестов оценивается наравне с качеством кода программы.
- Далее должен следовать код программы с необходимыми комментариями внутри. Для вставки кода в отчет следует пользоваться кнопкой «crayon». Качество оформления (читаемости) кода оценивается.
- В завершении необходимо разместить исчерпывающие пояснения по алгоритму работы и описать идею решения.
- При оформлении отчёта обязательно правильно выбрать рубрику (справа) и ввести или выбрать метки (тоже справа). Рубрика это общая тема заданий, которая написана в таблице над столбцом. Например, «Линейные вычисления» или «Ветвления». А метки — это просто ключевые слова для группировки или поиска.
Критерии оценки работы
Каждая задача оценивается на основании отчёта по 10-бальной шкале.
Основные составляющие оценки (в равных долях) определяются качеством:
- кода программы (выбор типов, управляющих структур, алгоритма, именование, отступы, комментарии и пр.)
- тестов (всесторонний охват, правильность)
- алгоритма
- оформления отчёта
Правильно оформленное решение при неверной или не полностью (не во всех случаях) решающей задачу программе оценивается в 1 утешительный балл.