Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Алгоритмы_Технологии программирования_ООП (1)

.pdf
Скачиваний:
15
Добавлен:
18.03.2015
Размер:
773.3 Кб
Скачать

Кафедра

 

Структурное программирование

 

Кафедра

Структурное программирование

 

информатики

 

информатики

 

 

 

 

УГАТУ

 

 

УГАТУ

 

 

 

 

 

 

 

 

 

 

 

 

Основная программа

 

Связи между модулями осуществляются через

 

 

 

 

Глобальные данные

 

 

специальный интерфейс, в то время как доступ к

 

 

 

 

 

реализации самого модуля (телам подпрограмм

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и «внутренним» переменным) запрещен.

 

 

 

 

Модуль 1

Модуль 2

 

 

 

Модуль 1

Модуль 2

 

 

 

 

Данные

Данные

 

 

 

Данные

Данные

 

 

 

 

Подпрограммы

Подпрограммы

 

 

 

Подпрограммы

Подпрограммы

 

 

 

 

 

 

 

 

 

 

 

 

 

с локальными

с локальными

 

 

 

с локальными

с локальными

 

 

 

 

 

 

 

 

 

 

 

 

 

данными

данными

 

 

 

данными

данными

 

 

 

 

 

 

 

 

 

 

 

 

 

Программирование и основы алгоритмизации курс 1, 2014 - 2015 г.

121

 

 

Программирование и основы алгоритмизации курс 1, 2014 - 2015 г.

122

Кафедра

 

Структурное программирование

 

Кафедра

Структурное программирование

 

информатики

 

информатики

 

 

 

 

УГАТУ

 

 

УГАТУ

 

 

 

 

 

 

 

 

 

В основу структурного программирования были

- Цикл – «Пока»: повторение действий, пока не

 

положены три вида вычислительного процесса:

 

будет нарушено некоторое условие, выполнение

 

линейный, разветвленный и циклический,

 

которого проверяется в начале цикла;

 

 

которые реализуются в программах с помощью

-

Цикл – «Д: повторение действий цикла до

 

 

шести конструкций:

 

 

 

 

 

 

 

выполнения заданного условия, проверка

 

 

 

 

 

 

 

 

 

-

 

Следование: последовательное выполнение

 

которого осуществляется после выполнения

 

 

 

 

 

 

 

 

 

 

действий;

 

 

 

действий в цикле;

 

 

 

 

 

 

 

 

 

 

 

-

 

Ветвление: выбор одного из двух вариантов

-

Цикл с заданным числом повторений (цикл с

 

действий;

 

 

 

 

 

 

параметром, цикл со счетчиком): повторение

 

 

 

 

 

 

 

 

 

-

 

Выбор: выбор одного варианта из нескольких в

 

некоторых действий указанное количество раз.

 

 

 

 

 

 

 

 

зависимости от значения некоторой величины;

 

 

 

 

 

 

 

 

Программирование и основы алгоритмизации курс 1, 2014 - 2015 г.

123

 

 

Программирование и основы алгоритмизации курс 1, 2014 - 2015 г.

124

Кафедра

 

Структурное программирование

 

Кафедра

Структурное программирование

 

информатики

 

информатики

 

 

 

 

УГАТУ

 

УГАТУ

 

 

 

 

 

 

Этап структурного программирования

 

Этап структурного программирования

 

 

характеризуется:

 

 

 

 

характеризуется:

 

 

 

 

 

 

 

Декомпозицией. Проектированием «сверху-

 

• Тремя видами вычислительного процесса:

 

 

вниз» (нисходящее);

 

 

 

 

линейного, разветвленного и циклического,

 

 

 

 

 

 

 

Появлением технологии модульного

 

которые реализуются в программах с помощью

 

программирования;

 

 

 

шести конструкций (программирование без

 

 

 

 

 

 

 

Появлением процедурных языков

 

go to).

 

 

программирования высокого уровня (FORTRAN,

 

 

 

 

 

 

ALGOL, Кобол, PL/I, Basic, Pascal , Си);

 

 

 

 

 

 

 

Программирование и основы алгоритмизации курс 1, 2014 - 2015 г.

125

 

Программирование и основы алгоритмизации курс 1, 2014 - 2015 г.

126

Кафедра

 

 

 

Кафедра

 

 

информатики

 

 

информатики

 

 

 

Объектно-ориентированное программирование

Объектно-ориентированное программирование

 

 

 

 

УГАТУ

 

 

УГАТУ

Программа представляется в виде совокупности

Взаимодействие программных объектов в такой

системе осуществляется путем передачи

 

 

 

объектов, каждый из которых является

 

 

 

 

 

сообщений.

 

 

 

экземпляром определенного типа (класса), а

 

 

 

ООП – это технология создания сложного

 

 

 

классы образуют иерархию с наследованием

 

 

 

программного обеспечения, так как позволяет

 

 

 

 

 

 

 

свойств.

 

конструировать сложные объекты из

 

Каждый класс обладает набором Свойств,

 

сравнительно простых

 

 

 

 

 

 

 

Методов и Событий, которыми обладают и

 

Языки программирования поддерживающие эту

 

 

 

объекты, принадлежащие классу.

 

технологию:

 

 

 

 

Object Pascal (Delphi), Free Pascal (Lazarus), C++ ,

 

 

 

 

 

 

 

 

 

 

Visual Basic, Java

 

 

 

 

Программирование и основы алгоритмизации курс 1, 2014 - 2015 г.

127

 

Программирование и основы алгоритмизации курс 1, 2014 - 2015 г.

128

Кафедра

 

 

 

 

Кафедра

Компонентный подход

 

информатики

 

 

 

 

информатики

 

Объектно-ориентированное программирование

 

 

 

 

 

 

УГАТУ

 

 

УГАТУ

Архитектура программы при ООП:

 

Компонентный подход. Предполагает

 

 

 

 

 

 

 

Объект 1

 

 

Объект 2

 

построение программного обеспечения из

 

Сообщения

 

 

 

 

 

 

 

 

Данные

 

отдельных компонентов – физически отдельно

Данные

 

 

 

 

 

 

 

 

 

Объект N

 

 

 

существующих частей программного

 

 

 

 

 

 

Подпрограммы

Данные

Подпрограммы

обеспечения, которые взаимодействуют между

с локальными

с локальными

 

собой через стандартизованные интерфейсы.

 

 

данными

 

данными

Подпрограммы

 

 

 

 

 

 

 

 

 

 

 

 

с локальными

 

 

 

 

 

 

 

данными

 

 

 

 

 

 

Программирование и основы алгоритмизации курс 1, 2014 - 2015 г.

 

129

 

Программирование и основы алгоритмизации курс 1, 2014 - 2015 г.

130

Кафедра

Компонентный подход

 

 

Кафедра

Net-технология

 

информатики

 

 

информатики

 

 

 

УГАТУ

 

УГАТУ

 

 

 

 

 

 

В отличие от обычных объектов объекты-

 

Технология .NET (читается dot Net) – новая

 

компоненты можно собрать в динамически

 

технология, предложенная компанией Microsoft

 

 

 

 

вызываемые библиотеки (dll) или исполняемые

для разработки программного обеспечения.

 

 

 

 

файлы, распространять их в двоичном виде

 

Технология .NET обеспечивает возможность

 

 

создания приложений, написанных на разных

(без исходных текстов) и использовать в любом

языках, способных выполняться на различных

 

 

 

 

 

языке программирования, поддерживающем

 

типах устройств и в различных операционных

 

 

 

 

 

соответствующую технологию.

 

 

 

системах.

 

 

 

 

 

 

Это достигается использованием единого каркаса

 

 

 

 

 

– Framework .Net.

 

Программирование и основы алгоритмизации курс 1, 2014 - 2015 г.

 

131

 

Программирование и основы алгоритмизации курс 1, 2014 - 2015 г.

132

Кафедра

 

Net-технология

 

Кафедра

Net-технология

 

информатики

 

информатики

 

 

 

УГАТУ

 

УГАТУ

 

 

 

 

 

В каркасе Framework .Net можно выделить

Библиотека классов FCL представляет собой

 

обширную объектно-ориентированную

 

 

два основных компонента:

 

 

 

 

библиотеку классов, интерфейсов и типов.

 

 

 

 

 

 

- статический FCL (Framework Class

 

Важной частью библиотеки FCL являются классы

 

Library) – библиотеку классов каркаса;

 

стандартной системы типов (CTS), задающие

 

- динамический CLR (Common

 

простые типы, те типы, которые считаются

 

 

 

 

 

 

Language Runtime) – общеязыковую

 

встроенными в язык программирования.

 

 

 

 

 

 

 

исполнительную среду.

 

Например, тип, называемый в языке VB – Integer,

 

 

а в языке C# – int, проецируется на один и тот же

 

 

 

 

 

 

 

 

тип CTS System.Int32.

 

 

 

Программирование и основы алгоритмизации курс 1, 2014 - 2015 г.

133

 

Программирование и основы алгоритмизации курс 1, 2014 - 2015 г.

134

Кафедра

 

Net-технология

 

Кафедра

Net-технология

 

информатики

 

информатики

 

 

 

УГАТУ

 

УГАТУ

 

 

 

 

 

Общеязыковая исполнительная среда CLR

 

2) компилятор JIT (Just In Time Compiler), который

 

имеет два компилятора:

 

выполняет трансляцию IL-кода в командный код

1) компилятор с языка программирования,

 

той машины, на которой установлена и

 

 

 

 

 

 

поддерживающего технологию .Net, создает

функционирует исполнительная среда CLR

 

 

 

 

 

 

переносимый исполняемый PE-файл (Portable

Исполнительную среду CLR можно рассматривать,

 

 

 

 

 

Executable), который содержит код на

 

как своеобразную виртуальную IL-машину,

 

 

 

 

 

 

 

промежуточном языке MSIL (Microsoft

 

которая транслирует требуемые для исполнения

 

 

 

 

 

Intermediate Language) и метаданные – всю

 

участки кода в команды реального процессора,

 

 

 

 

 

необходимую информацию о приложении.

 

который в действительности и выполняет код.

 

 

 

 

 

 

Программирование и основы алгоритмизации курс 1, 2014 - 2015 г.

135

 

Программирование и основы алгоритмизации курс 1, 2014 - 2015 г.

136

Кафедра

Net-технология

 

Кафедра

Net-технология

 

информатики

 

информатики

 

 

УГАТУ

 

 

УГАТУ

 

 

 

 

 

 

 

 

Еще одной важной особенностью CLR является

 

 

 

 

сборщик мусора – Garbage Collector.

 

 

 

 

Под сборкой мусора понимается освобождение

 

 

 

 

памяти, занятой объектами, которые закончили

 

 

 

 

свою работу, и не используются в дальнейшей

 

 

 

 

работе приложения.

 

 

 

 

Сборка мусора снята не только с программистов,

 

 

 

 

но и с разработчиков трансляторов – она

 

 

 

 

 

решается в нужное время и в нужном месте –

 

 

 

 

исполнительной средой CLR .

 

 

Программирование и основы алгоритмизации курс 1, 2014 - 2015 г.

137

 

Программирование и основы алгоритмизации курс 1, 2014 - 2015 г.

138

Кафедра

Net-технология

 

Кафедра

Net-технология

 

информатики

 

информатики

 

 

УГАТУ

 

 

УГАТУ

 

 

 

 

 

Благодаря двум компиляторам и библиотеке

 

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

 

классов .NET Framework, технология .NET

 

Visual C#,

 

 

 

 

 

 

 

обеспечивает возможность создания

 

Visual Basic,

 

 

приложений различных типов, написанных на

 

 

 

 

Visual C++,

 

 

разных языках, способных выполняться на

 

 

 

 

 

 

 

 

различных типах устройств и в различных

 

Java#.

 

 

 

 

 

 

 

средах, а также возможность запуска программы

Среда разработки приложений на любом из этих

 

 

 

.NET не только в ОС Microsoft, но и в других

 

 

языков, поддерживаемых платформой .NET –

 

 

 

 

 

 

операционных системах.

 

 

Visual Studio .NET.

 

 

 

 

 

 

 

Программирование и основы алгоритмизации курс 1, 2014 - 2015 г.

139

 

Программирование и основы алгоритмизации курс 1, 2014 - 2015 г.

140

Кафедра

 

информатики

 

 

УГАТУ

Программирование и основы алгоритмизации курс 1, 2014 - 2015 г.

141