Из практики известно, что программист затрачивает на отладку программы (т.е. на исправление ошибок) столько же времени, сколько он ее писал. При запуске программы, компилятор, включенный в ИСР, указывает синтаксические и часть логических ошибок. Кроме того, проверяя работу программы с контрольными примерами, нужно выявить сложные логические ошибки. Техническими приемами, уменьшающими время отладки, являются прежде всего хороший стиль программирования, проверка правильности логики программы, хорошо разработанный интерфейс, продуманные контрольные примеры.
Необходимо помнить, что некоторые конструкции, допустимые в языке программирования, которым Вы пользуетесь, часто приводят к ошибкам. Поэтому старайтесь не использовать или используйте очень осторожно: оператор goto, глобальные переменные, автоматическое преобразование типов.
Задачи, предлагаемые студентам в рамках данного курса, являются учебными и предполагают написание небольших по объёму программ. Для их отладки можно использовать простые приемы, приведенные ниже. Для сложных программ можно использовать отладчик, включенный в ИСР. Однако для начинающего программиста использование отладчика, в силу сложности и многообразия его возможностей, приведет к неоправданно большим затратам времени.
Большинство ошибок можно обнаружить с помощью простых приемов:
· Проверяйте наличие точки с запятой в конце операторов;
· Проверяйте соответствие типа и размера используемых в программе переменных и массивов их описанию;
· Пишите операторы вывода промежуточных значений переменных, чтобы понять, где программа начала работать неверно;
· Пишите операторы вывода информации, локализующей место ошибки. Для проверки того, исполняется ли какая-то группа операторов, можно поставить среди них оператор writeln(‘*******’). Если при выполнении программы на экране нет звездочек, значит, эта группа операторов почему-то не выполняется.
· Если при отладке возникла новая ошибка, проверьте самое последнее изменение, которое Вы внесли в программу;
· Тщательно читайте и обдумывайте оператор, прежде чем внести в него исправление. Изучайте теорию программирования. Ошибки начинающих часто объясняются тем, что они не знают формы записи оператора и плохо представляют его работу.
· Объясните работу своей программы кому-нибудь еще. В качестве слушателя можно использовать и непрограммистов, так как смысл этого приема в том, что вы излагаете логику работы программы «непосвященному» человеку, при таком последовательном изложении логические «провалы» легко обнаруживаются.