
- •Основы алгоритмизации
- •Специфика решения задачи с использованием компьютера
- •Роль моделирования при решении сложных задач
- •Устройство компьютера как инструмента решения задач
- •Пример решения задачи с использованием компьютера
- •Вопросы для самоконтроля
- •Понятие алгоритма
- •Свойства алгоритмов и способы их задания
- •Понятие структурной алгоритмизации
- •Базовый набор алгоритмических структур
- •Примеры классических алгоритмов
- •Переменные-счетчики и аккумуляторы
- •Алгоритм перестановки значений двух переменных
- •Простейший алгоритм сортировки
- •Последовательный и двоичный поиск в массиве данных
- •Вопросы для самоконтроля
- •Основы программирования
- •Изучить три темы:
- •Ответить на вопросы для самоконтроля по каждой теме.
- •Эволюция программирования как деятельности
- •Развитие вычислительной техники
- •Парадигмы современного программирования
- •Уровни языков программирования
- •Современные языки программирования высокого уровня
- •Программирование как вид деятельности
- •Вопросы для самоконтроля
- •Инструменты программирования
- •Основные понятия программирования
- •Этапы разработки программы
- •Функции транслятора в процессе создания программы
- •Средства создания программ
- •Современные системы программирования
- •Вопросы для самоконтроля
- •Проектирование и внедрение программ
- •Этапы разработки программного обеспечения
- •Методы маркетинга программного обеспечения
- •Вопросы для самоконтроля
- •Технология алгоритмического программирования
- •Ответить на вопросы для самоконтроля по каждой теме.
- •Понятия алгоритмического программирования
- •Классификация данных
- •Базовые типы данных
- •Структурированные данные
- •Программа как совокупность операторов. Виды операторов
- •Вопросы для самоконтроля
- •Принципы структурного программирования
- •Понятие подпрограммы
- •Процедуры и функции как разновидность подпрограмм
- •Ответить на вопросы для самоконтроля по каждой теме.
- •Программный код экранной формы
- •Вопросы для самоконтроля
- •Объектно-ориентированное программирование
- •Понятие объекта и класса
- •Концепции объектно-ориентированного программирования
- •Вопросы для самоконтроля
- •Заключение
- •3.3. Глоссарий (краткий словарь терминов)
- •3.4 Технические и программные средства обеспечения дисциплины
Вопросы для самоконтроля
-
Что представляет собой программа, разработанная под операционную систему Windows?
-
Приведите примеры элементов управления, располагаемых на экранной форме приложения.
-
Что понимается под дизайном экранной формы?
-
Назовите основные этапы разработки приложения в технологии визуального программирования
-
Что понимается под термином «проект» в визуальной системе программирования?
-
За счет чего приложение реагирует на действия пользователя?
-
Какое главное свойство каждого элемента на форме?
-
Поясните механизм сохранения данных из формы в файл.
-
Объектно-ориентированное программирование
-
Понятие объекта и класса
-
При усложнении разрабатываемых приложений основные ограничения на возможность создания больших систем накладывала разобщенность в программе данных и методов их обработки.
Развитием идей структурного и событийного программирования при разработке сложных приложений явился объектно-ориентированный подход (ООП) к программированию, основанный на понятии объект.
Реальные объекты окружающего мира обладают тремя базовыми характеристиками:
-
имеют набор свойств;
-
способны разными методами изменять эти свойства;
-
способны реагировать на события, возникающие как в окружающем мире, так и внутри самого объекта.
В таком виде в языках программирования реализовано понятие объекта как совокупности (рис. 3.17):
-
свойств (структур данных, характерных для этого объекта),
-
методов их обработки (подпрограмм изменения свойств),
-
событий, на которые данный объект может реагировать и которые приводят, как правило, к изменению свойств объекта.
Объекты могут иметь идентичную структуру и отличаться только значениями свойств. Для их описания создается новый тип данных, основанный на единой структуре объекта (по аналогии с тем, как создаются новые типы для структур данных). Он называется классом, а каждый конкретный объект, имеющий структуру этого класса, называется экземпляром класса. Описание нового класса похоже на описание новой структуры данных, к полям (свойствам) которой добавляются методы – подпрограммы (рис. 3.18).
Рис. 3.17 Структура объекта в ООП
Для объявления объекта необходимо объявить соответствующий класс принадлежности. Класс – это не объект, а описание объекта. В объектно-ориентированных языках предусмотрено ключевое слово class, которое используется для определения класса.
Объявление класса делают глобальным, т.е. доступным для всех подпрограмм данного приложения, после чего этот класс используется для объявления переменных-объектов (экземпляров).
Рис. 3.18 Понятие класса и экземпляра в ООП
Ккласс объектов характеризуется поведением, влияющим на его свойства. Поведение объекта описывается методами (процедурами и функциями), входящими в описание класса. Доступность свойств и методов извне определяется ключевыми словами Private и Public. Область действия свойств и функций, определенных как Private – только рамки данного класса. Приватность означает, что любая программа, использующая этот класс, не может обратиться к его частным членам. Это свойство, обеспечиваемое классом, является критическим для защиты данных. Защита свойств описанием Private гарантирует, что доступ к значению данных будут иметь только методы внутри класса. Таким образом обеспечивается целостность объекта. Члены класса, определенные как Public, доступны из других классов объектов (3.19).
Рис. 3.19 Области действия свойств и методов объекта (PUBLIC и PRIVATE)
При определении методов, принадлежащих конкретному классу, в заголовке подпрограммы перед ее названием явно указывается название класса. Название класса от названия метода отделяют специальные символы (точка в Паскале или два двоеточия в Си++) (таблица 3.33).
Таблица 3.33 Описание класса
Класс
|
Обозначение |
||
Бейсик
|
Паскаль
|
Си++
|
|
Описание класса |
|
class TMyClass Item1: integer; Item2: string; function GetSum(n: integer): integer; procedure Initialize; end;
|
class TMyClass { int Item1; int Item2; int GetSum(int n); void Initialize(); );
|
Доступ к методу класса |
|
procedure TMyClass.Initialize; begin Iteml := 1; Item2 := «»; end;
|
void TMyClass::Initialize () { Item1 = 1; Item2 = 0; }
|
Описание экземпляров класса |
|
var Cl, C2: TMyClass; |
TMyClass Cl, C2;
|
Доступ к свойствам экземпляра |
|
Cl.Item1 := 5; C2.Initialize; х := Cl.GetSum(21);
|
|