Методические указания к лабораторной работе №1 по курсу " Основы алгоритмизации и языки программирования " для студентов 1-го курса - umotnas.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Название работы Кол-во страниц Размер
Методические указания к лабораторной работе по курсу «Теория волновых... 1 123.87kb.
Методические указания к лабораторной работе по курсу «Теория волновых... 1 109.46kb.
Методические указания для студентов 1 курса Одесса 2008 Составители... 2 356.85kb.
Методические указания к выполнению курсовой работы по дисциплине... 1 130.81kb.
Методические указания для студентов 2 курса заочного отделения специальности... 3 626.53kb.
Методические указания по самостоятельной работе Красноярск 1 136.74kb.
Методические указания по самостоятельной работе Красноярск сфу 2011 1 282.56kb.
Методические указания по самостоятельной работе Красноярск сфу 2011... 1 134.92kb.
Методические указания к лабораторной работе по статистической радиофизике... 5 670.31kb.
Методические указания по выполнению курсовых работ по истории искусств... 1 384.3kb.
Методические указания к выполнению контрольной работы Для студентов... 1 64.64kb.
Общие вопросы Что такое Embarcadero rad studio xe? 1 113.81kb.
Викторина для любознательных: «Занимательная биология» 1 9.92kb.

Методические указания к лабораторной работе №1 по курсу " Основы алгоритмизации и - страница №1/1



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

ЭКОНОМИКИ, СТАТИСТИКИ И ИНФОРМАТИКИ

Программирование под Windows.



Интегрированная среда Borland С++ Builder и основные приёмы разработки программ под Windows.
Методические указания к лабораторной работе №1

по курсу " Основы алгоритмизации и языки программирования "

для студентов 1-го курса специальности ДИП

Выполнил: Петров А.В.

Группа ДИП-15

Принял: Веселов А.А.

"__"___________2000г.
Тверь 2000

Цель лабораторной работы заключается в изучении и приобретении первых практических навыков работы с интегрированной средой разработки программных приложений Borland C++ Builder.

Основными задачами, решаемыми в процессе выполнения лабораторной работы, являются:


  • Ознакомление с интегрированной средой разработчика Borland C++ Builder, её основными составными частями и возможностями, которые они предоставляют.

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

  • Приобретение практических навыков работы в процессе разработки простейшего программного приложения.

Методическое указание обсуждено на заседании кафедры ЭВМ (протокол № 2 от 6 января 2000 года) и рекомендовано к печати.


Составитель: Веселов А.А.
Содержание
1. Содержание отчета по лабораторной работе.

2. Описание интегрированной среды разработчика.

2.1. Общий состав и свойства основных составных частей интегрированной среды разработки.



2.1.1. Основное (главное) окно.

2.1.2. Редактор форм.

2.1.3. Редактор кода.

2.1.4. Инспектор объектов.

2.1.5. Администратор проекта.

2.2. Понятие о проектах в С++ Builder.

2.3. Как выполняются Windows - программы.

3. Создание приложений в С++ Builder.

4. Создание простейшего приложения.

4.1. Создание базового варианта приложения.

4.2. Создание модифицированного приложения.

5. Задание на лабораторную работу.

6. Вопросы для самопроверки.

7. Литература.

8. Приложение: Титульный лист отчёта по лабораторной работе.

1. Содержание отчета по лабораторной работе.



Отчет по лабораторной работе должен содержать:

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

  • Задание на лабораторную работу.

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

  • Описание работы программ базового и модифицированного вариантов созданных приложений.

  • Внешний вид базового и модифицированного вариантов созданных приложений.


2. Описание интегрированной среды разработчика.

2.1. Общий состав и свойства основных составных частей интегрированной среды разработки.

С++ Builder - Это новейшая система объектно-ориентированного программирования производства корпорации Borland, предназначенная для разработки приложений для операционных систем Windows-95 и NT. Интегрированная среда (IDE) С++ Builder обеспечивает высокую скорость визуальной разработки, продуктивность повторно используемых компонент в сочетании с мощностью языковых средств С++, современными инструментами и разномасштабными средствами доступа к базам данных.

В основном, интегрированная среда разработки объединяет в себе: Главное окно IDE, Редактор форм, Инспектор объектов, Администратор проекта и полностью интегрированные Редактор кода и Отладчик - инструменты быстрой разработки программных приложений, обеспечивающих полный контроль над кодом и ресурсами.




Рис1. Внешний вид интегрированной среды разработки приложений.

Кроме этого, в составе IDE имеются дополнительные инструментальные средства, основными из которых являются Окно Управления проектом и Окно инспектора классов.

Быстрая разработка приложений (RAD) подразумевает поддержку работы с такими понятиями как свойства, методы и события компонент в рамках объектно-ориентированного программирования.

Компонента (component) - это функционально законченный участок двоичного кода (программы), выполняющий некоторую специальную предопределённую задачу, например, отображение текста, элемента редактирования или окна списка. Для программиста компоненту можно представить как объект (экземпляра некоторого класса), часть свойств (данных-членов класса) и методов (функций-членов класса) можно определить и(или) настроить визуально, не прибегая для этого к непосредственному программированию. Использование компонент позволяет (особенно при разработке интерфейсных частей приложения) перейти от технологии непосредственного кодирования программы к технологии её конструирования (визуальной сборки). В сочетании с наследованием и полиморфизмом, реализованных в классах (а следовательно, и в компонентах) это создаёт все необходимые предпосылки для резкого сокращения сроков разработки программ при одновременном улучшении качества их функционирования.

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

Методы (Metods) - производят определённые операции над компонентным объектом, в том числе и такие сложные как воспроизведение или перемотка устройства мультимедиа.



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

Работая совместно свойства, методы и события образуют среду RAD интуитивного программирования надёжных приложений под Windows.

2.1.1. Основное (главное) окно интегрированной среды (IDE) C++ Builder условно разделено на три части. Оно содержит область меню, оперативную панель (speed bar) слева и палитру компонентов (Component Palette) справа (рис.2).





Рис.2. Главное окно приложения.
Поскольку программирование в С++ Builder является в значительной степени визуальным, то главное меню можно использовать с меньшей интенсивностью по сравнении с другими средствами программирования.

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



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

2.1.2. Редактор форм. Предназначен для создания интерфейса программы с пользователем. Форма представляет собой окно с управляющими компонентами, которые переносятся программистом на стадии проектирования или создаются динамически (в процессе работы создаваемого приложения). Формы являются основными составляющими, из которых строится приложение C++ Builder. Каждое приложение имеет по крайней мере одну форму, которая служит главным окном. Форма главного окна может быть просто пустым окном, содержать элементы управления или растровое изображение. В типичной Windows-программе главное окно обычно имеет меню. Окно может также содержать дополнительные элементы, например, панель инструментов или строку состояния.

Таким образом, форма (Рис3.) - это любое окно программы: простое окно, форма ввода или диалоговая панель. Сам файл формы представляет собой файл с расширением ".dfm", в котором в виде ресурсов хранится изображение формы и ее свойства. Модуль (Unit)- это файл с исходным текстом на языке Cи++. Когда создается форма, к ней автоматически добавляется свой модуль, управляющий поведением и отображением формы. Правда, модули могут создаваться и без привязанных к ним форм.


Рис.3. Редактор форм.
2.1.3. Редактор кода. Редактор кода программ (рис.4 и рис.5) предоставляет удобное и надёжное средство для просмотра и редактирования текста программного модуля (unit), независимо компилируемого в объектный файл.


Рис.4. Окно редактора кода с активной страницей редактируемого текста программы.
Модуль состоит из двух частей: файла объявлений с расширением ".h" и кодового файла с расширением ".cpp". Окно редактора (рис.4 и рис5) может содержать несколько вкладок с редактируемыми файлами.


Рис.5. Окно редактора кода с активной страницей заголовочного файла.
Редактор исходных текстов в C++ Builder оснащен полем на левом краю окна для установки точек прерывания. Как и в других продуктах Borland, ключевые слова и прочие элементы исходного текста выделяются цветом.. Однако есть и нечто новое. Это возможность использования технологии шаблонов Code Insight. Суть этого нововведения состоит в том, что в запаснике у редактора имеются шаблоны всех часто используемых элементов языка. В любой момент можно вставить пустой цикл for или, к примеру, описание нового класса.

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




Рис.6. Окно инспектора объектов.
Инспектор объектов (рис.6) состоит из трёх основных частей: Селектора Компонентов, вкладки Свойства (Property) и вкладки События (Events). Селектор объектов представляет собой выпадающий комбинированный список в верхней части инспектора объектов. Он позволяет выбирать объект для просмотра и редактирования. Компонент, выбранный в селекторе будет выделен и на форме.

2.1.5. Администратор проекта. Предназначен для манипуляций с текущим проектным файлом с расширением ".cpp". Окно (рис.7) содержит список всех составляющих фалов, ассоциированных с текущим проектом.




Рис.7. Окно администратора проекта.
Кроме этого С++ Builder располагает возможностью одновременной компиляции нескольких проектов. Сложный проект в нем называется группой проектов и может сочетать самые разнообразные узлы. Так, в мире Windows создание приложения и нескольких динамически загружаемых библиотек DLL - обычное дело. И здесь могут оказаться весьма кстати многоузловые группы проектов. Компиляцию и сборку проектов можно вести либо по одному выбранному узлу из группы проектов, либо обрабатывать всю группу целиком. Для этого в меню Project появились две дополнительные команды Compile all projects и Build all projects. Внешний вид окна самого администратора проектов представляется достаточно простым и интуитивно понятным, но в то же время мощным и удобным.

Кнопка New администратора проектов привязана к мастерам создания разнообразных приложений. А кнопкой Activate активизируется проект и его подгрузка. Добавим, что с помощью контекстного меню администратора проектов пользователь может добавлять любые файлы к выбранному узлу проекта и даже разделять один и тот же файл между разными узлами одной группы проектов.

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

2.2. Понятие о проектах в С++ Builder.

Проект (Project) - это набор файлов, которые используются при создании отдельно исполняемого файла или динамически компонуемой библиотеки. Другими словами файлы, образующие приложение - формы и модули - собраны в проект. Администратор проектов показывает списки файлов и модулей приложения и позволяет осуществлять навигацию между ними. Можно вызвать администратора проектов, выбрав пункт меню View/Project Manager. По умолчанию вновь созданный проект получает имя Project1.cpp. По умолчанию проект первоначально содержит файлы для одной формы и исходного кода одного модуля. Однако большинство проектов содержат несколько форм и модулей. Чтобы добавить модуль или форму к проекту, нужно щелкнуть правой кнопкой мыши и выбрать пункт New Form из контекстного меню. Можно также добавлять существующие формы и модули к проекту, используя кнопку Add контекстного меню администратора проектов и выбирая модуль или форму, которую нужно добавить. Формы и модули можно удалить в любой момент в течение разработки проекта. Однако, из-за того, что форма связаны всегда с модулем, нельзя удалить одно без удаления другого, за исключением случая, когда модуль не имеет связи с формой. Удалить модуль из проекта можно, используя кнопку Remove администратора проектов.

Если выбрать кнопку Options в администратор проектов, откроется диалоговая панель опций проекта, в которой можно выбрать главную форму приложения, определить, какие формы будут создаваться динамически, каковы параметры компиляции модулей (в том числе созданных в Delphi, так как C++ Builder может включать их в свои проекты) и компоновки.



Файлы, используемые в проектах C++ Builder. Для каждого нового проекта C++ Builder создаёт как минимум шесть файлов:

  • Исходный файл проекта (project file project)

  • Исходный файл главной формы

  • Заголовочный файл главной формы

  • Файл ресурсов главной формы

  • Файл ресурсов приложения

  • Информационный файл проекта


Исходный файл проекта (project file project) содержит функцию WinMain() и прочий стартовый код C++ Builder. Исходный файл главной формы (main form source file) и заголовочный файл главной формы (main form header file)содержат объявления и определения классов главной формы. С++ Builder будет создавать дополнительные исходные и заголовочные файлы для каждой новой формы данного проекта. Файл ресурсов главной формы (main form resource file) и файл ресурсов приложения (application resource file) представляют собой двоичные файлы, описывающие главную форму и значок приложения. C++ Builder создаёт также информационный файл проекта (project make file). Он представляет собой текстовый файл, содержащий установленные опции компилятора, имена исходных файлов и форм, входящих в проект, а также имена необходимых библиотечных файлов.

2.3. Как выполняются Windows - программы.

Чем отличается выполнение DOS-приложений от выполнения приложений, управляемых событиями, каковыми являются все приложения для Windows? Непредсказуемостью! В DOS программа выполнялась от инструкции к инструкции, периодически обращаясь за помощью к операционной системе: где буковку на дисплей вывести, где клавишу считать, где прерывание какое-нибудь вызвать. В Windows все иначе: ваше приложение запускает себя, создает окошко (а может быть, и не одно) и отдает себя в руки Windows, которая становится главным распорядителем. С этого момента все команды, связанные с действиями пользователя, обрабатывает операционная система, и уже она решает, отдать или нет управление вашей программе. Это и является причиной непредсказуемости, называемой системными программистами асинхронностью. Выполняемое приложение просто не может знать, когда его "позовут к столу" и по какому поводу. Возможно, пользователь выберет пункт из меню, а может быть, сработает системный таймер или передвинется мышь... Если событие все-таки возникает, Windows ищет в вашей программе соответствующий обработчик этого события (про обработчики мы уже с вами говорили на предыдущем занятии). Если таковой имеется, то управление передается ему. Последний делает свое дело и возвращает управление Windows. Если управление не вернуть, то в окне менеджера задач напротив названия вашей программы возникнет строчка Not responding ("Не отвечает").

3. Создание приложений в С++ Builder

Первым шагом в разработке приложения C++ Builder является создание проекта. Файлы проекта содержат сгенерированный автоматически исходный текст, который становится частью приложения, когда оно скомпилировано и подготовлено к выполнению. Чтобы создать новый проект, нужно выбрать пункт меню File/New Application. C++ Builder создает файл проекта с именем по умолчанию Project1.cpp, а также make-файл с именем по умолчанию Project1.mak. При внесении изменений в проект, таких, как добавление новой формы, C++ Builder обновляет файл проекта.



Рис.8. Файл проекта

Проект или приложение обычно имеют несколько форм. Добавление формы к проекту создает следующие дополнительные файлы:



  • Файл формы с расширением.DFM, содержащий информацию о ресурсах окон для конструирования формы

  • Файл модуля с расширением.CPP, содержащий код на C++.

  • Заголовочный файл с расширением .H, содержащий описание класса формы.

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

Для того чтобы добавить одну или более форм к проекту , выберите пункт меню File/New Form. Появится пустая форма, которая будет добавлена к проекту. Можно воспользоваться пунктом меню File/New, выбрать страницу Forms и выбрать подходящий шаблон из репозитория объектов.





Рис.9. Шаблоны форм

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

Компоновка проекта является инкрементной (перекомпилируются только изменившиеся модули).Если при выполнении приложения возникает ошибка времени выполнения, C++ Builder делает паузу в выполнении программы и показывает редактор кода с курсором, установленным на операторе, являющемся источником ошибки. Прежде чем делать необходимую коррекцию, следует перезапустить приложение, выбирая пункт меню Run из контекстного меню или из меню Run, закрыть приложение и лишь затем вносить изменения в проект. В этом случае уменьшится вероятность потери ресурсов Windows.
4. Создание простейшего приложения

4.1. Создание базового варианта приложения. Для получения необходимых практических навыков создадим простейшее приложение, позволяющее вводить текст в редактируемое поле и добавлять этот текст к списку при нажатии мышью на кнопку. Выберем пункт меню File/New Application для создания нового проекта и сохраним его главную форму под именем samp1.cpp, а сам проект под именем samp.bpr. Поместим на форму компоненты Button, Edit и ListBox со страницы Standard палитры компонент.



Рис.10. Размещение компонентов на форме

После этого выберем на форме компонент Edit и удалим текущее значение свойства Text. Затем установим свойство Caption для Button1 равным "Добавить".

Чтобы добавить обработчик события OnClick для кнопки "Добавить", нужно выбрать эту кнопку на форме, открыть страницу событий в инспекторе объектов и дважды щелкнуть мышью на колонке справа от события OnClick. В соответствующей строке ввода появится имя функции. C++ Builder сгенерирует прототип обработчика событий и покажет его в редакторе кода. После этого следует ввести следующий код в операторные скобки { ... } тела функции:

void __fastcall TForm1::Button1Click(TObject *Sender)

{

if (!(Edit1->Text == ""))

{

ListBox1->Items->Add(Edit1->Text);

Edit1->Text = "";

}

}

Для компиляции приложения в меню Run выберем пункт Run. Теперь можно что-нибудь ввести в редактируемое поле, нажать мышью на кнопку Добавить и убедиться, что вводимые строки добавляются к списку.





Рис.11. Так выглядит готовое приложение.

4.2. Создание модифицированного приложения. Теперь немного модифицируем приложение, добавив кнопки Удалить и Выход. Для этого добавим еще две кнопки, изменим их свойство Caption и создадим обработчики событий, связанных с нажатием на эти кнопки:





Рис.12. Модифицированное приложение

Для кнопки Удалить:

void __fastcall TForm1::Button2Click(TObject *Sender)

{

if (!(ListBox1->ItemIndex == -1))

ListBox1->Items->Delete(ListBox1->ItemIndex);

}

Для кнопки Выход: Close();

Сохраним и скомпилируем приложение, а затем протестируем его.


5. Задание на лабораторную работу.
I. Интегрированная среда разработки приложений.

I.1. Создать проект нового приложения с пустой формой и сохранить его в отдельном каталоге.

I.2. С помощью программы "Проводник" просмотреть содержимое каталога, в котором хранится созданный проект и определить назначение каждого из содержащегося в нём файлов.

I.3. Открыть страницу "Standard" палитры компонентов и поочерёдно располагая содержащиеся в ней компоненты ознакомится с особенностями каждой из них. При этом следует отметить следующее:



  • Какие изменения происходят в заголовочном файле формы при размещении на ней каждого нового компонента.

  • Какие изменения происходят в файле исходных текстов программы (с расширением ".срр") редактируемой формы при добавлении обработчиков событий.

  • Изменить некоторые из свойств компонентов (например, название заголовка - Caption или его цвет - Color) и отметить результаты этих изменений.

I.4. Повторить задание изложенное в п.3 со страницами компонент "Additional" и "Win32".

II. Разработка приложений.

II.1. Создание базового варианта приложения в соответствии с разделом 4.1.

II.2. Создание модифицированного приложения в соответствии с разделом 4.2.

II.3. Описание работы программ базового и модифицированного вариантов созданных приложений.
Вопросы для самопроверки:


  1. Что нового предлагает интегрированная среда Borland C++ Builder по сравнению с традиционными инструментальными средствами проектирования программ?

  2. Из каких основных частей состоит интегрированная среда Borland C++ Builder?

  3. Для чего предназначен файл проекта?

  4. Что представляет собой компонента и что отличает её от экземпляра класса?

  5. Что общего между понятиями события и члена-функции класса и чем они отличаются друг от друга.

  6. За счёт чего ускоряется процесс разработки программных приложений в интегрированной среде Borland C++ Builder.

  7. Можно ли изменять свойства компонентов в процесе выполнения программы?

Литература:




  1. В.А.Шамис. Borland C++ Builder. Программирование на С++ без проблем. М.: "Нолидж", 1997-266с.

  2. К.Рейсдорф, К.Хендерсон. Освой самостоятельно Borland C++ Builder / Пер.с англ. -М.: "Издательство БИНОМ", 1998. -704с.

  3. М.Теллес. Borland C++ Builder: библиотека программиста. - СПб: Питер Ком, 1998. -512с.


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

ЭКОНОМИКИ, СТАТИСТИКИ И ИНФОРМАТИКИ

Отчёт о лабораторной работе №1

Программирование под Windows.



Интегрированная среда Borland С++ Builder и основные приёмы разработки программ под Windows.

По дисциплине "Основы алгоритмизации

и языки программирования"

Выполнил: Петров А.В.

Группа ДИП-15

Принял: Веселов А.А.



"__"___________2000г.
Тверь 2000