Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тurbo Pascal 7+.doc
Скачиваний:
12
Добавлен:
24.12.2018
Размер:
10.09 Mб
Скачать

Пошаговый режим

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

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

Идея пошагового режима вот в чем. Компьютер слишком быстро выполняет программу, и человек не успевает проследить за ходом его мыслей. Хорошо бы нам самим задавать темп выполнения программы. Тогда ошибку обнаружить было бы значительно легче.

Рассмотрим задачу из раздела 5.1: в компьютер вводятся два произвольных положительных числа - длины сторон двух кубиков. Компьютер должен подсчитать объем одного кубика - большего по размеру. Обозначаем: a1 - сторона одного кубика, а2 - сторона другого, V - объем кубика. Приведем второй вариант программы:

VAR a1,a2,V: Real;

BEGIN

ReadLn (a1,a2);

if a1>a2

then V=a1*a1*a1

else V=a2*a2*a2,

WriteLn (V :15:5)

END.

Запускайте программу, но не обычным образом, а клавишей F7, которая является средством более быстрого вызова меню Run -> Trасе into. ( Обратите внимание, что справа от многих опций меню обозначены "горячие" клавиши, которыми эти опции можно быстро вызывать.) Паскаль откомпилирует вашу программу и сделает паузу перед началом выполнения программы, подсветив горизонтальной полосой строку BEGIN.

Еще раз F7. Ничего не происходит, только полоса подсветки прыгает на следующую строку. В ней находится первый исполняемый оператор вашей программы - ReadLn (а1,а2).

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

F7. Паскаль выполняет ReadLn (а1,а2), в результате чего у вас, как и при обычном выполнении программы, во весь экран распахивается черное окно пользователя. Оператор требует ввода двух чисел. Введите, например, 5 и 4, и нажмите на клавишу ввода. Окно пользователя пропадет, снова возникнет окно редактора, и вы увидите, что серая полоса подсветки перескочила на строку if a1>a2.

F7. Паскаль выполняет if а1>а2, в результате чего полоса прыгаетна then V:=a1*a1*a1, так как 5>4.

F7. Полоса перепрыгивает через else V.=a2*a2*a2 и попадает наWriteLn (V: 15:5).

F7. Паскаль выполняет WriteLn (V: 15:5), в результате чего печатается результат, а полоса перескакивает на строку END.

F7. Полоса пропадает. Программа выполнена. Посмотрим на результат при помощи Alt-F5.

Теперь еще раз выполните ту же программу в пошаговом режиме. Но когда ReadLn (а1 ,а2) потребует двух чисел, введите 2 и З. Теперь уже после if a1>a2 полоса прыгает не на then V:=a1*a1*a1, а на else V=a2*a2*a2.

В любой момент пошагового выполнения программы выможете вместо F7 выбрать Run –>Run (клавиши Ctrl-F9) - и программа продолжит выполняться в обычном режиме. Чтобы прервать пошаговый режим, выберите Run -> Program reset (клавиши Ctrl-F2).