Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Метода(c++)

.pdf
Скачиваний:
30
Добавлен:
04.06.2022
Размер:
1.77 Mб
Скачать

5.Откомпилировать исходный текст программы.

6.Если появились сообщения об ошибках, проанализировать их, внося необходимые коррективы.

7.Запустить программу на исполнение, проверить правильность работы на тестовом примере.

8.Сохранить проект и модуль.

Содержание отчета:

1.Титульный лист

2.Цель работы

3.Краткие теоретические сведения (список используемых операторов, их цель, синтаксис, формат и проч.)

4.Коды модулей и проектов.

5.Копии экрана с примерами работы программ

6.Схемы алгоритмов программ.

6. Выводы по работе.

Контрольные вопросы

1.Объясните термин «консольное приложение».

2.Перечислите порядок действий по созданию консольного приложения в С++ Builder.

3.Перечислите файлы, входящие в состав консольного проекта. Какие у них имена? Расширения? Какие ограничения на имена этих файлов существуют?

4.Как можно просмотреть головной файл проекта?

5.Как создать новый консольный проект в С++ Builder?

6.Как открыть файл существующего проекта в С++ Builder?

7.Как просмотреть состав открытого проекта?

8.Как отрыть существующий модуль?

9.Как сохранить существующий модуль? Существующий проект?

10.Как сохранить уже существующий проект без смены его имени или местоположения? со сменой?

11.Поясните термин «заголовочный файл».

12.Что такое «мастер консольного приложения»?

13.Из каких «блоков» составляется программа на С++?

11

14.Что является начальной точкой выполнения программы в консольном приложении?

15.Поясните назначение функции main.

16.Для какой цели служит инструкция return в теле функции main?

17.Какие действия необходимо выполнить, чтобы использовать функцию, описанную в другом модуле?

18.Поясните цель директивы компилятора #include? Каков ее синтаксис? В каком месте программного кода она может находиться?

19.Поясните термин «встроенный модуль».

20.Какой встроенный модуль может использоваться при организации консольного ввода/вывода?

21.Поясните цель и формат команды cin.

22.Поясните цель и формат команды cout.

23.Объясните термин «компиляция».

24.Какие части проекта подвергаются компиляции?

25.Какие дополнительные файлы появляются при условии успешного завершения процесса компиляции?

26.Перечислите способы запуска процесса компиляции.

27.Что происходит при запуске приложения на исполнение?

12

ЛАБОРАТОРНАЯ РАБОТА №2. ВОЗМОЖНОСТИ ВСТРОЕННОГО ОТЛАДЧИКА

Цель работы: знакомство с понятием «отладка»; изучение возможностей встроенного отладчика и встроенной справки.

Краткие теоретические сведения:

I. Отладка – процесс поиска и устранения ошибок в программе. Встроенный отладчик – инструмент, который оказывает помощь

пользователю в поиске и устранении программных ошибок.

В ходе отладки программа может находиться в одном из трех состояний:

проектирования (оформление формы и/или написание кода);

вычисления (выполнения);

прерывания. В этом состоянии можно проконтролировать значения переменных и свойств объектов в данной точке и, если требуется, изменить эти значения "вручную". При этом нельзя изменить порядок выполняемых операторов, задать следующий исполняемый оператор, нельзя редактировать программный текст перед продолжением вычислений.

II. Основные отладочные команды приведены в табл. 1.

 

 

 

 

 

 

 

 

Таблица 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Команда

Горячие

Кнопки на

 

 

 

 

Действие

 

панели

 

 

 

 

 

меню Run

клавиши

 

 

 

 

 

 

 

инструментов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

2

3

4

 

 

 

 

 

 

 

 

 

 

 

Запуск

программы

на

исполнение

Run

F9

 

 

 

(переход

проектирование/вычис-

 

 

 

 

 

ление, прерывание/вычисление)

 

 

 

 

 

 

 

 

 

 

 

 

Прерывание

выполнения (переход

Program

 

 

 

 

вычисление/прерывание)

Pause

 

 

 

 

 

 

 

 

 

 

 

 

Сброс

программы

(переход

Program

Ctrl+F2

 

 

 

прерывание/проектирование)

Reset

 

 

 

 

 

 

 

 

 

 

 

Трассировка

(пооператорный

Trace

F7

 

 

 

режим выполнения). При вызове

Into

 

 

 

 

процедур и функций в этом

 

 

 

 

 

режиме

начинается

их

пошаговое

 

 

 

 

 

выполнение.

После

выполнения

 

 

 

 

 

очередного

 

 

оператора

 

 

 

 

 

происходит

переход

в режим

 

 

 

 

 

прерывания

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

13

Таблица 1 (продолжение)

 

 

1

 

 

 

 

 

 

 

2

 

3

4

 

 

 

 

 

 

 

 

 

Пошаговый

режим

 

выполнения

 

Step Over

 

F8

 

программы. В этом случае Вызов

 

 

 

 

 

 

функций выполняет за один шаг,

 

 

 

 

 

 

БЕЗ захода в операторы функции

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выполнить

программу

до

курсора

 

Run

to

 

F4

 

и

перейти

в

 

состояние

 

Cursor

 

 

 

прерывания

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выполнить

функцию

от

позиции

 

Run

Until

 

Shift+F8

 

курсора и до конца, после чего

 

Return

 

 

 

перейти в режим прерывания

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Переход

на

 

строку

с

 

Shoe

Exe-

 

 

 

выполняемым

 

 

оператором

 

cution

 

 

 

(просматривался

 

код

большой

 

Point

 

 

 

программы, а место останова

 

 

 

 

 

 

было утеряно)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

III. Окно Watches

 

 

 

 

 

 

 

 

 

Предназначено

 

для

просмотра

текущих

значений

переменных,

когда программа находится в состоянии прерывания.

 

 

Для его

открытия: View

Debug Windows

Watches (аналог –

Ctrl+Alt+W).

Для добавления в список новой переменной:

а) находясь в окне Watches, нажать клавишу Insert или выполнить комбинацию Ctrl+A, после чего в появившемся окне в поле Expression ввести имя нужной переменной;

б) в окне модуля установить курсор в любую точку имени нужной переменной, вызвать контекстное меню (правая кнопка мыши) и

выбрать Debug Add Watchs at Cursor

в) в окне модуля установить курсор в любую точку имени нужной переменной и выполнить комбинацию Ctrl+F5.

Для удаления переменной из списка достаточно выделить ее строку в списке и нажать клавишу Delete.

Замечания.

1. Существует так называемая «подсказка оценки выражения», благодаря которой можно узнать текущее значение переменной (или

выражения)

непосредственно в окне модуля (программа

должна

находиться

в режиме прерывания).

Достаточно задержать

курсор

мыши над именем нужной переменной

или выделенным выражением, и

14

под курсором появится окошко инструментальной подсказки с именем переменной и ее текущим значением.

2. Существует окно Local Variables (для открытия View>Debug Windows>Local Variables), внешне похожее на окно Watch List,

однако переменные в нем добавляются автоматически и представляют собой все локальные переменные текущей функции.

IV. Окно Evaluate/Modify

Служит для оценки выражений и изменения значений переменных. Для открытия окна:

а) Run Evaluate/Modify;

б) в редакторе кода установить курсор на нужной переменной или выражении и в контекстном меню выбрать Debug Evalute/Modify; в) в редакторе кода установить курсор на нужной переменной или выражении и выполнить комбинацию Ctrl+F7.

Для оценки выражений:

1.Открыть окно Evaluate/Modify;

2.В поле Expression ввести имя переменной (или выражение), значение которой нужно оценить.

3.Нажать кнопку Evaluate. Результат оценки будет отображен поле

Result.

Для изменения значения переменной

1.Открыть окно Evaluate/Modify.

2.Указать имя переменной в поле Expression

3.Указать ее желаемое значение в поле New Value

4.Нажать кнопку Modify.

Замечание: окно Evaluate/Modify часто используется в качестве простого калькулятора.

V. Точки останова (точки прерывания)

 

 

Ставятся

в

контрольных

точках

программы.

Программа

запускается на выполнение. Достигнув первой по ходу вычисления точки останова, выполнение приостанавливается, программа переходит в состояние прерывания. Дальнейший запуск программы на исполнение приведет к отработке программного кода до очередной встретившейся точки останова.

Для управления простыми точками останова (установки и снятия) служит специальное поле слева от кода, закрашенное серым цветом. Щелчок мышью по этому полю рядом с нужной строкой приводит к установке точки останова (строка приобретает красный фон, а слева от нее появляется красная точка).

15

Для снятия точки останова нужно щелкнуть мышью по красной точке слева от помеченной строки.

Упражнение. Основы работы во встроенном отладчике

Пользуясь встроенной справкой (Help C++ Builder Help), определить, что выполняет функция fmod и операция «%».

1.Открыть проект prExampl2Consol.

2.Запустить проект, ввести число 726 и посмотреть результат вычисления. Повторить работу программы для нескольких разных трехзначных чисел. Попытаться понять, что же вычисляет программа.

3.Перейти в код программы, просмотреть и попытаться понять, что происходит в функции main().

4.Установить курсор в строку №25 и запустить выполнение программы «до курсора».

5.Ввести число 541 и нажать Enter. Программа должна быть переведена отладчиком в режим прерывания.

6.Открыть список Watch List и добавить в него все переменные, используемые в функции. Просмотреть их значения. Вновь попытаться понять, что же за вычисления производятся в программе.

7.Сбросить программу.

8.Установить курсор на строку №20 и вновь запустить выполнение программы «до курсора».

9.Ввести в окне программы другое трехзначное значение и нажать Enter.

10.Проводя трассировку до строки №25, и просматривая значения переменных в окне Watch List, рассмотреть работу программы.

11.Удалить из окна Watch List переменные r2 и r.

12.Открыть окно Local Variables, просмотреть его содержимое.

13.Вызвав окно Evaluate /Modify, изменить значение переменной r1. Просмотреть эффект в окнах Watch List и Local Variables.

14.Продумать, что будет отображено в качестве результата расчета при дальнейшем запуске программы.

15.Установить точку останова в строку №28.

16.Запустить программу на дальнейшее вычисление и убедиться, что результаты изменения (п. 13) были ли учтены при дальнейшей работе программы. Продумать причины изменения (не изменения).

17.Сбросить программу.

16

Содержание отчета:

1.Титульный лист

2.Цель работы

3.Краткие теоретические сведения (список используемых операторов, их цель, синтаксис, формат и проч.)

4.Код модуля С++

5.Копии экрана с примерами работы программы и процесса отладки

6.Схема алгоритма программы.

6. Выводы по работе.

Контрольные вопросы

1.Дайте определение термина «отладка»

2.Дайте определение термина «встроенный отладчик»

3.В каких состояниях может находиться программа в процессе отладки? Каковы их цели и возможности?

4.Как определить в каком из состояний (проектирование, вычисление

(выполнение) или прерывание) находится программа в текущий момент времени?

5.В каком меню следует искать команды встроенного отладчика?

6.Какие основные отладочные команды Вам известны? Как их выполнить?

7.Приведите примеры ситуаций, в которых необходимо использование комбинации клавиш Ctrl+F2.

8.Чем отличается пооператорный режим выполнения программы (режим трассировки) от пошагового режима?

9.Что может произойти после нажатия клавиши F7 в программе, находящейся в режиме прерывания?

10.Чем удобен пошаговый режим выполнения программы?

11.Приведите примеры ситуаций, когда удобно использовать выполнение программы «до курсора».

12.Для какой цели во встроенном отладчике используется окно Wathes?

13.Как открыть окно Watches?

14.Как добавить в окно Watches новую переменную?

15.Как удалить переменную, находящуюся в окне Watches?

17

16.Можно ли узнать текущее значение переменной (выражения) без использования окна Wathes?

17.В чем отличие окна Local Variables от Watch List?

18.Объясните смысл и принцип работы окна Evaluate/Modify.

19.Что такое точки останова?

20.Как можно определить места установки точек останова?

21.Как можно поставить простую точку останова? Снять?

18

ЛАБОРАТОРНАЯ РАБОТА №3. ОПЕРАТОРЫ ВЕТВЛЕНИЯ,

ПРОГРАММИРОВАНИЕ ВЕТВЯЩИХСЯ ПРОЦЕССОВ.

Цель работы: освоение способов реализации ветвящихся процессов на основе конструкций языка С++.

Краткие теоретические сведения:

I. Операторы ветвления в С++

1. Неполное ветвление:

if (условие) <простой оператор>;

или

if (условие) {<составной оператор>;}

2. Полное ветвление

if (условие) {код;} else {код;}

3. Ветвление «с продолжением»

if (условие) {код}

else if (условие2) {код} else if(условие3) {код}

или

if (условие) {код}

else if (условие2) {код} else if(условие3) {код}

else {код}

4. Особенности операторов полного, неполного ветвления и ветвления «с продолжением»

4.1. В С++ логическое выражение после слова if обязательно должно быть в круглых скобках; код обязательно должен заканчиваться точкой с запятой вне зависимости от наличия/отсутствия операторных скобок.

4.2. При вычислении условия используются следующие знаки сравнения и логические операции

 

Знаки сравнения

 

Логические операции

 

 

 

 

 

 

 

 

 

Знак

Смысл

 

Оператор

Смысл

 

 

==

Равно

 

&&

Логическое «И»

 

 

 

 

 

 

 

 

 

!=

Не равно

 

||

Логическое «ИЛИ»

 

 

<

Меньше

 

!

Логичесое «НЕ»

 

 

>

Больше

 

 

 

 

 

 

 

 

 

 

 

 

<=

Меньше либо равно

 

 

 

 

 

 

 

 

 

 

 

 

>=

Больше либо равно

 

 

 

 

19

4.3. В условии могут стоять любые операторы, причем это не обязательно операторы отношения или логические. Считается, что любой ненулевой результат соответствует значению ИСТИНА (True), а нулевой — ЛОЖЬ (False).

5. Переключатель

switch (условие)

{

case константа: инструкции;break; case константа: инструкции;break; case константа: инструкции;break;

case константа: инструкции;break; default: инструкции

}

Каждая ветвь case может быть помечена одной или несколькими целочисленными константами или же константными выражениями. Выполняется та ветвь case, для которой константа (выражение) совпала с условием, указанным в начале переключателя switch. Если выяснилось, что ни одна из констант не подходит, то выполняется ветвь default. Если этой ветви нет, то ничего не выполняется. Ветви case и default могут располагаться в любом порядке.

Условие, следующее за ключевым словом switch в круглых скобках, может быть любым выражением, допустимыми в языке программирования С++, значение которого должно быть целым.

В конце каждой ветви достаточно часто ставится инструкция break. Это связано с тем, что после выполнения одной ветви программа проверяет возможность выполнения остальных "ниже" находящихся ветвей. Инструкция break вызывает немедленный выход из переключателя switch.

Упражнение 1. Простое ветвление

1.Создать новый консольный проект. Имя файла модуля – unit_If_1, имя файла проекта – Pr_If_1.

2.Написать код, позволяющий:

сообщить пользователю, что запущенная программа позволяет вычислить либо значение функции y 1 x2 , либо значение функции y 1 x2 ;

вводить значение аргумента функции (переменная хх);

20

Соседние файлы в предмете Информатика