Типичные ошибки в использовании тестирующей системы

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

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

  1. Программа не является консольным приложением, либо используются какие-то нестандартные возможности компилятора, привязанные к конкретной операционной системе, например, использование функции ClrScr в Паскале.
  2. В программах на Паскале используется модуль crt.
  3. Программа выводит дополнительные сообщения, «улучшающие» интерфейс пользователя, например, «Введите два целых числа».
  4. Программа выводит дополнительные сообщения, не предусмотренные форматом выходных данных, например, «ответ».
  5. Программа содержит «задержку» после окончания работы, то есть ждет от пользователя нажатия на какую-либо клавишу, ввода строки или иных действий.
  6. Входные данные считываются не так как в условии задачи. Наиболее распространенная ошибка — в описании входных данных говорится, что в одной строке находится несколько чисел, а в программе каждое число считывается из отдельной строки.
  7. Программа должна вывести целое число, но из-за того, что в программе вместо целочисленного типа используется действительный тип данных (например, тип real в языке Паскаль), программа выводит ответ в виде действительного числа, запись которого содержит точку.

Ниже указаны особенности конкретных языков программирования и приведены примеры правильных программ на данных языках программирования.

Особенности использования языка Паскаль

В программах на языке Паскаль запрещается использовать модуль crt (даже подключение этого модуля делает невозможным проверку программы).

Одной из типичных ошибок ввода-вывода при использовании языка Паскаль является неправильное использование функции ReadLn, которая после считывания данных считывает конец строки (и пропускает все данные, находящиеся после считанных данных и до конца строки). Как правило это возникает в случае, когда программа получает на вход два или более чисел, записанных в одной строке через пробел. В этом случае нельзя читать данные при помощи ReadLn(a); ReadLn(b), так как такое использование функций ввода означает, что после первого числа должен быть конец строки, и следующее число записано в новой строке. Правильным чтением данных будет ReadLn(a, b) или Read(a); Read(b).

Особенности компилятора Free Pascal

Необходимо учитывать то, что компилятор Free Pascal по умолчанию работает в 16-битном режиме, в частности, размер переменной integer составляет 2 байта (16 бит) и может принимать значения от -32768 до 32767. Для хранения 32-битных целых чисел во Free Pascal следует использовать тип longint. Длина текстовой строки во Free Pascal ограничена 255 символами.

Данные параметры можно менять внутри программы при помощи директив компилятора, описанных в документации на язык Free Pascal.

В программах на Free Pascal нельзя использовать модуль crt и функции из этого модуля, например, ClrScr.

Особенности компилятора Pascal ABC.NET

В программах на PascalABC.NET нельзя использовать модуль crt и функции из этого модуля, например, ClrScr.

Особенности использования языка Бейсик


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



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