
- •История языков программирования
- •Понятия программного обеспечения
- •2. История языков программирования
- •Классификация языков программирования
- •Понятие системы программирования
- •Технологии программирования
- •Понятие системы программирования
- •2.Технологии программирования
- •2.1. Структурное программирование
- •2. Модульное программирование
- •2. 3. Объектно-ориентированное программирование (ооп)
- •Формы записей алгоритмов. Общие принципы построения
- •Тема: Основные алгоритмические конструкции. Сложность алгоритмов.
- •Базовые принципы ооп
- •1.Общие свойства компонентов
- •2.События компонентов
- •Общие свойства компонентов
- •Свойство Align
- •Свойство Color
- •1.Структура проекта
- •2.Структура модуля
- •Лекция10
- •Лекция11
- •Лекция12
- •Лекция13
- •Лекция14
- •Лекция15
- •Лекция16
- •Лекция17 Стандартные диалоговые окна: назначение, свойства, события.TOpenDialog, tSaveDialog, tColorDialog, tOpenPictureDialog, tSavePictureDialogTPrinterSetupDialog, tPrinterDialog
- •1.Правила использования диалоговых панелей
- •П3.3.Символьный тип
- •П3.4. Перечисляемый тип
- •Пз.6. Тип дата-время
- •Приложение 5. Математические формулы
- •Многомерные массивы
- •Листинг 5.11. Инициализация таблицы
- •Листинг 5.12. Обработка двумерного массива
- •Ошибки при использовании массивов
2. Модульное программирование
Модульное программирование - это организация программы как совокупности небольших независимых блоков (модулей), структура и поведение которых подчиняется определенным заранее правилам.
Модулем (в модульном программировании) называется множество взаимосвязанных подпрограмм (процедур) вместе с данными, которые эти подпрограммы обрабатывают.
Модульное программирование предназначено для разработки больших программ.
Разработкой больших программ занимается коллектив программистов. Каждому программисту поручается разработка некоторой самостоятельной части программы. И он в таком случае отвечает за конструирование всех необходимых процедур и данных для этих процедур. Сокрытие данных (запрет доступа к данным из-за пределов модуля) предотвращает их случайное изменение и соответственно нарушение работы программы. Для взаимодействия отдельных частей (модулей) программы коллективу программистов необходимо продумать только интерфейс (взаимодействие) сконструированных модулей в основной программе.
Напомним понятие и структуру модуля в терминах языка Pascal.
Модуль (unit) – программная единица, текст которой компилируется независимо (автономно).
Модуль содержит 4 раздела: заголовок, интерфейсная часть (раздел объявлений), раздел реализации и раздел инициализации.
UNIT <имя модуля>; {заголовок}
INTERFACE {интерфейсная часть}
Uses <используемые модули>;
Const <объявления глобальных констант>;
Type <объявления глобальных типов>;
Var <описание глобальных переменных>;
Procedure <заголовки(!) доступных процедур>;
. . .
Function <заголовки(!) доступных функций>;
. . .
IMPLEMENTATION {раздел реализации}
Uses <используемые при реализации модули>;
Const <объявления скрытых (локальных) констант>;
Type <объявления скрытых (локальных) типов>;
Var <описание скрытых (локальных) переменных>;
Procedure <тела(!) скрытых (локальных) процедур>;
. . .
Function <тела(!) скрытых (локальных) функций>;
BEGIN
<основной блок модуля = раздел инициализации>
END.
Замечание. Различие всех описаний, содержащихся в разделах интерфейса и реализации, заключается в сфере их использования. В интерфейсном разделе – внешние описания, в разделе реализации – внутренние.
2. 3. Объектно-ориентированное программирование (ооп)
Чтобы написать еще более сложную программу, необходим новый подход к программированию - технология объектно-ориентированного программирования.
OOП включает лучшие идеи, воплощённые как в структурном программировании, так и в модульном. «Является еще более структурным программированием, еще более модульным» (Джеф Дантеманн?).
И, кроме того, ООП сочетает старые принципы с мощными новыми концепциями, которые позволяют оптимально организовывать программы.
Объектно-ориентированное программирование позволяет разложить проблему на составные части. Каждая составляющая становится самостоятельным объектом, содержащим свои собственные коды и данные, которые относятся к этому объекту. В этом случае программирование в целом упрощается, и программист получает возможность оперировать гораздо большими по объёму программами.
Таким образом, ООП – «это методология, основанная на представлении программы в виде совокупности объектов, каждый из которых является реализацией собственного класса» (А.Д. Александровский).
Основным понятием ООП является понятие класса.
Класс – множество объектов, связанных общностью структуры и поведения (класс содержит описание структуры и поведение всех объектов, связанных отношением общности). Любой объект является экземпляром класса.
Coordinates = class
x, y : byte;
procedure Init (Xinit, Yinit: byte);
function GetX : byte;
function GetY : byte;
end;
Для разработки приложений в Delphi используются специальным образом оформленные классы – компоненты.
Компонент обладает набором свойств и методов. Свойства компонента изменяются либо на этапе сборки приложения (под воздействием системы), либо программно, в процессе работы приложения (под воздействием пользователя).
Особым видом свойства компонента является событие. Процедура обработки события – это реакция приложения на изменение свойства компонента под воздействием системы или пользователя (нажатие клавиши, перемещение курсора и т.п.)
В Object Pascal объекты существуют только в динамической памяти (т.е. переменная, являющаяся объектом, по сути является указателем на объект, и содержит адрес объекта).
Лекция 3.
Тема:Понятие алгоритма. Свойства алгоритмов. Формы записей алгоритмов. Общие принципы построения.
Вопросы:
1.Понятие алгоритма
2.Свойства алгоритмов
3.Формы записей алгоритмов. Общие принципы построения.
1.Понятие алгоритма.
Решение задач на компьютере основано на понятии алгоритма. Алгоритм – это точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к исходному результату.
Происходит от имени узбекского ученого IX в. Аль-Хорезми, который в своем труде "Арифметический трактат", переведенном в XII в. с арабского на латынь, изложил правила арифметических действий над числами в позиционной десятичной системе счисления. Эти правила и называли алгоритмами.
Алгоритм означает точное описание некоторого процесса, инструкцию по его выполнению. Разработка алгоритма является сложным и трудоемким процессом. Алгоритмизация – это техника разработки (составления) алгоритма для решения задач на ЭВМ.
Составление алгоритмов и вопросы их существования являются предметом серьезных математических исследований. Алгоритм должен удовлетворять определенным требованиям. Принято выделять следующие семь:
Наличие ввода исходных данных.
Наличие вывода результата выполнения.
Однозначность (компьютер «понимает» только однозначные инструкции).
Общность – алгоритм предназначен для решения некоторого класса задач.
Корректность – алгоритм должен давать правильное решение задачи.
Конечность – решение задачи должно быть получено за конечное число шагов.
Эффективность – для решения задачи должны использоваться ограниченные ресурсы компьютера (процессорное время, объем оперативной памяти и т.д.).
2.Свойства алгоритмов.
Свойства алгоритма:
Массовость – алгоритм должен описывать круг однотипных задач, исходные данные которых могут изменяться в определенных пределах.
Детерминированность – это обусловленность всех шагов алгоритма потребностью решения данных задач. Свойство детерминированности выражается в том, что при заданных значениях параметров алгоритм выполняется формально, т.е. строго выполняется последовательность действий до появления результата.
Понятность – предписания алгоритма должны быть сформулированы так, чтобы они понимались одинаково разработчиком и исполнителем, т.е. они должны быть однозначно понятны.
Дискретность – четкое разделение всего пути решения задачи на отдельные этапы (шаги) так, чтобы ход выполнения алгоритма проходил поэтапно, вовремя корректируя действия исполнителя.
Результативность – точное выполнение предписаний алгоритма должно привести к результату за n шагов, если правильно разработана исходная модель и сам алгоритм.
Всякий человек при планировании деятельности обязательно выполняет две операции:
Оценивает исходные данные (создает исходную модель).
Прогнозирует результат (прогнозирует какую-то конечную модель).
Суть решения задачи в переходе от исходной модели к прогнозируемому результату, через конечное число действий.