Чтение онлайн

на главную - закладки

Жанры

Шрифт:

А) В 17-й главе нами создан экзаменатор, проверяющий знания таблицы умножения. Переработайте программу P_17_1 так, чтобы оценка выставлялась в процедуре, принимающей один параметр – количество допущенных ошибок.

Б) Создайте процедуру, печатающую все числа, кроме единицы, на которые без остатка делится число N, где N – параметр процедуры. Напишите программу для проверки этой процедуры.

В) Два сотрудника подали своему начальнику заявления на отпуск. Первый попросил отпустить его с A1 по B1 день (дни отсчитываются с начала года), второй – с A2 по B2 день. Считаем, что A1<B1 и A2<B2. Однако дело требует, чтобы кто-то

из сотрудников находился на рабочем месте. Мало того, при смене отдыхающих необходимо не менее 3-х дней их совместной работы – для передачи дел. Напишите программу с процедурой, принимающей четыре указанных выше параметра, и печатающей заключение о том, удовлетворяют ли заявления работников требованиям начальника.

Г) Подойдя к перекрестку, пешеход решает, переходить ли ему улицу или остановиться. На решение влияет характер пешехода и ещё два фактора: сигнал светофора и близость опасно движущегося транспорта. Напишите программу с процедурой, которая принимает и печатает решение в зависимости от переданных в неё трех параметров, а именно.

• Параметр A = true, если горит зеленый;

• Параметр B = true, если поблизости опасно движется транспорт;

• Параметр C – это число, определяющее характер пешехода так:

1 – послушный и осторожный – учитывает и светофор и опасность;

2 – послушный, но беспечный – смотрит только на светофор;

3 – хитрый вольнодумец – идет только на красный, если это ничем не грозит;

4 – непримиримый вольнодумец – идет только на красный;

5 – экстремал – идет только на красный, и так, чтобы грозила опасность;

6 – «безбашенный» – идет, несмотря ни на что;

7 – запуганный – никогда не идет через дорогу, а ищет подземный переход.

Глава 21

Отладка

Предыдущую главу мы покинули, понурив голову, так и не совладав с программой P_20_1. Почему не заменяются символы в строке? – этот вопрос остался без ответа. Эх, знать бы, что творится внутри программы! Сейчас она для нас – загадочный «черный ящик», и мы видим лишь то, что входит и выходит из него. К счастью, в IDE есть средство для доступа внутрь этого «ящика», и мы воспользуемся им. Это средство называется отладчиком. Так же, как редактор текста и компилятор, отладчик встроен в интегрированную среду разработки.

Отладчик

Отладчик – это набор инструментов для исследования «потрохов» программы. Посредством отладчика можно следить за выполнением отдельных операторов, делая остановки в нужных местах или на каждой строке программы. Застопорив программу, вы сможете выяснить значения тех или иных переменных и даже изменить их. Одним словом, отладчик – это чудо-оружие!

Инструменты отладчика доступны через два пункта меню: Run – запуск и Debug – удаление багов (жучков). Программные ошибки прозвали багами – «жучками».

В пункте Run собраны команды для управления ходом выполнения программы (рис. 45).

Рис. 45 –

Пункты меню RUN для доступа к отладчику

Примечание. В данной главе показаны окна отладчика для Borland Pascal, в IDE Free Pascal они выглядят чуть иначе.

В табл. 1 даны пояснения к пунктам этого меню.

Табл. 1 – Описание пунктов меню Run

Команда

Горячая клавиша

Пояснение

Run

Ctrl+F9

Запускает программу в непрерывном режиме.

Trace into

F7

Выполняет одну строку программы (шаг). Если в строке есть вызов процедуры, то останов происходит на входе в нее, – так можно «войти» внутрь процедуры и следить за ходом её выполнения.

Step over

F8

Выполняет одну строку программы. Если в строке есть вызов процедуры, то процедура выполняется целиком, без остановки.

Go to cursor

F4

Выполняет программу, пока не будет достигнута строка, где установлен текстовый курсор. Курсор надо предварительно установить на нужной строке!

Program Reset

Ctrl+F2

Сброс программы. Если программа остановлена в пошаговом режиме, она перейдет в исходное состояние.

Parameters…

нет

Используется для отладки программ, принимающих параметры через командную строку.

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

Теперь обратимся к пункту меню Debug (рис. 46), где собраны команды для просмотра переменных, их редактирования, а также для просмотра выводимых программой результатов. Эти результаты можно увидеть либо на экране (User screen) либо в специальном окне (Output). Рядом с командами показаны соответствующие им горячие комбинации клавиш.

Рис. 46 – Пункт меню Debug для просмотра результатов работы программы

Теперь испробуем основные команды отладчика на своей программе.

Жучки, вылезайте!

Итак, приступим к поиску жучков, притаившихся в программе «P_20_1». Хорошо бы проследить за изменением переменных в ходе выполнения программы. Для этого вставим переменные в окно обзора «Watches». Откомпилировав программу, поместите курсор под переменной k и нажмите Ctrl+F7. Появится диалоговое окно для добавления переменной в окно обзора (рис. 47).

Поделиться:
Популярные книги

Я еще князь. Книга XX

Дрейк Сириус
20. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я еще князь. Книга XX

Загадки Лисы

Началова Екатерина
3. Дочь Скорпиона
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Загадки Лисы

Седьмой Рубеж II

Бор Жорж
2. 5000 лет темноты
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Седьмой Рубеж II

Сумеречный стрелок 8

Карелин Сергей Витальевич
8. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Сумеречный стрелок 8

Возвышение Меркурия. Книга 5

Кронос Александр
5. Меркурий
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 5

Волков. Гимназия №6

Пылаев Валерий
1. Волков
Фантастика:
попаданцы
альтернативная история
аниме
7.00
рейтинг книги
Волков. Гимназия №6

Барон не признает правила

Ренгач Евгений
12. Закон сильного
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Барон не признает правила

"Фантастика 2023-126". Компиляция. Книги 1-22

Руденко Борис Антонович
Фантастика 2023. Компиляция
Фантастика:
фэнтези
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Фантастика 2023-126. Компиляция. Книги 1-22

Тигр под елку

Зайцева Мария
4. Наша
Любовные романы:
короткие любовные романы
5.00
рейтинг книги
Тигр под елку

Мастер Разума V

Кронос Александр
5. Мастер Разума
Фантастика:
городское фэнтези
попаданцы
5.00
рейтинг книги
Мастер Разума V

Пушкарь. Пенталогия

Корчевский Юрий Григорьевич
Фантастика:
альтернативная история
8.11
рейтинг книги
Пушкарь. Пенталогия

Настроение – Песец

Видум Инди
7. Под знаком Песца
Фантастика:
альтернативная история
аниме
5.00
рейтинг книги
Настроение – Песец

Метатель

Тарасов Ник
1. Метатель
Фантастика:
боевая фантастика
попаданцы
рпг
фэнтези
фантастика: прочее
постапокалипсис
5.00
рейтинг книги
Метатель

Пепел и кровь

Шебалин Дмитрий Васильевич
4. Чужие интересы
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Пепел и кровь