
- •Предисловие
- •Введение
- •1. Установка и настройка интегрированной среды
- •2.1. Работа с текстовым редактором тр
- •Команды управления курсором
- •Команды вставки и удаления
- •Команды работы с блоками
- •Команды поиска и замены
- •Regular expression – искать по выражению – описателю текста;
- •Контрольные вопросы
- •3. Элементы языка и структура программы
- •3.1. Алфавит языка
- •3.2. Зарезервированные слова
- •3.3. Знаки операций
- •Основные операции тр 7.0
- •3.4. Типы данных
- •Типы целых чисел
- •Типы вещественных чисел
- •3.5. Базовые конструкции языка
- •Основные стандартные математические функции tp 7.0
- •3.6. Структура программы
- •Контрольные вопросы
- •4.1. Этапы разработки программы
- •Пример. Вычислить площадь треугольника по формуле Герона: , гдеa, b, c – длины сторон треугольника, - полупериметр;
- •4.2. Основы работы в интегрированной среде Turbo Pascal
- •4.2.1. Меню File
- •4.2.2. Меню Edit
- •4.2.3. Меню Run
- •Упражнения
- •5. Составление и отладка программ с разветвляющейся структурой
- •Условные графические обозначения основных блоков схем алгоритмов
- •5.1. Организация ветвлений в программах
- •Логические операции
- •5.2. Средства среды тр для отладки программ
- •5.2.1. Меню Run
- •5.2.2. Меню Compile
- •5.2.3. Меню Debug
- •5.2.4. Меню Window
- •5.3. Методика отладки программ cразветвляющейся структурой
- •Упражнения
- •Контрольные вопросы
- •6. Составление и отладка программ
- •6.1. Организация программ с циклами
- •Блок-схемы операторов цикла
- •Объявление интервального типа осуществляется заданием двух констант, указывающих верхнюю и нижнюю границы диапазона, и описывается двумя способами:
- •6.2. Методика отладки программ с циклами
- •Упражнения
- •7. Программирование с использованием
- •7.1. Организация подпрограмм
- •7.2. Методика отладки программ с подпрограммами
- •8. Программирование с использованием
- •8.1. Структура модулей
- •8.2. Компиляция модулей
- •Упражнения
- •9. Обработка символьной информации
- •9.1. Символьный тип данных
- •9.2. Строковый тип данных
- •9.3. Множества
- •Упражнения
- •10. Программирование с использованием записей
- •Упражнения
- •11. Программирование с использованием файлов
- •11.1. Файловый тип данных
- •11.2. Работа с типизированными файлами
- •Упражнения
- •12. Программирование с использованием модуля crt
- •12.1. Работа с клавиатурой
- •Непечатаемые символы таблицы ascii
- •Скан-коды клавиатуры
- •Информационные байты расширенных кодов клавиатуры
- •12.2. Работа с экраном
- •Константы цвета
- •12.3. Управление звуком динамика
- •Упражнения
- •Варианты заданий
- •Исходные данные
- •Расположение окон ввода и вывода
- •Цвета фона и символов окон
- •13. Программирование с использованием модуля graph
- •13.1. Инициализация и завершение графического режима
- •13.2. Установка цвета
- •13.3. Стиль заполнения
- •13.4. Экран, окно, графический указатель
- •13.5. Отображение точки и линии на экране
- •13.6. Вывод некоторых геометрических фигур
- •13.7. Вывод текста в графическом режиме
- •Упражнения
- •Варианты заданий
- •Библиографический список
- •Оглавление
6.2. Методика отладки программ с циклами
Пошаговый метод отладки программ с циклами практически не применим из-за очень большого количества проходов тела цикла. Поэтому в ТР предусмотрен механизм введения в программу так называемых контрольных точек. Под ними подразумеваются условия останова программы в требуемой строке. Контрольная точка включает следующие данные:
имя файла;
номер строки, в которой производится проверка;
логическое условие останова программы;
число проходов заданной строки.
Контрольные точки можно задавать двумя способами:
с помощью опции Debug/Add Breakpoint;
с помощью команды Ctrl + F8 (из активного окна редактора).
Опция Add Breakpointвызывает одноименное диалоговое окно, которое содержит четыре поля:Condition, Pass count, File name, Line number (рис. 6.1).
!! Откройте диалоговое окно Add Breakpoint.
В поле File nameпо умолчанию установлено имя файла программы. Его при необходимости можно заменить, если контрольную точку требуется установить в другой программе.
В поле Line numberустановлен номер текущей строки, т.е. строки, содержащей в данный момент курсор. Его также можно заменить на номер строки, в которой требуется осуществить останов программы.
В поле Conditionпри необходимости вводится логическое условие останова программы (по умолчанию оно пусто). В ка-
Рис. 6.1. Диалоговое окно Add breakpoint
честве условия можно указать любое допустимое логическое выражение, которое будет вычисляться в ходе выполнения программы.
В поле Pass countвводится количество проходов заданной строки, после которого начнется проверка логического условия. По умолчанию число проходов устанавливается равным нулю.
!! Закройте диалоговое окно Add Breakpoint.
При введении контрольной точки с помощью команды Ctrl + F8необходимо подвести курсор к нужной строке и нажать указанную комбинацию клавиш. В результате параметры контрольной точки устанавливаются по умолчанию (как вAdd Breakpoint). Повторное нажатиеCtrl + F8снимает (удаляет) контрольную точку.
При обоих способах установка контрольной точки приводит к выделению заданной строки красным цветом. В программе можно установить произвольное количество контрольных точек.
!! Откройте файл Tab_1.pas и установите контрольную точку в строке 21 командой Ctrl + F8.
Для просмотра и редактирования контрольных точек используется опция Debug/Breakpoints.
!! Откройте меню Debug и выберите опцию Breakpoints.
В диалоговом окне этой опции (рис. 6.2) приводится список всех контрольных точек с указанием
имени файла (колонка Breakpoint list);
номера строки (колонка Line #), с которой связана контрольная точка;
условия (колонка Condition), при выполнении которого происходит останов программы;
количества обращений к строке с контрольной точкой (колонка Pass), после которого начинает осуществляться проверка логического условия.
Рис. 6.2. Диалоговое окноBreakpoints
В диалоговом окне имеется ряд кнопок управления (командных полей): OK,Edit,Delete,View,Clearall,Help.
С помощью командного поля Editможно открыть диалоговое окноEdit Breakpoint. Оно содержит такие же поля, как иAdd Breakpoint. В них можно ввести новые параметры контрольной точки. В диалоговом окне имеются также две кнопки управления:ModifyиNew. При нажатии кнопкиModifyосуществляется замена существующей контрольной точки, а при нажатии кнопкиNewвводится новая точка останова.
Командное поле Deleteиспользуется для удаления текущей точки, а полеClear all- для удаления всех контрольных точек. С помощью кнопкиViewосуществляется выход в окно редактора в место выбранной точки останова.
!! Отредактируйте контрольную точку с помощью Edit Breakpoint, введя в поле Condition условие i = j , а в поле Pass count - число проходов, равное 2.
После запуска программы (Ctrl + F9) отладчик прекратит исполнение программы перед выполнением того оператора, который содержится в первой (по логике программы) контрольной точке. При этом контрольная точка будет игнорироваться до тех пор, пока значение заданного в ней логического выражения не окажется равнымtrueи не будет выполнено заданное количество обращений к строке останова.
Если контрольная точка задана для строки, не содержащей исполняемого оператора, например, для строки со словом begin, программа остановится перед первым после этой строки исполняемым оператором.
После прерывания выполнения программы на экране появится окно редактора с точкой останова. Затем можно применить пошаговую отладку с просмотром в окне Watch, ввести другие контрольные точки или запустить программу на дальнейшее выполнение.
!! Откройте окно Watch, введите в него переменные i, j, x[i], y[j], f[i,j] и запустите программу на выполнение. После останова в заданной точке осуществите пошаговую отладку программы.