Содержание
Отладка программы
Удалите кавычки в строке «WriteLn ('До свидания...');». Мы допустили ошибку, строковая константа обязана быть заключена в одинарные кавычки. Попробуйте запустить программу после этого (клавиши «Ctrl + F9»). Компилятор выдаст ошибку:
Фраза «До свидания...» не была воспринята как строковая константа.
Текст ошибки высвечивается вверху редактора кода на красном фоне, а текстовый курсор автоматически перемещается в ту позицию кода, где допущена ошибка.
Таким образом легко находятся ошибки времени компиляции программы. Однако с точки зрения синтаксиса Pascal программа может быть вполне корректна, но выполняемые ею действия могут не соответствовать поставленной задачи. Такого рода ошибки компилятор не способен распознать и их поиск целиком ложится на программиста.
Закройте исходный код программы, с которым мы работали ранее и создайте новый файл. Наберите в нем следующую программу:
program Calc;
uses CRT;
const Year = 2006;
var BY, Age: Integer;
begin
ClrScr;
Write ('Год вашего рождения: ');
ReanLn (BY);
if BY < Year then
begin
Age := BY - Year;
WriteLn ('Ваш возраст: ', Age);
end else WriteLn ('Ошибка ввода!');
ReadLn;
end.
Программа заведомо содержит ошибку, которая будет обнаружена компилятором. Устраните эту ошибку и добейтесь того, что бы программа запустилась на выполнения.
Введите год своего рождения. Программа вычислит возраст. Текущий год содержится в константе «Year», если он не соответствует сегодняшнему году, измените его соответствующим образом.
Запустите программу и проанализируйте результат ее работы. Не смотря на то, что мы уже исправили две очевидные ошибки и программа выглядит вполне корректно, она почему-то выдает возраст в виде отрицательного, а не положительного числа.
Для того, чтобы найти строку программы, в которой содержатся ошибочные инструкции, можно воспользоваться отладочным режимом TBP7.0.
Среда TBP7.0 позволяет просматривать значения переменных во время выполнения программы. Добавить новую переменную, значение которой нас интересует, можно в пункте меню «Добавить наблюдение...» меню «Отладка» или нажав клавиши «Ctrl + F7».
В нашей программе всего 2 переменные: «BY» и «Age». Добавьте их в список Наблюдений. Чтобы отобразить список Наблюдений на экране, необходимо выбрать пункт меню «Наблюдения» меню «Отладка».
Запустим программу в режиме трассировки. В режиме трассировки программа выполняется по шагам, при этом можно наблюдать изменения значений переменных программы.
Чтобы запустить программу в режиме трассировки, необходимо выбрать пункт меню «Войти в подпрограмму» меню «Пуск» или нажать клавишу «F7». После этого будет выполнен первый шаг программы, а в окне Наблюдений высветится текущее значение переменных. Для перехода к следующему шагу программы нужно нажать клавишу «F7» повторно.
Найдите ту строку программы, после выполнения которой в переменной «Age» появляется отрицательное значение. Именно эта строка и содержит ошибку в коде, в результате которой мы получаем неверный результат.
Исправьте найденную ошибку и добейтесь того, что бы программа выдавала правильные ответы.
Если во время пошагового выполнения требуется приостановить работы программы, то нужно выбрать пункт меню «Сбросить программу» меню «Пуск» или нажать клавиши «Ctrl + F2».
Пошаговое выполнение программы неудобно в том случае, если программа очень большая. Нужно сделать много шагов, прежде чем выполнение программы дойдет то нужной точки. В таком случае отладчик TBP7.0 позволяет устанавливать точки останова, начиная с которых программа перейдет в режим трассировки (т.е. пошагового исполнения).
Для добавления новой точки остановки необходимо переместить текстовый курсор в нужную строку программы, выбрать пункт меню «Добавить точку останова...» меню «Отладка» и нажать кнопку «OK». Строка, в которой установлена точка останова выделяется красным цветом.
Удалить установленные точки останова можно через пункт меню «Точки останова...» меню «Отладка».
После установки всех необходимых точек останова, программа запускается в обычном режиме (клавишами «Ctrl + F9»).
Как только выполнение программы доходит до точки останова, программа прерывается и переходит в режим пошагового исполнения. К следующему шагу можно перейти, нажав клавишу «F7». Также можно вывести окно Наблюдений для просмотра значений переменных.
Что бы перейти из режима трассировки в режим обычного исполнения программы, необходимо нажать клавиши «Ctrl + F9». Программа продолжит выполнения до момента встречи новой точки останова или до своего окончания.