- •Информатика
- •Тверь-2008
- •15 Сентября 2008 г., протокол n1
- •Содержание
- •Глава 1. Языки программирования (яп)…………………………………..8
- •Глава 2. Основы алгоритмизации……………………………………………24
- •Глава 3. Язык и система программирования
- •Глава 4. Объектно-ориентированное программирование (ооп)……….56
- •Глава 5. Лабораторные работы и практические задания ………………..68
- •Введение
- •Глава 5 содержит перечень лабораторных работ (8) по этим темам, а также список индивидуальных заданий для самостоятельного выполнения студентами по желанию или рекомендации преподавателя.
- •Глава 1. Языки программирования (яп)
- •1.1. Эволюция яп (поколения яп)
- •1.2. Элементы яп
- •1.3. Способы описания яп
- •1.4. Типы данных
- •1.5. Краткие сведения о некоторых яп
- •1.5.1. Бейсик (Basic)
- •1.5.2. Паскаль (Pascal)
- •1.6. Системы программирования
- •Глава 2. Основы алгоритмизации
- •2.1. Понятие алгоритма
- •2.2. Свойства алгоритма
- •2.3. Основные этапы решения задачи с помощью эвм
- •2.4. Способы записи алгоритмов
- •2.5. Основные элементы блок-схемы
- •2.6. Типовые структуры алгоритмов
- •2.7. Стандартные алгоритмы
- •2.7.1. Алгоритм накопления суммы (произведения)
- •2.7.2. Алгоритм поиска максимального (минимального) элемента
- •2.7.3. Алгоритмы сортировки
- •2.7.3.1. Метод выбора
- •2.7.3.2. Пузырьковая сортировка
- •Глава 3. Язык и система программирования
- •3.1. Общая характеристика языка и системы программирования vba
- •3.2. Типы данных в языке vba
- •Описание переменных и идентификаторы типов данных
- •3.3. Арифметические и логические выражения
- •3.4 Основные операторы языка vba
- •1. Оператор присваивания.
- •2. Условный оператор.
- •3. Оператор цикла с заданным числом повторений.
- •4. Оператор цикла с незаданным числом повторений.
- •3.5. Разбиение строки программы, несколько операторов в одной строке, задание комментариев в тексте программы
- •3.6. Типы процедур
- •Глава 4. Объектно-ориентированное программирование (ооп)
- •4.1. Структурное программирование и ооп
- •4.2. Понятие программного объекта
- •4.3. Наследование, инкапсуляция и полиморфизм
- •4.4. Понятие класса объектов
- •4.5. Типы программных компонентов
- •Глава 5. Лабораторные работы и практические задания
- •2) По заданным значениям сторон а, в, с найти площадь треугольника по формуле Герона , где р – полупериметр треугольника. (Без проверки условия на существование треугольника.)
- •Лабораторная работа n2 Создание функций пользователя с разветвляющейся структурой алгоритма
- •Практическое задание
- •Лабораторная работа n3 Создание функций пользователя с циклической структурой алгоритма и накоплением суммы (произведения)
- •Практическое задание
- •Лабораторная работа n4 Создание функций пользователя с циклической структурой алгоритма и поиском максимума (минимума)
- •Практическое задание
- •Лабораторная работа n5 Автоматическая запись программы с помощью макрорекодера
- •Практическое задание.
- •Лабораторная работа n6 Создание оконных форм пользователя
- •Практическое задание.
- •Самостоятельное задание к лабораторной работе n6
- •Лабораторная работа n7 Вычисления по разным сценариям
- •Практическое задание.
- •Лабораторная работа n8 Сортировка элементов массива
- •Самостоятельное задание к лабораторной работе n8
- •Список индивидуальных заданий для самостоятельного выполнения
- •Список рекомендуемой литературы
4.4. Понятие класса объектов
В рассмотренном ранее примере о звездном небе фактически были описаны множества однотипных объектов (а именно трех типов: Звезда, Планета, Позиция), которые обладают одинаковыми возможностями, т.е. можно сказать, что Позиция, Звезда и Планета представляют целые классы объектов.
Таким образом, класс объединяет объекты с одинаковыми возможностями (данными и методами). Он описывает общее поведение и характеристики набора аналогичных друг другу объектов (однотипных). Объект – это экземпляр класса или, другими словами, переменная, тип которой задается классом. Объекты в отличие от классов реальны, они существуют и хранятся в памяти во время выполнения программы. Соотношение между объектом и классом похоже на соотношение между переменной и типом.
Использование готовых библиотек классов повышает скорость разработки программ, но требует хорошего знания этих библиотек и понимания того, как они устроены. Кроме того, библиотека классов должна быть написана на том же ЯП, что и разрабатываемая программа. Существует способы сопряжения разных языков, но если библиотека написана на другом ЯП, то это потребует дополнительных усилий. Например, чтобы использовать для программы, написанной на языке Pascal,библиотеку классов на языке С++, необходимо написать программу с вызовами нужных функций или порождением необходимых классов.
Такого рода неудобства привели к появлению концепции компонента – программного модуля или объекта, который готов для использования в качестве составного блока программы и которым можно визуально манипулировать во время разработки программы.
4.5. Типы программных компонентов
Компонент — это объект, объединяющий состояние и интерфейс (способ взаимодействия с этим объектом). Состояние компонента может быть изменено только с помощью изменения его свойств и вызова методов.
Каждый компонент имеет интерфейсы двух типов: интерфейс стадии проектирования и интерфейс стадии выполнения. Интерфейс проектирования позволяет включать компоненты в современные среды разработки приложений, а интерфейс выполнения управляет работой компонента во время выполнения программы. При этом неважно, на каком языке программирования реализован компонент. Он должен просто удовлетворять определенным внешним параметрам и быть нейтрален по отношению к языку программирования, чтобы его можно было использовать в программе на любом языке, поддерживающем компонентную технологию. Например, компоненты стандарта ActiveX могут быть одинаково успешно включены как в программу, реализованную на Visual Basic, так и в приложение, разработанное в среде Delphi.
Компоненты графического интерфейса, управляемые событиями, являются основным «строительным» материалом при разработке приложений средствами графических редакторов. Разработка любого приложения состоит из двух взаимосвязанных этапов:
1) проектирование и создание интерфейса приложения как набора визуальных компонентов, которые будут обеспечивать взаимодействие пользователя и вычислительной среды;
2) программирование процедур обработки событий, возникающих при работе пользователя с приложением.
На этапе проектирования интерфейса происходит формирование общего вида главного окна программы, а также способов управления ее работой. Для каждого компонента должен быть определен его внешний вид, размеры, способ и место размещения в области окна приложения.
К
омпоненты,
доступные проектировщику на этапе
разработки приложения, можно разбить
на функциональные подгруппы. С точки
зрения внутренней структуры компоненты
разбиваются на
три группы:
визуальные
оконные,
визуальные
неоконные,
невизуальные.
На рисунке 15 представлена графическая
интерпретация этого разбиения.
Рис. 15. Иерархия групп компонентов схожей внутренней структуры
Визуальные компоненты (элементы управления) характеризуются наличием свойств размеров и положения в области окна и на стадии разработки приложения обычно находятся в окне формы в том же месте, что и во время выполнения приложения (например, кнопки, списки, переключатели, надписи). Визуальные компоненты имеют две разновидности — «оконные» и «неоконные» (графические).
Оконные визуальные компоненты (самая многочисленная группа компонентов) — это компоненты, которые могут получать фокус ввода (т.е. становиться активными для взаимодействия с пользователем) и содержать другие визуальные компоненты.
Неоконные (графические) визуальные компоненты не могут получать фокус и содержать другие визуальные компоненты (например, надписи и графические кнопки).
Невизуальные компоненты на стадии разработки не имеют своего фиксированного местоположения и размеров. Во время выполнения приложения некоторые из них иногда становятся видимыми (например, стандартные диалоговые окна открытия и сохранения файлов), а другие остаются невидимыми всегда (например, таблицы базы данных).
Важной характеристикой компонента являются его свойства. Свойства компонента — это атрибуты, определяющие его состояние и поведение. Различают три типа свойств:
1) свойства времени проектирования (установленные для них значения будут использоваться в момент первого отображения компонента и в дальнейшем могут быть изменены во время выполнения приложения);
2) динамические свойства (изменением их значений можно управлять только изнутри программного кода (во время выполнения приложения));
3) свойства только-для-чтения, которые могут быть прочитаны и использованы при выполнении программы, но не могут быть изменены.
На этапе программирования процедур обработки событий, исходящих от компонентов, происходит непосредственная разработка программ-откликов на события с целью задать реакцию на различные изменения состояний объектов.
Общий принцип работы приложения с графическим интерфейсом может быть представлен схемой, изображенной на рисунке 16. Работающее приложение находится в состоянии ожидания события, которое возникает в результате взаимодействия пользователя с элементами управления графического интерфейса приложения. При получении события от компонента программа передает управление процедуре обработки этого события (если таковая предусмотрена набором функций приложения).
Рис.16. Схема работы приложения с графическим интерфейсом
Контрольные вопросы
1. В чем суть операционального подхода к программированию?
2. На каких принципах базируется метод структурного программирования?
3. Какие характерные черты у данного метода?
4. В чем преимущества модульной структуры программы?
5. Какими достоинствами обладает ООП?
6. Что называют программным объектом, его свойствами и методами?
7. Что такое наследование как свойство ООП?
8. Что называют инкапсуляцией?
9. Что такое полиморфизм?
10. Что называют программным компонентом?
11. Из каких этапов состоит разработка приложения?
12. На какие функциональные подгруппы и типы могут быть разбиты программные компоненты?
13. Какой общий принцип (алгоритм) работы приложения с графическим интерфейсом?
