- •Раздел 3 Программирование
- •1 Структура программы на языке Pascal
- •2 Операторы языка Pascal
- •2.1 Оператор присваивания
- •2.2 Операторы ввода данных
- •2.3 Операторы вывода данных
- •3 Стандартные функции Pascal
- •3.1 Примеры составления линейной программы
- •4 Контрольные вопросы
- •5 Задание
- •Содержание отчета
- •1 Условный оператор if
- •2 Оператор варианта case
- •3 Контрольные вопросы
- •4 Задание
- •4.1 Задание по условному оператору
- •4.2 Задание по оператору варианта
- •5 Содержание отчета
- •1 Оператор цикла с постусловием
- •2 Оператор цикла с предусловием
- •3 Оператор цикла с параметром
- •4 Контрольные вопросы
- •5 Задание
- •6 Содержание отчета
- •1 Итерационные циклы
- •2 Программа итерационного цикла
- •3 Контрольные вопросы
- •4 Задание
- •5 Содержание отчета
- •1 Краткая теория
- •1 Программа "цикл в цикле"
- •2 Программа "цикл и ветвление"
- •3 Программа "цикл в цикле и ветвление"
- •4 Контрольные вопросы
- •5 Задания
- •6 Содержание отчета
- •1 Одномерные и многомерные массивы
- •2 Обработка массивов
- •3 Контрольные вопросы
- •4 Задания
- •5 Содержание отчета
- •1 Описание функций
- •2 Параметры функции
- •2.1 Параметры-значения
- •2.2 Параметры-переменные
- •3 Контрольные вопросы
- •4 Задание
- •5 Содержание отчета
- •1 Формат описания процедуры
- •2 Параметры процедуры
- •3 Контрольные вопросы
- •4 Задание
- •5 Содержание отчета
- •1 Средства и методы отладки программ
- •1.1 Понятие отладки
- •1.2 Разновидности ошибок
- •1.2.1 Ошибки этапа компиляции
- •1.2.2 Ошибки этапа выполнения
- •1.2.3 Логические ошибки
- •2 Выполнение программы по шагам и трассировка
- •2.1 Выполнение по шагам и трассировка
- •2.2 Остановка выполнения
- •2.3 Отслеживание и модификация
- •2.4 Понятие отладочного шага
- •2.5 Выполнение программы по шагам
- •2.6 Трассировка программы
- •2.7 Выполнение больших фрагментов
- •3 Отладочные выражения, точки останова
- •3.1 Понятие отладочного выражения
- •3.2 Просмотр выражений
- •3.2.1 Добавление просматриваемого выражения
- •3.2.2 Редактирование просматриваемых выражений
- •3.3 Вычисление и модификация
- •3.3.1 Вычисление выражений
- •3.3.2 Модификация переменных
- •3.4 Использование точек останова
- •3.5 Задание точек останова
- •3.6 Отмена точки останова
- •3.7 Модификация точек останова
- •3.8 Создание условной точки останова
- •5.2 Установка точек останова
- •6 Содержание отчета
1 Средства и методы отладки программ
Интегрированная интерактивная среда разработки программ Turbo Pascal 7.0 (IDE) включает в себя ряд средств, облегчающих процесс нахождения ошибок в программе, которые не позволяют ей корректно работать.
Далее описываются эти средства и процедуры отладки программы, включая следующие темы:
-
обзор ошибок и методов отладки;
-
управление выполнением программы;
-
проверка значений;
-
остановки выполнения программы.
1.1 Понятие отладки
Отладка – это процесс поиска и исправления ошибок в программе, препятствующих корректной работе программы. Ниже приводится краткое описание видов ошибок, которые можно наблюдать, и различного рода операций, которые используются для их поиска.
1.2 Разновидности ошибок
Существует три основных типа ошибок: ошибки этапа компиляции, ошибки этапа выполнения и логические ошибки.
1.2.1 Ошибки этапа компиляции
Ошибки этапа компиляции или синтаксические ошибки происходят, когда исходный код нарушает правила синтаксиса Паскаля. Turbo Pascal не может скомпилировать программу, пока она не будет содержать допустимые операторы Паскаля. Когда компилятор встречает оператор, который он не может распознать, курсор позиционируется на то место, которое не понял компилятор, и выводится сообщение об ошибке.
Наиболее общей причиной ошибок этапа компиляции являются ошибки набора (опечатки), пропущенные точки с запятой, ссылки на неописанные переменные, передача неверного числа (или типа) параметров процедуры или функции и присваивание переменной значений неверного типа.
170
После устранения в программе всех синтаксических ошибок и ее успешной компиляции программа будет готова к выполнению и поиску ошибок этапа выполнения и логических ошибок.
1.2.2 Ошибки этапа выполнения
Ошибки этапа выполнения или семантические ошибки происходят, когда после компиляции полной программы, при ее выполнении делается что-то недопустимое. То есть, программа содержит допустимые операторы Паскаля, но при выполнении операторов что-то происходит неверно. Например, программа может пытаться выполнить деление на ноль или открыть для ввода несуществующий файл.
Когда программа Turbo Pascal обнаруживает такую ошибку, она завершает выполнение и выводит сообщение следующего вида:
Run-time error ## at seg:ofs
Если выполнять программу вне IDE, то можно запустить IDE и для поиска вызвавшего ошибку оператора использовать команду Search|Find Error, которая дает адрес сегмента и смещения (seg:ofs).
1.2.3 Логические ошибки
Логические ошибки – это ошибки проектирования и реализации программы. То есть, все операторы допустимы и что-то делают, но не то, что предполагалось. Эти ошибки часто трудно отследить, поскольку IDE не может найти их автоматически, как синтаксические и семантические ошибки. К счастью, IDE включает в себя средства отладки, помогающие найти логические ошибки.
Логические ошибки приводят к некорректному или непредвиденному значению переменных, неправильному виду графических изображений или невыполнению кода, когда это ожидается. Далее рассматриваются методы отслеживания этих логических ошибок.