Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Tekhnologia_programmirovania.pdf
Скачиваний:
182
Добавлен:
08.04.2015
Размер:
1.76 Mб
Скачать

21

Глава 2. Средства разработки на C++

Существует большое число компиляторов с языка C++ для разных компьютеров и операционных систем. Как правило, компилятор интегрируется с текстовым редактором, редактором связей, отладчиком и загрузчиком в составе интегрированной среды разработки (IDE, Integrated Development Environment). Ниже кратко описывается работа в двух популярных средах: Turbo C++ 3.0/Borland C++ 3.1 и C++ Builder. Кроме них, широко применяются Visual C++ из пакета Visual Studio фирмы Microsoft, открытая среда разработки Eclipse, которую можно свободно скачать из Интернета и другие системы.

2.1. Системы Turbo C++ 3.0/Borland C++ 3.1

Одними из первых интегрированных сред разработки для MS-DOS были Turbo Pascal и Turbo C++ фирмы Borland, вышедшие в 1983 г. Они постепенно сменились системами с графическим интерфейсом для Windows (Borland Pascal/C++, Delphi, C++Builder). Для начального изучения языка вполне можно использовать среды Turbo C++ 3.0/Borland C++ 3.1, выпущенные в 1990-93 гг. Эти системы не поддерживают лишь небольшое число нововведений, добавленных в стандарт языка. Их достоинством является и то, что для установки достаточно просто скопировать на компьютер соответствующие файлы.

В части разработки DOS-приложений система Borland C++ 3.1 практически совпадает с Turbo C++3.0, но имеет вариант для разработки приложений для Windows 3.1, который запускается файлом Bcw.exe. Borland C++ 3.1 имеет программу-установщик, но работает, если ее, как и Turbo C++ 3.0, просто скопировать на жесткий диск.

Все сказанное далее относится как к Turbo C++3.0, так и к Borland C++ 3.1. Для краткости будем называть данные системы TC и BC.

Установка Turbo C++ 3.0 на компьютере

Для установки на компьютер системы программирования Turbo C++ 3.0 достаточно просто скопировать на жесткий диск необходимые файлы. Файлы распределяются по папкам в зависимости от своего назначения. На рис.3 показана структура папок TC, которая размещена в корневом каталоге жесткого диска C.

Папка Bgi содержит файлы графических драйверов и файлы шрифтов для работы в графическом режиме.

22

2

 

 

 

 

 

 

Папка

Bin

содержит

основные

исполняемые

файлы,

обеспечивающие процесс создания программ в соответствии со схемой рис.4. Интегрированная среда разработки загружается файлом Tc.exe, которая позволяет вводить текст программ, компилировать, редактировать связи, направлять созданные программы на выполнение, а при возникновении ошибок отлаживать программы. Следующие файлы можно запускать независимо от среды разработки из командной строки: Cpp.exe – автономный препроцессор, Tcc.exe – автономный компилятор, Tlink.exe – редактор связей. Кроме этих программ в папке Bin, имеется несколько вспомогательных программ (утилит). Файл

Tchelp.tch содержит систему справки.

Рис.5. Структура папок Turbo C++ и содержимое папки Bin

Папка Classlib содержит библиотеку классов, которую можно

использовать в своих программах.

В папке Doc размещены файлы с текстами описания системы. Папка Examples содержит примеры программ, которые полезно

испытывать при изучении программирования на C++.

Папка Include содержит заголовочные файлы стандартных библиотек, которые имеют расширение .h.

Средства разработки на C++ 23

В папке Lib содержатся файлы стандартных библиотек, которые

имеют расширение .lib или .obj. Например, файл Graphics.lib содержит в откомпилированном виде код библиотеки графических функций.

Для нормальной работы, при которой, однако, не используются все возможности Turbo C++ 3.0, достаточно оставить на диске только папки Bgi, Bin, Include, Lib, а в папке Bin достаточно иметь только файлы

Tc.exe, Tchelp.tch, Dpmiload.exe и Dpmimem.dll. Последние два файла обеспечивают нужный режим работы системы с оперативной памятью.

Загрузка

Среда разработки загружается программой Tc.exe, которая находится в подкаталоге Bin основного каталога системы.

Ë File Edit Search Run Compile Debug Project Options Window Help

 

╔═[]═══════════════════NONAME00.CPP═════════════1[]

#include <iostream.h>

int main()

{

 

cout << Здравствуй , Мир!\n";

return 0;

}

 

 

 

 

 

 

 

 

 

╚══1:1══════◄ ■ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒►─┘

F1 Help F2 Save F3 Open Alt-F9 Compile F9 Make F10 Menu

Рис.6. Экран среды Turbo C++ 3.0

Вид экрана после загрузки показан на рис.7. Верхнюю строку занимает меню, командами которого система управляется. В средней части экрана расположено окно редактирования, которое используется для ввода текста программы. Низ экрана занимает строка состояния, где указаны клавиши и их комбинации, нажатие которых приводит к выполнению актуальных для текущей ситуации действий. В заголовке окна редактирования выводится имя открытого файла. Система предлагает по умолчанию для нового файла имя NONAME00.CPP.

Turbo C++ 3.0 использует текстовый режим работы экрана дисплея, в котором экран представляется обычно совокупностью из 25 строк, в каждой из которых можно разместить по 80 символов. В среде Windows TC может выполняться в отдельном окне или занимать всю

24 2

площадь экрана. Переключение между оконным и полноэкранным режимами производится комбинацией клавиш Alt+Enter.

Меню

Основным средством взаимодействия со средой TC является меню, расположенное в верхней части окна. Команда меню выполняется щелчком левой кнопки мыши. Можно выполнять команды также с помощью клавиатуры. Для этого меню активизируется нажатием клавиши F10, клавишами-стрелками выбирается нужная команда и

выполняется нажатием пробела или Enter. Отказ от работы с меню производится клавишей Esc.

Все команды меню имеют горячую клавишу, которая выделяется

цветом. На рис.8 горячие клавиши подчеркнуты. Любая команда меню выполняется комбинацией Alt+Горячая клавиша, что требует

меньше времени, чем использование меню.

При описании действий, выполняемых в среде разработки, будем разделять запятыми названия пунктов меню и вложенных команд, например, если нужно выполнить команду Directories из пункта

Options главного меню, будем обозначать эти действия как команду

Options, Directories.

Некоторые команды выполняются нажатием клавиш или их комбинаций. Например, сохранение файла из окна редактирования можно выполнить командой меню File, Save или нажатием клавиши F2;

закрыть активное окно можно командой Window, Close или комбинацией Alt+F3. Если команда меню имеет клавишную комбинацию, она указывается в названии этой команды.

Работа с окнами

Среда TC многооконная, это значит, что на экране может быть расположено одновременно несколько независимых окон, в том числе окон с текстами различных программ. Новое окно редактирования для ввода текста программы создается командой File, New. Кроме окон

редактирования, могут быть открыты различные служебные окна: Watch – окно просмотра, в котором показываются текущие

значения переменных выполняемой программы или значения выражений;

Message – окно сообщений, в которое выводятся сообщения об

ошибках этапа компиляции или редактирования связей; Output – окно для вывода результатов работы программы;

Средства разработки на C++ 25

Project – окно для отображения состава проекта (проекты

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

Перечисленные окна выводятся соответствующими командами меню Window.

В любой момент времени только одно окно является активным. Активное окно выделяется рамкой из двойных линий, неактивное окно ограничивается рамкой из одинарных линий.

На рис.9 показано типовое окно и его элементы управления.

Заголовок Номер окна

 

 

╔═[■]════════════NONAME00.CPP═════════════1═[↑]╗

 

 

 

 

 

 

 

Кнопка закрытия

Увеличить размер

 

 

 

 

 

 

 

 

Ползунки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Линейки прокрутки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

╚══1:1══════◄ ■ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒►─┘

Координаты курсора

Изменение размеров

Рис.10. Типовое окно и его элементы управления

Окна нумеруются в соответствии с их порядком появления на экране, этот номер показывается вверху справа. Для быстрого перехода к нужному окну можно нажать клавишу Alt и ввести номер окна.

Щелчок по кнопке [↑]распахивает окно до максимального размера, и сама кнопка приобретает вид [↕], повторное ее нажатие возвращает

окно к прежнему размеру.

Окно можно произвольно перемещать по экрану, перетаскивая его мышью за заголовок и изменять размеры, используя элемент управления в правом нижнем углу.

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

Перечисленные действия с окнами, а также ряд других, можно производить командами меню Window. Рассмотрим их.

Команда Size/Move или Ctrl+F5 переводит окно в режим

перемещения и изменения размеров. В этом режиме в строке состояния выводится:

↑↓← → Move Shift-↑↓←Resize

26 2

Это подсказка о том, что клавишами-стрелками окно можно перемещать, а при нажатой клавише Shift – изменяться размеры.

Отмена этого режима производится клавишей Enter или Esc.

Команда Zoom или F5 увеличивает окно до максимального размера,

повторное ее выполнение возвращает окно к прежнему размеру. Команда Tile делит экран равномерно между окнами, чтобы все они

были видны.

Команда Cascade размещает несколько окон одного типа друг над

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

Переход между окнами обеспечивает команда Next или F6. Каждое нажатие F6 активизирует следующее окно.

Команда Project notes открывает окно примечаний к проекту. Здесь

можно писать любые заметки, поясняющие смысл проекта.

Команда List all… выводит список всех открытых окон. В нем можно выбрать любое окно и по кнопке OK перейти в него.

Настройка среды

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

Для задания настроек среда TC предъявляет специальные диалоговые окна (диалоги), имеющие элементы управления, с помощью которых удобно задавать настроечные параметры. Примеры диалогов приведены на рис.11, 12. В диалогах используются следующие элементы управления:

текстовое поле позволяет ввести некоторый текст; флажок может быть установлен [X] или сброшен [ ];

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

() C

( ) Pascal,

что обеспечит компиляцию вызовов функций по правилам языка C, или выбор

( ) C

() Pascal,

при котором вызов функций будет производиться по правилам языка Паскаль (это бывает необходимо при написании программы на нескольких разных языках);

кнопка, которую можно нажимать щелчком мыши, клавишами Enter или Пробел, когда кнопка активна;

Средства разработки на C++ 27

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

При работе с диалоговым окном переход между элементами управления производится нажатием клавиши Tab (в одном

направлении) или Shift+Tab (в обратном). Можно выбирать нужный

элемент управления щелчком левой кнопкой мыши. При щелчке мышью по кнопке будет выполнено действие, связанное с этой кнопкой. Обычно на диалогах имеются три кнопки: OK, Cancel и Help. При

нажатии OK принимаются установки, сделанные в диалоге; при нажатии Cancel изменения, внесенные в настройки, отменяются и будут действовать прежние; кнопка Help вызывает справку с описанием диалога.

Указание каталогов библиотек

Выполним команду Options, Directories, на экране появится диалоговое окно Directories, рис. 11. Здесь нужно сделать две обязательные настройки.

Вполе Include Directories следует ввести полное имя папки, в

которой размещены заголовочные файлы стандартных библиотек. Эти папки просматривает препроцессор, в поисках файлов, вставляемых в обрабатываемый текст программы директивой препроцессора #include.

Вполе Library Directories указывается полное имя папки, где

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

В поле Output Directory можно указать папку, в которую будут помещаться создаваемые .obj и .exe файлы. В поле Source Directories

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

28 2

╔═[]════════════════Directories════════════════════╗

Include Directories

 

 

 

 

┌─────────────────────────────────────────────────┐

║│C:\TC\INCLUDE

 

 

 

 

│║

└─────────────────────────────────────────────────┘

Library Directories

 

 

 

 

┌─────────────────────────────────────────────────┐

║│C:\TC\LIB

 

 

 

 

│║

└─────────────────────────────────────────────────┘

Output Directory

 

 

 

 

┌─────────────────────────────────────────────────┐

║│

 

 

 

 

│║

└─────────────────────────────────────────────────┘

Source Directory

 

 

 

 

┌─────────────────────────────────────────────────┐

║│

 

 

 

 

│║

└─────────────────────────────────────────────────┘

┌────────┐ ┌────────┐ ┌────────┐

OK

│ │ Cancel │ │

Help

│║

└────────┘ └────────┘ └────────┘

╚═══════════════════════════════════════════════════╝

Рис.11. Указание каталогов заголовочных файлов и библиотек

Подключение графической библиотеки

TC позволяет создавать программы, использующие графический режим работы дисплея, при котором изображение создается из отдельных светящихся точек – пикселей. В графическом режиме можно создать на экране более разнообразные картинки, в отличие от текстового режима, в котором можно использовать только ограниченный набор символов. Для того чтобы редактору связей были доступны функции графической библиотеки, нужно выполнить команду

Options, Linker, Libraries и на диалоге Libraries, рис.12, установить флажок Graphics Library. Крестик у флажка ставится (снимается) щелчком мыши или клавишей Пробел, когда соответствующий флажок активен.

╔═[]══════════ Libraries ═════════════╗

Libraries

 

┌────────┐

 

OK

│ ║

║ ┌───────────────────────┐

└────────┘

║ │[ ] Container Class

┌────────┐

║ │[ ] Turbo Vision

Cancel

│ ║

║ │[X] Graphics Library

└────────┘

║ │[X] Standard Run Time

┌────────┐

└───────────────────────┘

Help

│ ║

 

 

└────────┘

╚══════════════════════════════════════╝

Рис.12. Подключение графической библиотеки

Назначение текущего каталога

Очень важным является понятие текущего каталога (папки). Именно в текущий каталог помещаются результаты работы TC: объектные файлы (.obj) и готовые к исполнению файлы рабочих

Средства разработки на C++ 29

программ или (.exe). По умолчанию текущим каталогом является папка Bin, в которой находится файл Tc.exe. Среда TC позволяет назначить

текущий каталог в процессе работы командой File, Change dir… Эта команда предъявляет диалог Change Directory, рис.13.

╔═[]═══════ Change Directory ═════════╗

Directory Name

 

 

 

║┌───────────────────────┐

 

 

║│D:\USERS\C

 

 

└───────────────────────┘

┌────────┐

Directory Tree

 

OK

│ ║

║┌───────────────────────┐

└────────┘ ║

║│Drives

│▲

┌────────┐ ║

║│└┬D:\

│■

Chdir

│ ║

║│ └┬USERS

│▒

└────────┘ ║

║│

 

│▒

┌────────┐ ║

C

║│

 

│▒

Revert │ ║

║│

 

│▒

└────────┘ ║

║│

 

│▒

┌────────┐ ║

║│

 

│▒

Help

│ ║

║└───────────────────────┘▼ └────────┘ ║ ╚══════════════════════════════════════╝

Рис.14. Назначение текущего каталога

Для выбора текущего каталога нужно перейти к дереву папок Directory Tree, нажав клавишу Tab или щелчком мыши, дважды

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

нужную папку. Папка, являющаяся текущей, выделяется цветом, для выбора текущей папки нужно нажать кнопку Chdir. Имя текущей папки

отображается в поле Directory Name. Завершается выбор кнопкой OK. На рисунке видно, что в качестве текущей выбрана папка D:\Users\C.

Помощь

Система TC поддерживает мощную систему помощи и подсказок, которая вызывается нажатием клавиши F1. Контекстную помощь можно

получить о любом слове или знаке, для этого в окне редактирования курсор следует установить на слове, по которому желательно получить помощь, и нажать клавиши Ctrl+F1.

В разделах помощи имеются, как правило, выделенные слова, являющиеся ссылками на связанные разделы. Щелчок по этим ссылкам выводит связанный раздел справки.

Часто в окнах помощи имеется пункт Examples, в котором

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

Отказ от продолжения работы со справочной системой производится клавишей Esc.

30 2

Работа с блоками текста в редакторе

Работа в текстовом редакторе TC по созданию текста программ производится обычными приемами. Отметим некоторые полезные команды.

Завершение ввода каждой строки производится нажатием клавиши

Enter.

Отмена неправильно введенного материала производится командой меню Edit, Undo или комбинацией клавиш Alt+ BackSpace.

Весьма ускоряет процесс ввода текста умение работать с блоками. Для выделения блока текста нужно держать нажатой клавишу Shift и

нажимать клавиши со стрелками. Это относится и к работе в окнах помощи.

Блок текста копируется в буфер обмена командой меню Edit, Copy или клавишами Ctrl+Insert.

Содержимое буфера обмена вставляется в точку расположения курсора командой Edit, Paste или клавишами Shift+Insert. При этом

содержимое буфера обмена не исчезает и его можно снова вставить в другое место.

Команда меню Edit, Cut или клавишная комбинация Shift+Delete

вырезает выделенный фрагмент из текста и вставляет его в буфер обмена.

Полезно запомнить клавишную команду Ctrl+Y, которая удаляет из текста текущую строку.

Выполнение программы

Текст программы, набранный в окне редактирования, следует сохранить в каком-либо файле командой меню File, Save или нажав

клавишу F2. При первом выполнении этой команды предъявляется диалог Save File As, рис.15.

Папка, предлагаемая для сохранения файла, показывается в нижней части диалога. Нужную папку можно выбрать в поле Files, где

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

[]══════════ Save File As

═══════════╗

Save File As

 

 

║┌───────────────────────┐

┌────────┐

║│Hello

OK

│ ║

└───────────────────────┘

└────────┘ ║

Files

 

 

 

║┌───────────────────────┐

 

 

║│..\

┌────────┐ ║

║│

Cancel

│ ║

║│

└────────┘ ║

║│

┌────────┐ ║

║│

Help

│ ║

║└◄▪▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒►┘

└────────┘ ║

 

 

 

║┌────────────────────────────────────┐║

║│D:\USERS\C

 

 

│║

║│..

Directory Jun 7,2004

3:23pm│║

└────────────────────────────────────┘║

╚══════════════════════════════════════╝

Средства разработки на C++ 31

выбрана папка, в поле Save File As вводится имя файла, например, Hello.

К имени файла автоматически добавляется расширение .cpp, если не введено какое-либо другое расширение. Сохранение завершается нажатием кнопки OK. При повторном выполнение команды File, Save

рассмотренный диалог не выводится, и файл сохраняется в выбранной ранее папке и с заданным ранее именем.

Рис.16. Сохранение исходной программы в файле

При необходимости сохранить файл под другим именем или в другой папке (создать новую копию файла) нужно выполнить команду File, Save As, которая всегда выводит диалог, показанный на рис.17.

Компиляция программы из окна редактирования выполняется командой Compile, Compile или нажатием клавиш Alt+F9. При наличии

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

ошибка и поясняющего текста. Если ошибок нет, компилятор создает файл с объектным кодом программы, например Hello.obj.

Исполняемая программа создается командой Compile, Make или нажатием F9. Вызываемый по этой команде редактор связей создаст

файл Hello.exe.

Программа запускается на выполнение командой Run, Run или нажатием Ctrl+F9. Заметим, что если нажать Ctrl+F9 сразу после ввода

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

Результаты работы программы выводятся на экран пользователя, который лежит «под» окном среды. Чтобы его увидеть, нужно нажать Alt+F5 или выполнить команду Window, User screen. Возврат из экрана

пользователя в среду разработки происходит после нажатия любой клавиши

Отладка программ

В процессе создания программ неизбежно появляются ошибки. Если ошибки связаны с нарушение синтаксиса языка программирования, их обнаруживает компилятор. Например, начинающие программисты часто забывают ставить точку с запятой в конце инструкций программы. Более сложные ошибки связаны с неверной логикой работы, что приводит к неверным результатам или незапланированному поведению программы.

Поскольку ошибки бывают всегда, системы разработки программ имеют средства, помогающие обнаруживать ошибки. Познакомимся с такими средствами, имеющимися в Turbo C++ на примере простейшей программы, в которой есть синтаксическая и логическая ошибка.

32 2

Программа 2. Деление чисел

Загрузим TC, выполним команду File, New. В появившемся пустом окне введем следующую программу:

#include <iostream.h>

 

int main()

 

{

 

int a, b, c;

// Определение переменных

a = 1;

// Присваивание значений

b = 0;

// переменным

c = a / b

// Деление чисел

cout << "c = " << c;

// Вывод частного

return 0;

 

}

 

Здесь определяются три переменные целого типа a, b и c. Сначала пишется тип величин int, а затем перечисляются через запятую имена создаваемых переменных.

Начальные значения переменные получают с помощью оператора присваивания, который обозначается знаком =.

Далее вычисляется частное величин a и b с помощью оператора деления /, результат присваивается c и выводится.

В тексте программы сознательно допущена ошибка, которую будем сейчас искать.

Выполним команду File, Save и сохраним программу в файле

Demoerr.cpp.

Синтаксические ошибки

Выполним компиляцию, нажав Alt+F9. Компилятор выдаст информационное окно, рис.18.

╔════════════ Compiling ═════════════╗

 

 

 

 

║ Main file: DEMOERR.CPP

 

║ Compiling: EDITOR

→ DEMOERR.CPP

 

 

Total

File

Lines compiled:

885

885

 

Warnings:

1

1

 

Errors:

1

1

 

 

1920K

 

║ Available memory:

 

Errors

:

Press

any key ║

╚════════════════════════════════════╝

Рис.19. Информация о результатах компиляции

В информационном окне указано имя компилируемого файла, количество откомпилированных строк (Lines compiled), количество предупреждений (Warnings) и ошибок (Errors). В самой программе

╔[■]══════════════════════════ Message ═══════════════════════1═[↑]═╗

║ Compiling DEMOERR.CPP:

║●Error DEMOERR.CPP 8: Statement missing ;

║Warning DEMOERR.CPP 10: 'c' is assigned a value that is never used ▒

╚═◄▪▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒►─┘

Средства разработки на C++ 33

только 10 строк, но в общее число 885 включаются и строки файла iostream.h.

Рис.20. Окно с сообщениями об ошибках

После нажатия любой клавиши (Press any key) информационное окно закрывается и становится активным окно сообщений, рис.21. В нем перечислены найденные ошибки и предупреждения. Сообщение об ошибке состоит из имени файла, номера строки в файле, где обнаружена ошибка, и краткого ее описания. Если выбрать какое-либо сообщение об ошибке и нажать клавишу F1, будет показана более

подробная справка об ошибке. При нажатии Enter происходит переход к

строке кода с ошибкой или к следующей строке.

Подробное описание ошибок имеется в системе помощи, которое выводится командой Help, Contents, Error Messages.

В рассматриваемом примере имеется одна ошибка Statement missing ;, смысл которой в том, что потеряна точка с запятой в

выражении. Обращаясь к программе, видим, что (;) отсутствует в 7-й строке, хотя в сообщении об ошибке говорится о 8-й.

Смысл предупреждения состоит в том, что переменной c присваивается значение, которое нигде не используется.

Поставим точку с запятой (;) в 7-й строке, записав ее в виде:

c = a / b;

// Деление чисел

и откомпилируем программу. Ошибки и предупреждения исчезнут. Отсюда понятно, что предупреждения было следствием ошибки.

Ошибки в процессе работы программы

Запустим программу на выполнение командой Run, Run, или нажав Ctrl+F9. На экране пользователя, нажав Alt+F5 или выполнив команду

Window, User screen, увидим:

Divide error

Это уже сообщение об ошибке времени выполнения, или Run-time error. Из текста сообщения понимаем, что ошибка связана с делением.

Иногда программа аварийно завершается из-за невозможности дальнейших вычислений, например, при делении на нуль, при попытке извлечь корень из отрицательного числа, в некоторых других случаях. Подобные ошибки обычно несложно найти, так как достаточно посмотреть ограниченное число мест, где критические ситуации возможны. В рассматриваемом примере есть единственная операция деления, которая и привела к ошибке.

34 2

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

Достаточно часто возникают ошибки, приводящие к бесконечному повторению какого-либо цикла. В этом случае говорят, что программа зациклилась. Если зациклилась программа, запущенная из интегрированной среды TC, то часто удается прервать бесконечный цикл, нажав комбинацию клавиш Ctrl+Break.

Во всех случаях обнаружить ошибки времени выполнения поможет построчное выполнение или трассировка.

Трассировка программ

Построчное выполнение программы осуществляется нажатием клавиши F7 (или командой меню Run, Trace into). Каждое нажатие F7

приводит к выполнению одной строки кода, которая при этом выделяется подсветкой. Выполняя по шагам программу, обнаруживаем, что ее выполнение прерывается при достижении строки

c = a / b;

При нажатии F7 происходит «заход» в код функций, если в

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

Команда Run, Step over или F8 также осуществляет построчное

выполнение программы, но без захода в функции.

По команде Run, Go to cursor или F4 программа выполняется до

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

Выход из режима отладки производится командой Run, Program reset или нажатием комбинации клавиш Ctrl+F2.

Можно прервать отладку и продолжить дальнейшее выполнение программы, выполнив команду Run, Run или Ctrl+F9.

Просмотр текущих значений выражений

Разберемся в причине возникновения ошибки при выполнении деления. В этом поможет просмотр текущих значений переменных в окне просмотра Watch, которое выводится на экран командой Window,

Watch.

Новые выражения добавляются в окно просмотра командой Debug, Watches, Add watch или нажатием Ctrl+F7.