Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Знакомство со средой программирования c++Builder6




Включите компьютер и запустите программу c++Builder6 (Сетевые приложения | Программирование | Borland c++Builder6 | c++Builder6). Вы увидите открытие 5-и окон данной программы как показано на рисунке 1.

 

 

Рис.1

 

 

Среда программирования c++Builder6 является универсальной средой программирования, рассчитанная на создание различных типов приложений и поддержку нескольких языков программирования и по умолчанию открывается для создания оконного приложения на языке программирования «c++». Мы же начнем обучение программированию, создавая консольные приложения на языке программирования «С». Поэтому нам необходимо настроить среду программирования c++Builder6 для наших целей. Для этого выполните следующие команды: File | Close All (Файл | закрыть все) – тем самым мы закрываем открытый проект, File | New | Other (Файл | Новый | Другое) – тем самым мы открываем окно выбора создаваемого приложения (см. рис.2), выбираем Console Wizard и нажимаем OK, откроется окно выбора языка программирования – выбираем «с» и снова нажимаем OK – откроется окно редактора кода программы (см. рис.3). Этими командами мы создали проект для создания консольного приложения на языке программирования «с». Окно редактора кода программы предназначено для просмотра, написания и редактирования текста программы. В системе C++ Builder используется язык программирования C++ и С. При первоначальной загрузке в окне текста программы находится текст, содержащий минимальный набор операторов для нормального функционирования выбранного приложения.

Как вы уже поняли, среда C++ Builder визуально реализуется в виде нескольких окон, одновременно раскрытых на экране монитора. Количество, расположение, размер и вид окон может меняться программистом в зависимости от его текущих нужд, что значительно повышает производительность работы. Окна Object TreeVied и Object Inspector для консольных приложений не нужны, поэтому закройте их, чтобы не загромождать экран.

 

 

Рис.2

 

Рис.3

 

Вверху экрана находится Главное окно всегда присутствующее на экране и предназначенное для управления процессом создания программы. Основное меню содержит все необходимые средства для управления проектом. Пиктограммы облегчают доступ к наиболее часто применяемым командам основного меню.

В системе C++ Builder достаточно много настроек и все их знать не обязательно. Мы познакомимся для начала только с теми, которые помогут нам настроить кнопки быстрого доступа на панели инструментов. Для этого нужно щелкнуть правой кнопкой мыши по панели инструментов в главном окне программы и в появившемся меню выбрать пункт Customize(Настройка). В результате откроется окно настройки панелей и кнопок (см. рис.4).

 

 

Рис.4

На первой вкладке можно включать и отключать различные панели. Оставь-

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

простым перетаскиванием. Настройте панель инструментов (пиктограммы) в соответствии с рис.5.

 

 

Рис.5

 

В тексте будет несколько раз употребляться термин модуль. Поэтому необходимо пояснить, что это такое. Модуль — это файл, содержащий код программы или часть кода. Чаще всего это простой текстовый файл с расширением «с».

Проект — это набор файлов, используя которые компилятор создает исполняемый файл программы (ЕХЕ-файл).

Теперь попробуйте набрать текст программы, как показано ниже.

#pragma hdrstop

//---------------------------------------------------------------------------

 

#pragma argsused

#include<stdio.h>

#include<conio.h>

int main()

{

printf("Hello, Brest");

getch();

return 0;

}

 

Рассмотрим, из чего состоит приведенная выше программа. Строки 1 и 2 – это директивы включения (#include - включить). Имя директивы указывает компилятору на чтение текста из заданного файла. Включаемые файлы stdio.h, conio.h называются заголовочными. Файл stdio.h содержит различные стандартные объявления, связанные с вводом и выводом. Заголовочный файл conio.h содержит функцию getch(), которую мы использовали для того, чтобы посмотреть результат работы программы на экране, Функция считывает один символ с клавиатуры без отображения на экране (ждет нажатия любой клавиши на клавиатуре).

В 3 строке содержится один из самых важных элементов программы – функция main. Именно с этой функции начинает выполняться любая скомпилированная С-программа. Функция начинается с имени, за которым следует пара круглых скобок. За именем функции следует блок операторов, заключенный в открывающую и закрывающую фигурные скобки.

Блок – группа элементов, с которой компилятор будет обращаться как с единым целым. Блок также называют составным оператором. Все, что находится внутри блока, принадлежит функции. В нашем случае у функции 3 оператора. Операторы – это действия, которые программа должна выполнить. Первый оператор вызывает стандартную функцию форматированного вывода printf, чтобы отобразить на экране строку заключенного в кавычки текста. Функцию getch() мы уже описали. Последняя строка содержит оператор возврата return. Он завершает выполнение программы и возвращает некоторое значение операционной системе. Обычно ненулевые значения свидетельствуют об ошибках, нулевое – об успешном завершении программы.

Это пример простейшей программы. Как работает эта и другие программы, вы будете изучать позже в этом курсе.

Давайте сохраним наше новое приложение. Для этого выберем из главного

меню File | Save Project As (Файл | Сохранить проект как). Перед вами откроется стандартное окно сохранения файла. Сначала C++ Builder запросит ввести имя модуля.

По умолчанию указано текущее имя — Unitl. с. Давайте изменим его на MainModule и нажмем кнопку Save (Сохранить). Сразу хочу обратить внимание, что нельзя вводить имена с пробелами или на русском языке. Если вы попытаетесь ввести что-то подобное, то произойдет ошибка, файл не будет сохранен и придется повторять процедуру сохранения.

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

Теперь C++ Builder запросит у вас имя будущего проекта. Давайте введем Slojenie. Здесь тоже нельзя вводить имена с пробелами или на русском языке. Теперь нажмите кнопку Save (Сохранить). Проект сохранится в файле под именем Slojenie.bpr. Когда вы захотите снова открыть пример, вам нужно открыть именно этот файл. Не надо открывать файлы с расширением “c”, потому что это всего лишь составляющая часть проекта. Открывать нужно файлы с расширением bpr. Необходимо отметить, что имя проекта задает имя будущего запускаемого программного файла проекта (файла с расширением – exe).

Совет.

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

Компиляция — это процесс преобразования исходной программы в исполняемую. Процесс компиляции состоит из двух этапов. На первом этапе выполняется проверка текста программы на отсутствие ошибок, на втором — генерируется исполняемая программа (ехе-файл). После ввода текста и сохранения проекта можно из меню Project выбрать команду Build slojenie и выполнить компиляцию. Процесс и результат компиляции отражаются в диалоговом окне Compiling. В это окно компилятор выводит количество ошибкок (Errors), предупреждений (warnings) и подсказок (Hints). Сами сообщения об ошибках, предупреждения и подсказки отображаются в нижней части окна редактора кода.

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

Чтобы перейти к фрагменту кода, который содержит ошибку, надо установить курсор в строку с сообщением об ошибке и из контекстного меню выбрать команду Edit source.

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

Если в программе нет синтаксических ошибок, компилятор создает исполняемый файл программы. Имя исполняемого файла такое же, как и у файла проекта, а расширение — exe. C++ Builder помещает исполняемый файл в тот же каталог, где находится файл проекта. При обнаружении в программе неточностей, которые не являются ошибками, компилятор выводит подсказки (Hints) и предупреждения (warnings).

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

 

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

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

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

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

Интегрированная среда разработки C++ Builder предоставляет программисту мощное средство поиска и устранения ошибок в программе — отладчик. Отладчик позволяет выполнять трассировку программы, наблюдать значения переменных, контролировать выводимые программой данные.

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

В случае неправильной работы программы необходимо видеть реальный порядок выполнения инструкций. Это можно сделать, выполнив трассировку программы. Трассировка — это процесс выполнения программы по шагам (step-by-step), инструкция за инструкцией. Во время трассировки программист дает команду: выполнить очередную инструкцию программы.

C++ Builder обеспечивает два режима трассировки: без захода в функцию (Step over) и с заходом в функцию (Trace into). Режим трассировки без захода в функцию выполняет трассировку только главной функции, при этом трассировка подпрограмм не выполняется - вся подпрограмма выполняется за один шаг. В режиме трассировки с заходом в функцию выполняется трассировка всей программы, т. е. по шагам выполняется не только главная функция, но и все подпрограммы.

Для того чтобы начать трассировку, необходимо из меню Run выбрать команду Step over или Trace into (тут и далее по тексту при указании команды из меню вы можете вместо команды меню щелкнуть соответствующую пиктограмму на панели инструментов – как настраивать необходимые пиктограммы, вы научились в первой лабораторной работе). В результате откроется консольное окно (если откроется также окно CPU, то закройте его – на данном этапе мы пользоваться им не будем)и при повторении команды в окне редактора кода будет выделена первая инструкция программы. Для того чтобы выполнить выделенную инструкцию, необходимо из меню Run выбрать команду Step over (нажать клавишу <F10>) или Trace into (нажать клавишу <F11>). После выполнения инструкции будет выделена следующая. Таким образом, выбирая нужную команду из меню Run, можно выполнить трассировку программы.

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

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

Точку останова можно добавить, щелкнув мышью на синей точке, помечающей ту инструкцию программы, перед которой надо поместить точку останова (если в программе нет синтаксических ошибок, то при команде пошагового выполнения компилятор в редакторе кода помечает выполняемые инструкции программы синими точками). На месте помеченной строки вместо синей точки появиться красная (с галочкой), а помеченная строка окрасится в красный цвет. Если вы щелкните на поле где стоят синие точки на строке не помеченной синей точкой, то на этой строке тоже появиться красная точка, но уже не с галочкой, а с крестиком и строка окрасится уже не в красный цвет, а в какой-нибудь другой – такая точка останова работать не будет.

 

 

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

 

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

Для того чтобы во время выполнения программы по шагам иметь возможность контролировать значение переменной, нужно добавить имя этой переменной в список наблюдаемых элементов (Watch List). Для этого надо из меню Run выбрать команду Add Watch (Добавить наблюдаемый элемент) и в поле Expression появившегося диалогового окна Watch Properties (рис. 1) ввести имя переменной и щелкнуть по OK.

Рис.1

В результате в список Watch List, содержимое которого отражается в диалоговом окне Watch List (рис. 2), будет добавлен новый элемент. Так как переменные программы существуют (и, следовательно, доступны) только во время выполнения программы, то после имени переменной выводится сообщение: process not accessible (процесс недоступен).

 

Рис.2

 




Поделиться с друзьями:


Дата добавления: 2014-11-16; Просмотров: 808; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.045 сек.