
- •Заведующий кафедрой иу-6
- •Задание 1
- •Задание 2
- •Средства отладки Delphi
- •Задание 3
- •Часть 2. Создание схем алгоритмов средствами Microsoft Visio и OpenOffice Draw
- •Приложение а Правила поведения во время выполнения лабораторных работ по курсу «Основы программирования»
- •Требования к отчетам по практике
Задание 2
Изучить диагностические сообщения Turbo Delphi.
Поочередно внося ошибки в программу, фиксируйте сообщения об ошибках в специальной таблице, представленной ниже. Классифицируйте ошибку, расшифруйте сообщение системы и определите этап выполнения программы (компиляция, компоновка или выполнение), на котором была обнаружена данная ошибка.
Таблица – Диагностические сообщения
|
Ошибка |
Физический смысл ошибки |
Проявление ошибки |
Расшифровка сообщения |
Этап |
1. |
Var AB, C, X1, X2, D, E; |
Вместо переменных A и B описана переменная AB |
Получено сообщение: Undeclared identifier: 'A' |
Не объявлена переменная A |
Компиляция |
2. |
Readln(A,B,C) |
|
|
|
|
3. |
E=2*A; |
|
|
|
|
4. |
D:=spr(B)-4*A*C; |
Вызвана несуществующая функция |
|
|
|
5. |
Исходные данные: 0 1 3 |
|
|
|
|
6. |
Исходные данные: 1 1 3 |
|
|
|
|
7. |
{ E:=2*A; }
|
Пропущена строка вычислений |
|
|
|
8. |
Read(A,C); |
Не определено (не введено) значение B |
|
|
|
Примечание – В процессе работы в среде Turbo Delphi создаются следующие файлы:
<Имя проекта>.bdsproj – файл настроек Borland Developer Studio Project File;
<Имя проекта>.bdsproj.local – файл настроек Delphi
<Имя проекта>.dpr – исходный файл;
<Имя проекта>.cfg – файл конфигурации – опции компилятора и компоновщика;
<Имя проекта>.exe – исполняемый файл.
Кроме этого будет создана скрытая папка __history, которая будет хранить копии измененных файлов.
Если в процессе работы создаются библиотечные файлы (Unit), то они будут иметь расширение <Имя файла>. pas. Все файлы будут созданы в той папке, где был сохранен и сам проект (см. пункт 3 выше)
Для переноса программы с машины на машину достаточно переписать файлы с расширениями dpr и pas (если они создавались), остальные будут пересозданы в процессе загрузки и запуска приложения.
Средства отладки Delphi
Компилятор и компоновщик находят не все ошибки программы. После них в программе могут остаться логические ошибки, ошибки в формулах и т.д. Для локализации этих ошибок обычно осуществляют пошаговое выполнение программы с начала или с заданной точки с одновременным контролем значений всех или выбранных переменных.
Управление пошаговым выполнением программы. Для входа в режим пошагового выполнения необходимо запустить программу, используя пункт меню Run/Step Over (F8) или Run/Trace Info (F7). Первый означает, что необходимо выполнить шаг, не заходя в подпрограммы, вызываемые на данном шаге. Второй предполагает, что в подпрограмму надо зайти. Если на данном шаге подпрограммы не вызываются, то соответствующие режимы неразличимы. В дальнейшем используется тот пункт меню, который вызывает необходимую операцию. Кроме того, в состоянии отладки можно:
Run/Run Until Return (Shift+F8) – завершить выполнение подпрограммы;
Run/Run (F9) – выполнить программу до конца;
Run/Program Reset (Ctrl+F2) – прекратить процесс отладки.
Для входа в пошаговый режим можно также использовать пункт меню Run To Cursor (F4), при выборе которого программа выполняется до строки, в которой установлен курсор.
Просмотр значений переменных в окне Watch. В режиме пошагового выполнения существует возможность просмотра значений переменных. Для этого следует перейти на панель Watch List (см. рисунок 8). Для добавления имени переменной в окно просмотра можно вызвать контекстное меню, щелкнув правой кнопкой мыши в области окна Watch List, и выбрать в нем пункт Add Watch. На экране появляется окно Watch Properties. В этом окне вводим имя переменной, например, «D» (см. рисунок 9). Тип переменной среда определяет автоматически, однако, если переменную необходимо показывать в каком-либо особом виде, то тип следует определить, поставив точку напротив выбранного типа среди указанных на выделенной панели окна.
Теперь при остановке в любой точке программы в окне Watch List можно видеть значение переменной D в этот момент. В процессе отладки значения переменных просчитывают вручную и сравнивают со значениями, получаемыми в процессе работы программы. Контекстное меню позволяет не только добавить переменную в окно наблюдения, но и скорректировать ее имя (Edit Watch) или указать способ отображения, а также удалить ее (Delete Watch).
Рисунок 8 – Окно просмотра значений
Рисунок 9 – Определение имени просматриваемой переменной
Установка контрольных точек. Для установки контрольных точек необходимо щелкнуть мышью по левому полю окна программы напротив оператора, перед выполнением которого необходимо остановить процесс вычислений. В этом место появляется точка, а строка оператора выделяется розовым (см. рисунок 10).
Рисунок 10 – Добавление/удаление точек останова
Теперь, если запустить программу, то ее выполнение остановится в указанной точке. Далее для поиска ошибки используют управление пошаговым выполнением, описанное в предыдущем пункте. Для отмены точки останова необходимо повторно щелкнуть по той же точке.
Просмотр текущих значений переменных. Текущие значения переменных во время выполнения программы можно просматривать, указывая во время остановки на соответствующую переменную курсором (см. рисунок 11).
Рисунок 11 – Просмотр значений переменных, указанных курсором