Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab2m06.pdf
Скачиваний:
5
Добавлен:
23.03.2015
Размер:
309.23 Кб
Скачать

10

3.2. Выполнение программы

Информация

После того, как в тексте программы устранены все ошибки, можно запустить программу на выполнение. Для этого необходимо подать команду Run/Run (CTRL+F9). При выполнении программы интерфейс ИСП заменяется экраном пользователя (User screen), предназначенным для организации диалога пользователя и программы. На экране пользователя отображаются данные, вводимые пользователем с клавиатуры, и результаты работы программы, выводимые с помощью процедур write и writeln.

Задание 27

Запустите программу на выполнение. В ответ на приглашение "Ввод х= " введите значение 1 и нажмите клавишу Enter.

Информация

После окончания работы программы экран пользователя автоматически заменяется интерфейсом ИСП. Для просмотра экрана пользователя необходимо подать команду

Debug/User screen (Alt+F5).

Задание 28

Просмотреть результат выполнения программы, открыв экран пользователя. Содержимое экрана пользователя должно иметь следующий вид:

Ввод х= 1 Значение z= 3.00

Информация

Для возвращения к интерфейсу ИСП достаточно нажать любую клавишу.

Задание 29

Вернитесь к интерфейсу ИСП.

Информация

В некоторых случаях удобно иметь отображение диалога с программой, не выходя из интерфейса ИСП. Для этого по команде Debug/Output можно открыть окно вывода

(Output).

Задание 30

Просмотреть результаты выполнения программы с помощью окна вывода. Для этого следует:

1)открыть окно вывода;

2)запустить программу на выполнение;

3)ввести значение 2 в ответ на приглашение "Ввод х= ";

4)просмотреть результат выполнения программы в окне Output;

5)закрыть окно вывода.

4. Отладка программы

Информация

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

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

11

Основным методом поиска ошибок, обнаруживаемых при выполнении тестов, является трассировка программы. Трассировкой называется просмотр текущих значений переменных в процессе выполнения программы. Для выполнения действий по трассировке программы в состав ИСП включен отладчик, позволяющий отслеживать процесс выполнения программы по её тексту и просматривать текущее значение переменных.

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

Задание 31

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

{Автор: Фамилия И.О. } {Группа: } {Тема: Третья программа} program ThirdProg;

var x,y:integer;

begin

write('Ввод х и y '); readln(x,y);

writeln('До обмена х= ',x,' y=',y); x:=y;

y:=x;

writeln('После обмена х= ',x,' y=',y) end.

Информация

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

тест:

При вводе начальных значений переменных x и y, соответственно, 1 и 2 в результате работы программы ожидается выдача сообщений:

До обмена х= 1 y=2; После обмена х= 2 y=1.

Задание 32

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

До обмена х= 1 y=2; После обмена х= 2 y=2.

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

Информация

Для просмотра значений переменных в процессе выполнения программы используется окно просмотра (Watch), которое открывается по команде Debug/Watch. Идентификаторы переменных, значения которых требуется просмотреть, заносятся в окно просмотра по команде Debug/Add watch (Ctrl+F7).

Задание 33

Откройте окно просмотра, выполнив команду Debug/Watch. Занесите в окно просмотра переменные X и Y, для этого:

1)выполните команду Debug/Add watch;

2)в строке ввода диалогового окна введите идентификатор X и нажмите Enter;

3)сделайте активным окно с текстом программы, если оно не активно;

12

4)установите курсор на идентификатор Y в любом месте программы, где он встречается, например, в строке x:=y;

5)нажмите комбинацию клавиш Ctrl+F7;

6)убедитесь, что в строке ввода находится идентификатор “y”, и нажмите Enter;

7)расположите окна каскадом, выполнив команду Window/Cascade.

Информация

Значения переменных, которые демонстрируются в окне просмотра, являются корректными только в процессе выполнения программы. Для просмотра значений переменных выполнение программы приостанавливается с помощью точек прерывания (Breakpoints), указываемых в тексте. Установка точки прерывания в заданной строке выполняется нажатием комбинации клавиш Ctrl+F8. Повторное нажатие этой комбинации клавиш, при положении курсора в строке, содержащей точку прерывания, приводит к снятию точки прерывания.

Задание 34

Установите точку прерывания в строке программы x:=y, для этого следует:

1)поместить текстовый курсор в любое место указанной строки;

2)нажать комбинацию клавиш Ctrl+F8.

Если точка прерывания установлена, то строка выделяется цветом (обычно красным).

Информация

Трассировка программы обычно выполняется в пошаговом режиме (режим, при котором выполняются операторы, находящиеся в одной строке программы). Выполнение одного шага вызывается командой Run/Step over (F8) или для трассировки подпрограмм Run/Trace into (F7). Строка, которая будет выполнена следующей, выделяется цветом.

Задание 35

Выполните трассировку программы. Для этого следует:

1)запустить программу на выполнение;

2)в ответ на запрос " Ввод х и y" набрать значения 1 и 2 и нажать Enter;

3)убедиться, что значения переменных X и Y, показанные в окне просмотра, равны 1 и 2 соответственно;

4)выполнить строку x:=y, нажав F8;

5)убедиться, что значение переменной X изменилось и стало равным 2, а значение 1 потеряно;

6)выполнить строку y:=x, нажав F8;

7)убедиться, что значения переменных X и Y, показанные в окне просмотра, равны 2 и 2 соответственно.

Информация

Для завершения сеанса отладки следует нажать комбинацию клавиш Ctrl+F2. При этом выделение строки, которая будет выполняться следующей, снимается.

Задание 36

Завершить текущий сеанс отладки. Снять точку прерывания, установив курсор в соответствующую строку и нажав комбинацию клавиш Ctrl+F8.

Информация

Анализ результатов трассировки показывает, что обмена значениями переменных X и Y не происходит, потому что при выполнении оператора x:=y стирается введенное значение переменной X, и значения обеих переменных становятся одинаковыми. Для исправления ошибки следует использовать вспомогательную переменную, предназначенную для сохранения старого значения переменной X перед присваиванием ей значения переменной Y.

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