Платформа
Как это работает
Вы пишете решение, платформа прогоняет его через скрытые тесты и ставит балл. Ниже — что происходит между этими двумя событиями.
Отправка
Решение можно написать прямо в браузере или загрузить архивом. Присылать нужно только те файлы, которые названы в тренажёре, — остальное платформа не примет: рядом с вашим кодом лежат скрытые тесты, и подменять их нельзя.
Черновик сохраняется: если закрыть вкладку и вернуться, текст будет на месте. Это не отправка — балл за черновик не ставится.
«Проверить сборку» и «Отправить» — разные кнопки
Проверить сборку — компилирует ваш код и показывает ошибки компилятора. Попытку не тратит, тесты не запускает. Это замена компилятора под рукой, когда его нет.
Отправить — настоящая проверка: тратит попытку, гоняет скрытые тесты, ставит балл.
Пользуйтесь первой, пока код не собирается, и второй — когда собирается.
Попытки
Каждая отправка стоит попыток: простой тренажёр дешевле, тренажёр с базой или брокером — дороже, потому что дороже сама проверка. Запас пополняется раз в неделю до общего потолка.
Ограничение существует не ради экономии, а ради вас: платформа не должна заменять размышление. Пять отправок подряд с мелкими правками почти всегда означают, что стоит остановиться и перечитать условие.
Если запас кончился раньше, чем тренажёр решён, — напишите преподавателю.
Что означают статусы
- в очереди — работа принята и ждёт свободного места. В обычное время это секунды.
- проверяется — идёт прогон. Рядом виден отсчёт до предела: если тренажёр не уложится, проверка прервётся.
- passed — все проверки прошли.
- failed — часть проверок не прошла. Балл при этом может быть ненулевым: смотрите разбор по проверкам.
- error — проверка не состоялась: решение не собралось или прогон оборвался. Это не «ноль за попытку», а «не получилось проверить»; чаще всего дело в ошибке компиляции.
- timeout — прогон не уложился в отведённое время. Обычно это бесконечный цикл или забытая блокировка, а не медленный компьютер: время отмерено с большим запасом.
Откуда берётся балл
Тренажёр состоит из проверок — групп тестов, у каждой свой вес. Балл считается по долям пройденного:
балл = Σ(вес × прошло/всего) ÷ Σ(весов) × 100
Веса расставлены по существу, а не по объёму работы: проверка, за которой стоит настоящий дефект, весит больше, чем проверка на аккуратность.
Некоторые проверки идут «всё или ничего»: половина пройденных тестов даёт ноль. Так отмечены свойства, у которых не бывает половины, — например, «подстановка в запрос невозможна» или «битые данные не роняют разбор». Частичный балл за них означал бы балл за уязвимость.
В разборе работы видно, какие проверки прошли, а какие нет. Текст самих тестов не показывается: он часть тренажёра.
Звёздные тренажёры
Помечены звездой, сложнее обычных и необязательны. В прогресс курса не входят, балл за них идёт отдельной корзиной — поэтому итог выглядит как «370/220»: первое число включает звёздные баллы, второе — обязательную часть.
Сданное звёздный тренажёр навсегда поднимает ваш недельный потолок попыток.
Версии тренажёров
Условие тренажёра привязано к версии. Если преподаватель поправит формулировку, ваша уже сданная работа останется проверенной по той версии, по которой сдавалась. Поэтому условие никогда не меняется «под» отправленным решением.
Если что-то не так
Считаете, что тренажёр сформулирован неточно или проверка неверна — у каждого тренажёра есть оценка и жалоба. Она приходит преподавателю вместе с вашей работой, и разбираться проще, чем по пересказу в чате.
Правила пользования — на отдельной странице. Там же о том, что платформа считает попыткой обойти проверку.