Возможные результаты тестирования

После сдачи задачи в тестирующую систему программа компилируется в исполняемый машинный код. Если программа содержит синтаксические ошибки и не может быть скомпилирована, то в столбце «Результат» в тестирующей системе будет написано «Ошибка компиляции», при этом в столбце «Отчет о проверке» будет ссылка на вывод компилятора, исходя из которого можно узнать, какие были ошибки при компиляции программы. Для интерпретируемых языков программирования компиляция не производится.

Если программа была успешно скомпилирована, то она запускается на тестах, при этом в столбце «Отчет о проверке» будет ссылка на протокол тестирования программы на всех тестах. По каждом из тестов возможен один из следующих результатов тестирования:

  • OK

Тест пройден, программа выдала правильный ответ на этом тесте.

  • Неправильный ответ

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

  • Неправильный формат вывода

То, что вывела программа, не соответствует описанию формата выходных данных, приведенному в условию задачи. Возможные причины для этого такие:

1. программа не вывела ничего;

2. программа выводит лишние сообщения типа «Введите число» или «Ответ»;

3. программа должна вывести два числа, а вывела одно число, или три числа, или текст и т. д.;

4. Программа должна вывести целое число, а выводит действительное число, запись которого содержит десятичную точку, из-за того, что программа использует действительный тип данных (например, тип real в языке Паскаль), вместо целочисленного.

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

  • Ошибка выполнения

Программа совершила некорректную операцию во время тестирования. Возможные причины для этого:

1. некорректное арифметическое действие или математическая операция, например, деление на ноль, извлечение корня из отрицательного числа, переполнение переменных;

2. ошибки при работе с памятью — выход за границы массива, обращение к невалидным указателям в языке Cи или C++, переполнение стека, выделение слишком большого объема динамической памяти;

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

4. в программе на языке Питон и иных интерпретируемых языках — синтаксическая ошибка в программе или любая иная ошибка при исполнении программы;

5. бесконечная (или очень большая) рекурсия;

  • Превышено максимальное время работы

Программа не закончила свою работу за время, отведенное на исполнение одного теста. Возможные причины для этого:

1. алгоритмическая ошибка — программа попадает в «бесконечный цикл»;

2. неэффективное решение — программа работает слишком долго;

3. ошибка в считывании данных, например, программа считывает со стандартного ввода два числа, между тем как в описании формата входных данных указано только одно число (тогда программа будет бесконечно долго ожидать ввода второго числа);

4. программа явно ожидает от пользователя ввода чего-либо, нажатия на клавишу после решения задачи (для организации «задержки» программы).

  • Превышен лимит по памяти

Программа использовала больше оперативной памяти, чем это предусмотрено ограничениями в задаче. Возможные причины для этого:

1. используются слишком большие массивы (или слишком много массивов) или иные структуры данных;

2. бесконечная (или очень большая) рекурсия;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: