Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TP_6W.DOC
Скачиваний:
12
Добавлен:
07.06.2015
Размер:
318.98 Кб
Скачать

5.1. Отладка Вашей второй программы

Если Вы программировали раньше, Вы можете узнать эту ошибку и как ее исправить. Но давайте воспользуемся этой возможностью, чтобы показать Вам, как использовать интегрированный отладчик, встроенный внутри Turbo Pascal.

Интегрированный отладчик Turbo Pascalпозволит Вам передвигаться по своему коду по строкам. В то же время, Вы сможете просматривать переменные: как изменяются их значения.

Чтобы начать сеанс отладки, выберите команду Run/TraceInto(или нажмитеF7). Если Ваша программа нуждается в перекомпиляции,Turbo Pascalсделает это. Первое утверждение (в данном случаеBegin) в теле Вашей программы будет высвечено; с этого момента мы будем называть эту высвеченную полосу – полосой запуска.

Первое нажатие клавиши F7 инициализирует сеанс отладки. Теперь нажмитеF7, чтобы начать выполнение программы. Отладчик выполнит невидимый код запуска. Следующая выполнимая строка в этой программе – утверждениеWriteв строке 7.

Нажмите F7 снова. На этот раз появится экран пользователя и останется. Это произойдет потому, что утверждениеReadLnожидает ввода двух чисел. Наберите два целых числа, разделенные пробелом; убедитесь, что второе число – не нуль. Теперь нажмитеEnter. Вы вернетесь назад в окно редактора, с полосой запуска на утверждении присваивания в строке 9.

Нажмите F7 и выполните утверждение присваивания. Теперь полоса запуска находится на утвержденииWriteLnв строке 10. НажмитеF7 дважды. Теперь вы должны выполнитьReadLnв строке 12.

Нажмите F7, посмотрите вывод программы и затем нажмитеEnter/

Полоса запуска теперь находится на предложении Until. НажмитеF7 несколько раз, и Вы вернетесь к началу циклаRepeat.

5.2. Использование окна Watch

Давайте посмотрим на значение объявленных переменных. Нажмите Alt-D для появления меню Debug. Выберите команду Add Watch из меню Watches (или нажмите Ctrl-F7). Наберите А в окне ввода Watch Expression и нажмите Enter. А появится в окне Watch вместе со своим текущим значением. Теперь используйте команду Add Watch для добавления В и Ratio в окно Watch. Наконец, используйте ее для добавления выражения А/В в окно Watch.

Выберите Run/Trace Into (или нажмите F7) для того, чтобы сделать шаг в своей программе. На этот раз, когда Вы должны ввести два числа, введите 0 для второго числа. Когда Вы нажмете Enter и вернетесь в редактор, посмотрите на выражение А/В в окне Watch (нажмите Alt и # (номер) окна или Alt-W W). Вместо этого значения будет стоять фраза”Invalid floating-point operation” (неправильная операция над числами с плавающей запятой); это произошло потому, что деление на нуль неопределено. Хотя заметим, что наличие этого выражения в окне Watch не приводит к остановке программы с ошибкой. Вместо этого выдается сообщение об ошибке, а отладчик не выполняет деление в окне Watch.

Теперь нажмите F7 снова, присваивая А/В переменной Ratio. В этой точке произойдет аварийное завершение программы, и вверху окна редактора опять появится сообщение об ошибке “Division by zero”.

5.3. Исправление Вашей второй программы

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

Как исправить ее? Если В имеет значение 0, не делите А на В. Отредактируйте свою программу так, чтобы она выглядела следующим образом:

program MySecond;

var

A, B: Integer;

Ratio: Real;

Begin

Repeat

Write(‘Enter two numbers: ‘);

ReadLn(A, B);

If B = 0 Then

Writeln(‘The ratio is undefined’);

Else

Begin

Ratio := A/B;

Writeln(‘The ratio is ‘, Ratio:8:2);

End;

Write(‘Press <Enter>…’);

ReadLn;

Until B = 0;

End.

Теперь запустите свою программу (или сами, или используя отладчик, замечайте, как изменяются значения в окне Watch по мере совершения шагов в программе. Когда Вы готовы остановиться, введите 0 для В. Программа остановится после выведения сообщения “The ratio is undefined/ Press <Enter>…” (Отношение не определено. Нажмите <Enter>…).

Теперь Вы поняли, каким мощным средством является отладчик. Можно передвигаться в программе строка-за-строкой; можно показывать значение переменных и выражений своей программы и просматривать изменение значений по мере выполнения программы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]