[КТ] Язык программирования С++
  • О курсе
    • Язык программирования C++ (поток Скакова П. С.)
      • Контакты
      • Краткое напоминание о том, как не получить долг по C/C++
      • Условные обозначения
  • Организационные вопросы
    • Система оценивания
      • Лабораторные работы
      • Проверка работ, сроки и дедлайны
      • Защита работ
    • Технические вопросы
      • Отправка работ
      • GitHub
      • CodeWars
      • Автотесты на GitHub
      • Автотесты (local)
    • Правила оформления и написания работ
      • Требования ко всем работам
      • Оформление исходных текстов
Powered by GitBook
On this page
  • Общие правила
  • За что можно потерять баллы
  1. Организационные вопросы

Правила оформления и написания работ

PreviousАвтотесты (local)NextТребования ко всем работам

Last updated 1 year ago

Общие правила

Работы должны удовлетворять следующим требованиям:

  • Корректно обрабатывать ошибки при взаимодействии с внешним миром: ошибки ввода-вывода, некорректный пользовательский ввод и прочее. Если это произошло – необходимо вывести сообщение об ошибке (на английском языке) и завершить исполнение с ненулевым кодом возврата.

  • Программа никогда не должна падать. Падение – признак ошибок в реализации.

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

  • Должно присутствовать разумное разделение на файлы и правильно сформированные заголовочные файлы с минимальными зависимостями. Неразумное разделение неблагоприятно влияет на состояние проверяющего, что также увеличивает время проверки.

Результат выполнения лабораторной работы – консольная программа, обрабатывающая параметры командной строки и использующая стандартные потоки ввода и вывода. Тестирование заданий не предусматривает интерактивного взаимодействия. Ошибки входных данных должны немедленно обрабатываться, так как исправлять ввод при неинтерактивном взаимодействии невозможно.

При успешном выполнении программа возвращает код 0. Если же что-то пошло не так, то она сообщает о проблеме через ненулевой код возврата (exit code) и сообщение об ошибке в поток вывода ошибок. Если программа неожиданно завершается с "не вашим" кодом возврата, то полезную информацию о возможных причинах можно найти, например, на .

За что можно потерять баллы

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

В программе можно использовать только стандартные библиотеки и заголовочные файлы. Например, <bits/stdc++.h> таковым не является и его использование влечёт за собой потерю баллов.

Если программа использует функции, которые явно не объявлены в файле с исходным кодом (например, функции из <algorithm> без подключения <algorithm> и пр.), то за это также будут снижаться баллы (даже если у вас всё работает).

сайте