Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБ_ПОА_2012.doc
Скачиваний:
2
Добавлен:
03.05.2019
Размер:
8.49 Mб
Скачать

137

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Факультет автоматики и вычислительной техники

Кафедра автоматики и телемеханики

В.В.Чуркин

ЛАБОРАТОРНЫЕ РАБОТЫ ПО ПРОГРАММИРОВАНИЮ

В СРЕДЕ C++ Builder

Практикум к лабораторным работам

Дисциплина “Программирование и основы алгоритмизации ”

Специальность 230201, заочное отделение

Киров 2012

СОДЕРЖАНИЕ

Ознакомление с Интегрированной Средой Разработки (ИСР)

C++Builder 6..........................................................................................................3

Лабораторная работа 1. Формирование и обработка динамических массивов…………………………………………………………………………12

Лабораторная работа 2. Текстовые файлы, символы, строки….……..........28

Лабораторная работа 3. Сортировки числовых массивов. Рекурсивные

функции….………………………………………………………………….........39

Лабораторная работа 4. Способы шифрования и дешифрования текста......62

Лабораторная работа 5. Преобразование и вычисление арифметических выражений с помощью стека…………………………………….….……..........91

Лабораторная работа 6. Очередь приоритетов ….………………............113

Библиографический список……………………………………………………..136

Ознакомление с Интегрированной Средой Разработки (иср)

C++Builder 6

Интегрированная Среда Разработки (Integrated Development Environment – IDE или ИСР) – это среда в которой есть все необходимое для быстрой разработки (проектирования) сложных прикладных программ (приложений) ИСР интегрирует в себе редактор кодов отладчик инструментальные панели редактор изображений инструментарий баз данных что позволяет проектировать запускать и тестировать приложения

Проекты C++Builder

Проект C++Builder состоит из форм модулей с их заголовочными файлами и файлами реализации установок параметров проекта ресурсов и тд Вся эта информация размещается в файлах Многие из этих файлов автоматически создаются C++Builder в процессе построения приложения:

Головной файл

проекта (.cpp)

C++Builder создает файл .cpp для головной функции WinMain, инициирующей приложение и запускающей его на выполнение

Файл опций проекта (.bpr)

Этот текстовый файл содержит установки опций проекта и указания на то какие файлы должны компилироваться и компоноваться в проект Файл сохраняется в формате XML

Файл ресурсов проекта (.res)

Двоичный файл содержащий ресурсы проекта: пикто-граммы курсоры и тп По умолчанию содержит только пиктограмму проекта Может дополняться с помощью Редактора Изображений

Файл реализации модуля (.cpp)

Каждой создаваемой пользователем форме соответствует текстовый файл реализации модуля используемый для хранения кода Пользователь может создавать модули не связанные с формами

Заголовочный файл модуля (.h)

Каждой создаваемой пользователем форме соответствует не только файл реализации модуля но и его заголовоч-ный файл с описанием класса формы Пользователь мо-жет и сам создавать необходимые заголовочные файлы

Файл формы (.dfm)

Это двоичный или текстовый файл который C++Builder создает для хранения информации о формах пользовате-ля Пользователь может смотреть этот файл в текстовом виде или в виде формы Каждому файлу формы соответ-ствует файл модуля (.cpp)

Заголовочный файл компонента (.hpp)

Файл создается при создании пользователем нового ком-понента Пользователю также часто приходится подклю-чать к проекту эти файлы из библиотеки компонентов C++Builder расположенные в каталоге Include\VCL

Файл группы проектов (.bpg)

Текстовый файл создаваемый в C++Builder при созда-нии пользователем группы проектов

Файлы пакетов (.bpl и .bpk)

Эти двоичные файлы используются C++Builder при ра-боте с пакетами: .bpl – файл самого пакета .bpk – файл определяющий компиляцию и компоновку пакета

Файл рабочего стола проекта (.dsk)

В этом текстовом файле C++Builder хранит информацию о последнем сеансе работы с проектом: открытых окнах их размерах и положении Благодаря этому файлу в но-вом сеансе работы пользователь сразу видит тот же эк-ран который был в предыдущем сеансе Файл создается только при включении опции Опции автосохранения |Рабочий стол проекта ( на странице Предпочтения–многостраничного окна Опции среды общих настроек среды вызываемого командой Инструменты|Опции среды)

Файлы резервных копий (.~bp, .~df, .~cp, .~h)

Это соответственно файлы резервных копий для файлов проекта формы реализации модуля и заголовочного Если пользователь что-то безнадежно испортит в своем проекте он может соответственно изменить расширения этих файлов и таким образом вернуться к предыдущему не испорченному варианту

Следующая группа файлов создается компилятором:

Исполняемый

файл (.exe)

Это исполняемый файл проектируемого приложения Он является автономным исполняемым файлом для которо-го больше ничего не требуется если только пользователь не использует библиотеки содержащиеся в пакетах DLL, OCX и тд

Объектный файл модуля (.obj)

Это откомпилированный файл модуля (.cpp) который компонуется в окончательный исполняемый файл

Динамически присоединяемая библиотека (.dll)

Этот файл создается в случае если пользователь проек-тирует свою собственную DLL

Файл таблицы символов (.tds)

Двоичный файл используемый отладчиком в процессе отладки приложения

Файлы выбороч-ной компоновки (.il?)

Файлы с расширением начинающемся с il (.ilc, .ild, .ilf, .ils), позволяют повторно компоновать только те файлы которые были изменены после последнего сеанса

C++Builder может использовать файлы Windows:

Файлы справки (.hlp)

Это стандартные файлы справки Windows, которые мо-гут быть использованы приложением C++Builder

Файлы изображе-ний или графичес-кие файлы (.wmf, .bmp, .ico)

Эти файлы обычно используются в приложениях Win-dows для создания привлекательного и дружественного пользовательского интерфейса

Из всех перечисленных файлов (а могут использоваться еще и другие) важнейшими являются файлы .cpp, .h, .dfm, .bpr, .res. Это файлы которые необходимо перенести на другой компьютер чтобы продолжить на нем работу над проектом Все остальные файлы C++Builder создаст автоматически в процессе компиляции проекта и его отладки

Главной частью приложения является головной файл .cpp (файл проекта исходный файл проекта) с функцией WinMain, с которой начинается выполнение программы и которая обеспечивает инициализацию других модулей Она создается и модифицируется C++Builder автоматически в процессе разработки приложения Имя которое дает пользователь файлу проекта когда сохраняет его становится именем исполняемого файла

Все изменения файла проекта при добавлении новых форм изменении имен форм и тп поддерживаются C++Builder автоматически Для просмотра исходного файла проекта надо выполнить команду Проект|Вид источника. Но обычно просмотр не требуется

Информация о формах C++Builder хранится в трех файлах: .dfm, .cpp, и .h. Информация о внешнем виде формы ее размерах местоположении на экране и тд хранится в файле с расширением .dfm, который по умолчанию имеет текстовый вид Для хранения файла формы в двоичном виде нужно щелкнуть на форме правой кнопкой мыши и во всплывшем меню выключить индикатор Текст DFM.

Основной файл с которым работает пользователь – это файл реализации модуля .cpp, в котором хранится код соответствующий данной форме В текстовом заголовочном файле с расширением .h хранится объявление класса используемой формы Весь основной текст этого файла C++Builder формирует автоматически по мере проектирования пользователем формы Но иногда требуется вручную вводить в этот файл объявления каких-то функций типов переменных В C++Builder заголовочный файл загружается в окно Редактора Кода автоматически

Имена всех файлов описывающих модуль одинаковы Это имя задает пользователь когда в первый раз сохраняет модуль

Рекомендуется создавать в приложении модуль не связанный с формой в который помещают описания типов констант переменных функций используемых другими модулями Это способствует хорошей структурированности программы поддерживает единое понимание типов констант переменных во всех модулях и уменьшает количество взаимных ссылок модулей друг на друга Тем самым упрощается модификация и сопровождение программы

Чтобы создать в проекте новый модуль не связанный с какой-либо формой надо выполнить команду Файл|Новый|Другое и в открывшемся многостраничном окне Новые элементы дважды щелкнуть на пиктограмме Модуль страницы Новый.

По окончании работы над проектом следует удалить вспомогательные файлы – .obj, .res, .tds, .il?, ~*. Объем файлов .tds может быть очень большим (мегабайты)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]