Вы находитесь на странице: 1из 23

Министерство образования и науки Удмуртской Республики

БПОУ УР «Сарапульский политехнический колледж»

09.02.03 Программирование в компьютерных системах

ОТЧЕТ

по выполнению внеаудиторной самостоятельной работы

Дисциплина: Основы алгоритмизации

Выполнил Кузнецов М. А,

Студент группы 2П

Проверила: Бобкова К.С., преподаватель информационных технологий

с. Сигаево, 2020 г.
Тема 3.1. Базовые понятия ООП: объект, его свойства и методы

Базовые понятия ООП:

1. Объектно-ориентированное программирование (ООП) — методология


программирования, основанная на представлении программы в виде совокупности
объектов, каждый из которых является экземпляром определённого класса, а классы
образуют иерархию наследования.
2. Объект – это совокупность свойств (параметров) определенных сущностей и
методов их обработки (программных средств).
3. Свойство – характеристика объекта, его параметр.
4. Метод – программа действий над объектом или его свойствами.
5. Класс – совокупность объектов, характеризующихся общностью
применяемых методов обработки или свойств.
6. Событие – изменение состояния объекта. Внешние события генерируются
пользователем (Клавиатурный ввод или нажатие кнопки мыши), а внутренние события
генерируются системой.
7. Поля класса - представляют собой данные, содержащиеся в классе. Поле
описывается как любая переменная и может принадлежать к любому типу.

Свойства объекта:

 Name – имя объекта, используемое в программном коде для обращения к


объекту
 Text – текст в левом верхнем углу формы
 BackColor – серый цвет фона формы
 Font – шрифт, его начертание и объект

Методы объекта:

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

 Close – закрывает форму


 End - заканчивает программу, процедуры, функции

Тема 3.2. Основные принципы объектно-ориентированного программирования

Объектно-ориентированное программирование базируется на четырех важнейших


принципах, придающих объектам новые свойства:

1. Инкапсуляция - это объединение в единое целое данных и алгоритмов обработки


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

2. Наследование - свойство объектов порождать своих потомков. Объект-потомок


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

3. Полиморфизм - это свойство родственных объектов решать схожие по смыслу


проблемы разными способами. Поведенческие свойства объекта определяются набором
входящих в него методов. Для изменения метода, необходимо перекрыть его в потомке, то
есть объявить в потомке одноименный метод и реализовать в нем нужные действия. В
результате в объекте-родителе и объекте-потомке будут действовать два одноименных
метода, имеющие разную алгоритмическую основу и придающие объектам разные
свойства.

4. Абстракция – это знание об объекте максимального количества данных. Этот


критерий позволяет сосредоточиться на том, что делает сам объект, но не на том, какими
способами эти действия реализуются при программировании. Она помогает в создании
независимых модулей, которые могут взаимодействовать друг с другом некоторыми
способами. Изменение одного независимого модуля не влияет на другие. Этот модуль,
позволяет не беспокоиться о том, как решается задача и что происходит в фоновом
режиме.

Тема 3.3. Требования к аппаратным и программным средствам интегрированной


среды ООС. Интерфейс среды программирования: характеристика, основные окна,
инструменты, объекты.

Основным требованием при разработке на Borland Delphi 7 является работа в среде


операционной системы: Windows XP, Windows 7, Windows 8, Windows 10. Для корректной
работы среды программирования необходимы следующие минимальные аппаратные
требования:

 - Pentium III 1 ГГц (или аналог от AMD);


 - 256 Мб ОЗУ;
 - 500 Мб свободного места на HDD;
 - видеокарта с 64 Mб;
 - 32х CD-ROM;
 - клавиатура, мышь.

Минимальная конфигурация средств Системы - система: Windows 98/ME/2000/XP.

Интерфейс программы Borland Delphi 7:


Рис.1. Интерфейс программы Borland Delphi 7

Основные окна программы Borland Delphi 7:

 Окно формы (Form1) (Рис.2) - это уже готовая визуальная форма будущей
программы;

Рис.2. Окно формы

 Object inspector (инспектор объектов) (Рис.3) - позволяет редактировать


свойства компонентов и определять для них обработчики событий;
Рис.3. Инспектор объектов

 Дерево объектов проекта (Object TreeView) (Рис.4) - В этом окне


отображаются все элементы, какие есть на данной форме;

Рис.4. Дерево объектов


 Редактор кода (Рис.5) -  в этом окне пишутся программы на языке Delphi;

Рис.5. Редактор кода

Главное окно инструментов программы Borland Delphi 7 выглядит следующим


образом:

Рис.6. Главное окно инструментов

Главное окно инструментов состоит из двух панелей:

 Левая панель (Рис.7) – инструменты различных действий, с помощью


которых осуществляется создание новых форм, проектов, их просмотр и компиляция
программы.

Рис.7. Инструменты различных действий


 Правая панель (Рис.8) – палитра компонентов, с помощью которой
создаются объекты для дальнейшей программы и, которые будут иметь свойства, а также
выполнять нужную функцию.

Рис.8. Палитра компонентов

Основные объекты программы Borland Delphi 7 выглядят следующим образом:

Рис.9. Основные объекты

Тема 3.4. Настройка среды и параметров проекта.

Настройка среды:

Delphi позволяет проводить многочисленные настройки рабочей среды. Можно


модифицировать текстовый редактор или изменить режимы отладки, а также изменить
общие настройки среды. При необходимости что-то изменить, например настроить
табуляцию при редактировании, добавить макроопределения, использовать диалоговое
окно Compiler Progress (Компиляция) или установить размер сетки в окне проектировщика
форм для более точного контроля расположения, нужно нажать на вкладку Tools, затем
выбрать в списке Editor Options и в появившемся диалоговом окне (Рис.8) установить
нужные значения параметров.
Рис.10. Диалоговое окно настройки рабочей среды

Настройка параметров проекта:

Приложение собирается из многих элементов: форм, программных модулей,


внешних библиотек, картинок, пиктограмм и др. Каждый элемент размещается в
отдельном файле и имеет строго определенное назначение. Набор всех файлов,
необходимых для создания приложения, называется проектом. Компилятор
последовательно обрабатывает файлы проекта и строит из них выполняемый файл.
Основные файлы проекта можно разделить на несколько типов: Проект имеет много
различных параметров, с помощью которых идет управление процессом компиляции и
сборки приложения. Установить параметры проекта можно в окне Project Options. Для
этого нужно выбрать в главном меню выбрать вкладку  Project, а затем Options. На экране
появится диалоговое окно (рис.9) и останется лишь установить в нем нужные значения
параметров.
Рис.11. Диалоговое окно настройки параметров проекта

Тема 3.5. Проектирование объектно – ориентированного приложения.


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

Объектно-ориентированное проектирование соединяет процесс объектной


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

Проектирование ООП бывает:

 Автоматизированное. Нацелено на сокращение затрат проектных работ,


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

Проектирование ООП состоит из трех основных этапов:

1. Программирование. На этом этапе идет процесс написания кода для


дальнейшего функционирования создаваемой программы.
2. Тестирование. Представляет собой совокупность действий,
предназначенных для демонстрации правильной работы программы. Цель тестирования
заключается в выявлении возможных ошибок в разработанных программах путем их
проверки на наборе заранее подготовленных контрольных примеров.
3. Отладка приложения. Подразумевает совокупность действий, направленных
на устранение ошибок в программе. Действия по отладке начинаются с момента
обнаружения фактов ошибочной работы программы и завершаются устранением причин,
порождающих ошибки.

Тема 3.6. Классы объектно-ориентированного языка программирования: виды,


назначение, свойства, методы, события.

Классы ООП – это шаблон для создания объектов, обеспечивающий начальные


значения состояний: инициализация полей-переменных и реализация поведения функций
или методов.

Виды классов:

 Абстрактные классы — это классы для которых не существует экземпляров,


они лишь описывают общие характеристики классов-потомков.
 Конкретные классы — это классы экземпляры которых могут существовать
(или существуют) в системе в отличии от абстрактных классов.

Классы и ООП в целом способствуют быстрой разработке, поскольку они


уменьшают смысловой разрыв между кодом и пользователями. –

Свойства классов - это специальные конструкции, которые позволяют обращаться


к полям. Поля данных целесообразно защитить от несанкционированного доступа по
принципу инкапсуляции. Доступ к полям реализуется через свойства, в которые входят
метод чтения, и метод записи полей. Исходя из этого, поля объявляются в разделе private
(закрытый раздел класса). Для реализации доступа потомков данного класса иногда лучше
объявить поля в защищенном разделе – protected.

Существуют три метода классов:

1. Статические – все методы по умолчанию. При переопределении метода в


классе – наследнике то отменятся родительский метод для всех объектов этого класса.
2. Виртуальный и динамический методы не имеют ничего общего с
методами с такими же именами в классах – наследниках. Очень часто применяется
полиморфизм – когда создается виртуальный метод для объектов базового класса.
3. Если виртуальный или динамический метод не определен в объявленном
классе, то такой метод называют абстрактный. Такой метод будет перегружен в
классах – наследниках. Из этого следует, что в том классе, где он перегружен, можно
его вызывать. Ключевое слово – abstract. Перегрузка метода – overload, а для
виртуального метода – добавляется слово reintroduce.

Событие - это сообщение, которое возникает в различных точках исполняемого


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

Рис.12. События
Тема 3.7. Основные компоненты (элементы управления) интегрированной среды
разработки, их состав и назначение.

Основные компоненты в Borland Delphi 7 находятся во вкладке Standard (Рис.11) и


являются самыми используемыми при создании программ.

Рис.13. Компоненты
Для более понятного описания состава и назначения этих компонентов, была
создана следующая таблица:

Иконка Название Назначение


Frames Создание панели, некого
фрагмента окна
приложения

MainMenu Позволяет поместить


главное меню в программу

PopupMenu Позволяет создавать


всплывающие меню

Label Служит для отображения


текста на экране

Edit Служит для ввода

Memo Подразумевает работу с


большими текстами

Button Позволяет выполнить


какие-либо действия при
нажатии кнопки во время
выполнения программы

CheckBox Отображает строку текста с


маленьким окошком рядом

RadioButton Позволяет выбрать только


одну опцию из нескольких

ListBox Используется для показа


прокручиваемого списка

ComboBox Позволяет водить


информацию в маленьком
поле ввода сверху ListBox
ScrollBar Полоса прокрутки

GroupBox Используется для


визуальных целей и для
указания порядка

RadioGroup Служит для создания


группы кнопок типа
RadioButton

Panel Служит для создания


панели

ActionList Хранение списка действий,


которые могут быть
использованы
компонентами и элементы
управления, такими как
пункты меню

Таблица 1. Состав компонентов и их назначение

Краткая характеристика всех имеющихся вкладок элементов управления:

1. Standard - Все эти компоненты являются основными и являются


аналогами Windows компонентов;

2. Additional – дополнительные компоненты;

3. Win32 – компоненты, которые есть только в семействе Win32


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

4. System – системные компоненты, с помощью которых облегчается


доступ к системе;

5. Database Access – компоненты доступа к базам данных;

6. Data Controls – компоненты для работы с базами данных;


7. BDE – компоненты доступа к базам данных;

8. ADO – компоненты для доступа к базам данных

9. Internet– компоненты доступа к сети Интернет;

10. Dialogs – компоненты, облегчающие доступ к стандартным диалогам;

11. Win3.11 – компоненты доступа к компонентам Win 3.1;

12. Samples – различные примеры;

13. COM+ - модель объектных компонентов;

Тема 3.8. Свойства компонентов. Виды свойств. Синтаксис определения свойств.


Категория свойств.

У компонентов различают следующие виды свойств:

 Простые свойства - это те, значения которых являются числами или строками.
Например, свойства Left и Top принимают целые значения, определяющие
положение левого верхнего угла компонента или формы.
Свойства Caption и Name представляют собой строки и определяют заголовок и
имя компонента или формы.
 Перечислимые свойства - это те, которые могут принимать значения из
предопределенного набора (списка). Простейший пример - это свойство
типа Boolean, которое может принимать значения True или False.

 Вложенные свойства - это те, которые поддерживают вложенные значения (или


объекты). Object Inspector изображает знак "+" слева от названия таких свойств.
Имеется два вида таких свойств: множества и комбинированные значения. Object
Inspector изображает множества в квадратных скобках. Если множество пусто, оно
отображается как []. Установки для вложенных свойств вида "множество" обычно
имеют значения типа Boolean. Наиболее распространенным примером такого
свойства является свойство Style с вложенным множеством булевых значений.
Комбинированные значения отображаются в Инспекторе Объектов как коллекция
некоторых величин, каждый со своим типом данных. Некоторые свойства,
например, Font, для изменения своих значений имеют возможность вызвать
диалоговое окно. Для этого достаточно щелкнуть маленькую кнопку с тремя
точками в правой части строки Инспектора Объектов, показывающей данное
свойство.

Синтаксис определения свойств:

1. [Property <имя свойства>: <тип данных>];


2. [Index <целое число>};
3. [Read <поле свойства\метод чтения>];
4. [Write <поле свойства\метод записи>];
5. [Stored <логическое выражение>];
6. [Default <значение по умолчанию>[NoDefault]];
7. [DispID <целое число>] [Implements <список интерфейсов>];

Категория свойств:

 Action - определяет объект TAction. Это объект служит для быстрой


привязки действий к компонентам, в особенности - к пунктам меню и панелям
инструментов. Но может быть привязан и к форме;
 ActiveControl - определяет элемент, который имеет в данный момент фокус
ввода;
 Align - определяет выравнивание формы на экране. Свойство принимает
одно из следующих значений:
 alBottom - по нижнему краю;
 alClient - вся пользовательская (клиентская) область;
 alCustom - выравнивание определяется вызовом методом объекта-родителя;
 alLeft - по левому краю;
 alNone - без выравнивания;
 alRight - по правому краю;
 alTop - по верхнему краю.
 Anchors - определяет направления компонентов, привязанные к Form;
 AutoScroll - включает автоматическое появление полос прокрутки (Scroll
bars) на форме, когда размеров формы недостаточно для отображения всех элементов;
 AutoSize - включает автоматическое изменение размеров формы согласно
позициям размещённых на ней элементов;
 BorderIcons - определяет множество кнопок, которые отображаются в
заголовке окна:
 biSystemMenu - отвечает за системное меню окна;
 biMinimize - кнопка сворачивания (минимизации) окна;
 biMaximize - кнопка разворачивания окна;
 biHelp - кнопка справки.
 BorderStyle - определяет поведение границ окна и общий тип окна:
 bsDialog - диалоговое окно;
 bsNone - "чистый лист" (отсутствие у окна границ и заголовка);
 bsSingle - обычное окно, но с запретом изменения размеров;
 bsSizeable - обычное окно (по умолчанию);
 bsSizeToolWin - упрощённое окно с уменьшенным заголовком;
 bsToolWindow – принцип bsSizeToolWin, но без возможности изменения.
 BorderWidth - ширина границы окна в пикселах. Граница является
невидимой и расположена в пользовательской части формы;
 Caption - текст заголовка формы;
 ClientHeight, ClientWidth - размер клиентской (пользовательской) части
формы, т.е. той, на которой располагаются компоненты;
 Color - цвет формы;
 Constraints - определяет минимальные и максимальные размеры высоты и
ширины формы в пикселах. 0 - любое значение, т.е. без ограничений;
 Cursor - курсор мыши в тот момент, когда он находится над формой;
 DefaultMonitor - определяет, на каком мониторе появится форма;
 Enabled - отвечает за общую активность формы. Если установлено False,
форма недоступна;
 Font - шрифт, используемый на форме;
 FormStyle - стиль формы или её поведение в MDI-приложении
(многооконное приложение, где дополнительные формы располагаются "внутри"
основной формы). Значения:
 fsNormal - обычная форма (значение по умолчанию);
 fsMDIChild - дочерняя (подчинённая) форма MDI-приложения;
 fsMDIForm - главная форма MDI-приложения;
 fsStayOnTop - форма находится поверх всех окон на экране.
 Height - высота формы в пикселах. В отличие от ClientWidth является
высотой с учётом заголовка и границ формы.
 HelpContext, HelpFile, HelpKeyword, HelpType - свойства для связи формы с
файлом справки в формате *.hlp;
 Hint - текст всплывающей подсказки;
 HorzScrollBar - свойство определяет внешний вид и поведение
горизонтальной полосы прокрутки окна;
 Icon - значок (иконка) формы;
 KeyPreview – Вызывает обработчик формы. События, связанные с нажатием
клавиш - OnKeyDown(), OnKeyPress(), OnKeyUp();
 Left - позиция формы на экране (левого верхнего угла) в пикселах;
 Menu - позволяет выбрать один из компонентов-меню, который станет
главным меню окна, т.е. будет отображаться вверху;
 Name – имя формы или объекта;
 ObjectMenuItem - используется при работе с OLE-объектами и позволяет
связать пункт меню и OLE-объект: когда объект выделен, пункт меню активен и наоборот;
 OldCreateOrder - определяет, когда происходят события OnCreate() и
OnDestroy() формы;
 ParentBiDiMode - изменение свойства BiDiMode согласно значению объекта-
предка формы;
 ParentFont - изменение шрифта (Font) согласно значению объекта-предка;
 PixelsPerInch - пропорции шрифта в системе (точек на дюйм);
 PopupMenu - позволяет указать контекстное меню (объект TPopupMenu) для
формы. Это меню вызывается нажатием правой кнопки мыши;
 Position - определяет начальную позицию формы на экране, т.е. в момент её
появления. Основные значения:
 poDesigned - появление в том месте, в каком форма расположена в design-
time;
 poDesktopCenter - по центру рабочего стола (рекомендуемое значение);
 poScreenCenter - по центру экрана;
 poMainFormCenter - по центру главной формы приложения.
 PrintScale - определяет размеры формы при выводе её изображения на
печать;
 Scaled - включает масштабирование формы в соответствии с заданным
значением свойства PixelsPerInch;
 ScreenSnap - форма будет автоматически перемещаться к краям экрана в
момент перемещения;
 SnapBuffer - определяет расстояние (в пикселах), на котором форма будет с
краю экрана;
 ShowHint - включает/выключает показ всплывающей подсказки (Hint);
 Tag - специальное свойство, которое есть у всех объектов;
 Top - позиция формы (левого верхнего угла) на экране в пикселах;
 TransparentColor - включает/выключает прозрачность определённого цвета
формы;
 TransparentColorValue - задаёт цвет, который будет прозрачным;
 UseDockManager - используется при реализации Drag&Drop технологии,
предоставляя дополнительные возможности этого метода взаимодействия;
 VertScrollBar - определяет внешний вид и поведение вертикальной полосы
прокрутки окна;
 Visible - определяет видимость формы на экране;
 Width - ширина окна в пикселах, включая границы;
 WindowMenu - свойство-аналог свойства Menu, но используемое при
создании MDI-форм;
 WindowState – может быть одно из состояний окна:
 wsNormal - обычное состояние (занимает часть экрана);
 wsMinimized - окно свёрнуто;
 wsMaximized - окно развёрнуто на весь экран.
В итоге мы получаем огромное количество свойств, способных изменить как
внешний вид формы, так и её поведение, а также поведение компонентов, расположенных
на ней.

Тема 3.9. События компонентов. Создание процедур на основе событий.

Основные события компонентов:

 onChange;
 onClick;
 onEnter;
 onExit - возникает, когда компонент теряет фокус ввода;
 onDblClick - возникает при двойном щелчке мышкой по компоненту;
 onKeyDown - когда при нажатии на кнопку на клавиатуре она оказалась в нижнем
положении;
 onKeyUp - когда при отпускании клавиатурной кнопки она оказалась в верхнем
положении;
 onKeyPress - возникает при нажатии на клавиатурную кнопку. От событий
onKeyDown и onKeyUp оно отличается типом используемого параметра Key ;
 onMouseDown - когда при нажатии кнопки мышки она оказалась в нижнем
положении;
 onMouseUp - когда при отпускании кнопки мышки она оказалась в верхнем
положении;
 onMouseMove - возникает при перемещении указателя мышки над компонентом.

Создание процедур на основе событий, т.е процедура будет выполняться только в тот
момент, когда произойдет событие. Для этого в окне Form1 нужно разместить компонент
Button и кликнуть по нему 2 раза ЛКМ. Откроется окно создания процедур (Рис.14)

Рис.14. Окно создание процедур

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


“Form1.Close;” -без кавычек (Рис.15)
Рис.15. Процедура Form1.Close;

Чтобы скомпилировать написанную процедуру, необходимо нажать клавишу F9 и после


компиляции появится программа(Рис.16)

Рис.16. Результат компиляции программы

Теперь при нажатии на кнопку Button1 программа автоматически закроется.

Оценить