- •Раздел 3 Программирование
- •1 Структура программы на языке Pascal
- •2 Операторы языка Pascal
- •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 Выполнение больших фрагментов
- •2.8 Повторное выполнение
- •3.2.2 Редактирование просматриваемых выражений
- •3.3 Вычисление и модификация
- •3.3.1 Вычисление выражений
- •3.3.2 Модификация переменных
- •3.4 Использование точек останова
- •3.5 Задание точек останова
- •3.6 Отмена точки останова
- •3.7 Модификация точек останова
- •3.8 Создание условной точки останова
- •5.2 Установка точек останова
- •6 Содержание отчета
3.2.2 Редактирование просматриваемых выражений
Для редактирования просматриваемого выражения нужно сделать это выражение текущим, затем нажать клавишу Enter или выбрать команду Debug|Watch|Edit Watch. Отладчик открывает диалоговое окно, аналогичное тому, которое используется для добавления просматриваемого выражения, позволяющее отредактировать текущее выражение.
3.3 Вычисление и модификация
Кроме добавления просматриваемых выражений при выполнении программы, отладчик имеет средство, позволяющее в любой момент вычислять выражения и изменять на этапе выполнения значения переменных.
3.3.1 Вычисление выражений
Для вычисления выражения можно выбрать команду Debug|Evaluate/Modify или нажать клавиши Ctrl+F4. Отладчик выводит диалоговое окно Evaluate and Modify (Вычисление и модификация). По умолчанию слово в позиции курсора в текущем окне редактирования выводится подсвеченным в поле Expression (Выражение). Можно отредактировать это выражение.
После нажатия клавиши Enter, текущее значение выражения в поле Expression показывается в поле Result.
3.3.2 Модификация переменных
Во время отладки с помощью диалогового окна Evaluate and Modify можно изменить значение переменной. Для этого нужно ввести переменную в поле Expression, затем в поле New Value набрать новое значение. При изменении значений переменных следует иметь в виду следующее:
* Можно изменять только отдельные переменные или элементы массивов или записей, но не сами массивы и записи.
* Выражение в поле New Value (Новое значение) должно в результа-
176
те вычисления давать результат, совместимый по присваиванию с переменной, которой присваивается этот результат. Здесь необходимо руководствоваться следующим правилом: если присваивание дает при компиляции ошибку, то оно не является допустимым значением модификации.
3.4 Использование точек останова
Turbo Pascal предоставляет возможность устанавливать в программе для целей отладки точки останова. Точка останова - это обозначенная в коде программы позиция, в которой необходимо прекратить выполнение программы и вернуть выполнение отладчику. В этом смысле точка останова работает аналогично команде Go to Cursor, при которой программа выполняется обычным путем до достижения определенной точки. Основное различие состоит в том, что можно задать несколько точек останова и точки останова, которые будут срабатывать не при каждом их достижении.
3.5 Задание точек останова
Для задания точку останова нужно переместите курсор к той строке, где следует остановиться. Строка должна содержать выполняемый код и не может быть комментарием, описанием или пустой строкой. Выбор команды Toggle Breakpoint в локальном меню окна редактирования или нажатие клавиш Ctrl+F8 устанавливает на строке точку останова, которая обозначается подсветкой всей строки.
Теперь при выполнении программы из IDE она будет останавливаться при достижении данной строки, но перед ее выполнением. Строка, содержащая точку останова, выводится при этом в окне редактирования как строка выполнения. В этот момент можно выполнить любые другие действия по отладке (выполнение программы по шагам, трассировку, просмотр и вычисление).