Лекция
Объектно-ориентированное программирование
Теоретические основы ООП
В основе любого языка лежит некоторая идея, оказывающая существенное влияние на стиль программ. Исторически первой была идея процедурного программирования.
Процедурное программирование
Подпрограммы – совокупность операторов, к которым можно обращаться несколько раз. (Пример, одного из первых языков – фортран)
Структурное программирование (стиль программирования) – совокупность рекомендуемых технологических приемов.
Контроль на этапе разработки, Метод пошаговой детализации с использованием 3 базовых структур (следование, альтернатива, повторение)
Следующий этап - повышение роли организации данных (Паскаль).
Логическим следствием развития этого этапа стал модульный подход к разработки программ
Модульное программирование предполагает выделение групп подпрограмм, использующие одни и те же глобальные данные (типы данных).
Например, System
В виде модулей реализованы также библиотеки классов и компонент (VCL – Visual library Component), которая была разработана для Делфи и используется в С++ Builder
Windows , Messages , Dialogs , Forms
SysUtils – содержит библиотеку классов стандартных исключений;
Graphics – содержит библиотеку графических компонент.
Модуль – это автономно компилируемая коллекция программных ресурсов, предназначенная для использования другими модулями и программами. Программные ресурсы – это константы, типы, переменные, процедуры и функции.
Свойства модулей:
1. Информационная независимость
2. Функциональная завершенность
3. Логическая независимость (модулей друг от друга)
<структура модуля > ::= Unit <имя>;
Interface
<интерфейсная секция>
Implementation
<секция реализации>
[ Initialization
<секция инициализации>]
[ Finalization
<завершающая секция>]
End.
{модуль для работы с комплексными числами}
Unit Complex;
Interface
Type Tcomplex = record
Re, Im: Real;
end;
Procedure In_Complex( var z:Tcomplez);
Procedure Out_Complex( z:Tcomplez);
Function Sum_Complex(z1,z2:Tcomplex; var z3:Tcomplez);
Function Abs_Complex(Z:Tcomplex):real;
Function Eq_Complex(z1,z2:Tcomplex):boolean;
Implementation
Procedure In_Complex( var z:Tcomplez);
Begin
Write(‘ Введите действительную часть комплексного числа = ‘);
Readln(z.re);
Write(‘ Введите мнимую часть комплексного числа = ‘);
Readln(z.im);
end;
Procedure Out_Complex( z:Tcomplez);
Begin
Write(‘ Комплексное число = ‘);
Writeln(z.re, ‘ + ‘,z.im, ’ i ‘);
end;
Function Sum_Complex(z1,z2:Tcomplex; var z3:Tcomplez);
Begin
z3.re:=z1.re + z2.re;
z3.im:=z1.im + z2.im;
end;
Function Abs_Complex(Z:Tcomplex):real;
Begin
Abs_Complex:= Sqrt(Sqr(z.re) + Sqr(z.im));
End;
Function Eq_Complex(z1,z2:Tcomplex):boolean;
{z1>z2}
Begin
If Abs_Complex(z1) > Abs_Complex(z2) then Eq_Complex:=true
Else Eq_Complex:=false;
End;
End.
{Cохранить модуль в файле рабочего каталога с именем Complex.pas и откомпилировать его. В результате компиляции получите файл с именем Complex.tpu}
{ программа, которая будет использовать ресурсы модуля Complex}
Program Test_Complex;
Uses Complex;
Const n=10;
Type TarrComplex=Array[1..n] of Tcomplex;
Var z:TarrComlex; I:1..n;
BEGIN
For I:=1 to n div 2 do In_Complex(z[I]);
For I:=1 to n div 2-1 do Sum_Complex(z[I], z[I+1), z[I +n div 2);
Sum_Complex(z[1], z[n div 2], z[n]);
For I:=1 to n do Out_Complex(z[I]);
For I:=1 to n do Abs_Complex(z[I]);
If Eq_Complex(z[1],z[n]) Then writeln (‘ Первое число больше последнего’) else writeln (‘ Первое число меньше последнего’);
End.
Объектное программирование
Технология создания сложного ПО, основанная на представлении программы в виде совокупности объектов (классов).
Идея заключается в стремлении связать данные с обрабатываемыми эти данные процедурами и функциями в единое целое – класс.
Фактически его можно рассматривать как модульное программирование нового уровня.
Библиотека классов Делфи и С++ - это фактически набор «кирпичиков» для построения программ.
Поля X1, Y1, X2, Y2, Color
Метод Изобразить
Конец описания
Пример задание класса:
Type TPoint = class {класс точка на плоскости}
X,Y: Integer;
Visible:Boolean;
Color:word;
Procedure Init(InitX, InitY, Col:integer);
Procedure Show; ; {нарисовать }
Procedure MoveTo(StepX, StepY: integer); {переместить }
Function IsVisible:boolean; {сделать видимой }
End;
var X1,X2:Tpoint;
Пример. Код программы при создании Приложения в Делфи
unit Unit1;
Interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var Form1: TForm1;
Implementation
{$R *.dfm}
End.
Код проекта
program Project1;
Uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
Begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
End. .
OnClick – щелчек мыши
RAD Studio XE8-10
Embarcadero® RAD Studio XE — это комплексное решение для разработки программного обеспечения, ускоряющее создание нативных приложений для Windows, OS X, iOS и Android на базе единого исходного кода.
Для пользователя нативными являются приложения, которые требуют установки. В целом, это верно, как и то, что такие приложения разрабатываются специально под мобильные платформы (iOS, Android, Windows Phone). Поэтому от разработчика требуются навыки программирования в конкретной среде разработки (xCode для iOS, eclipse для Android).
На выходе это дает приятный внешний вид и беспроблемное взаимодействие приложения с мобильной ОС. Нативные приложения также намного опережают и гибридные и веб-приложения в вопросах безопасности. Такие приложения с наименьшим поглощением ресурсов используют камеру, микрофон, акселерометр, плеер и прочие функции. Условно нативные приложения можно поделить на две группы: приложения, которым необходимо интернет-соединение, и оффлайн приложения.
На смену библиотеки классов VCL пришла кроссплатформенная библиотека FireMonkey (один из ее разработчиков Евгений Крюков из Улан-Удэ) сейчас работает в Embarcadero.
Embarcadero Technologies — американская компания, занимающаяся разработкой программного обеспечения для создания средств управления базами данных и самих баз данных. Компания была основана в октябре 1993 года
Компания имеет офисы в Торонто, Мельбурне, Мюнхене, Мейденхед (Великобритания), Яссах (Румыния), Санкт-Петербурге (Россия).
7-го мая 2008 года корпорация Borland объявила о продаже своей дочерней компании CodeGear. CodeGear занималась созданием популярных средств разработки программного обеспечения: Delphi, C++Builder и другими. В итоге, Embarcadero приобрела CodeGear за $23 млн и с обязательством погашения $7 млн долгов Borland.
1.
LAZARUS
Одним из общепринятых языков программирования, используемых для обучения, является язык Pascal. Практическая его реализация осуществляется посредством различных компиляторов: Turbo Pascal, TMT Pascal, Free Pascal, GNU Pascal и т.д. На базе этого языка была построена и первая система визуального программирования Delphi, предназначенная для создания Windows – приложений. Однако указанная система является коммерческим программным продуктом и ее использование предполагает определенные финансовые затраты. Альтернативой Delphi является Lazarus - система программирования с открытым исходным кодом.
www.lazarus-ide.org
Платформы
· Разработка Android
· Lazarus для Linux
· Lazarus для Mac OS X
· Lazarus для iOS
· Lazarus для Windows
Особенности
· Открытый исходный код
· Написано в Паскале для Паскаля
· Кросс-платформенная
· Более 200 компонентов
· Много рамок
· Расширяемый через пакеты
· Преобразует из кода Delphi
· Регулярные релизы
Литература
1. Г.С. Иванова, и др. Объектно–ориентированное программирование.-М. Изд-во МГТУ им. Н.Э. Баумана, 2001.-320с.
2. Д. Осипов. Delphi Программирование для Windows, OS X, iOS и Android. - СПб: БХВ-Петербург, 2014
3. Мансуров К.Т. Основы программирования в среде Lazarus, 2010.- 772c. [Электронный ресурс] Режим доступа: URL http://www.freepascal.ru/download/pdf/osnovy_programmirovanija_v_srede_lazarus.pdf
4. Гурин С.Р. Программирование в среде Lazarus для школьников и студентов: Учебное пособие. М.: ФОРУМ, 2016, - 336с.
5. Вишневская Т.И., Терентьев Ю.И. Решение инженерных задач в среде LASARUS : М.: Изд-во МГТУ им. Н.Э. Баумана, 2017.-69c Режим доступа: Режим доступа: http://ebooks.bmstu.ru/ catalog/xxx/book15xx.html
ЭКЗАМЕН
Начало в 9 00 или 14
Час письменный экзамен
· 3 вопроса «конкретных» по 10 баллов
· 1 - обязательно алгоритм
5. Для тех у кого 1 долг по модулю ( по практике) – письменно задача!!!
(1 час)
БАЛЛЫ
Практика мин – 42 (все модули) мах – 70
Теория мин - 18 мах - 30
ИТОГО
С 70 баллов – хорошо
С 85 баллов – отлично
ПЕРЕСДАЧА
1. Только по направлению деканата
· В сессию – 24 декабря 9 час (только теория) 25 декабря в 9 час
· Практику пересдавать своему преподавателю по графику пересдач
· В каникулы по графику пересдач дежурному преподавателю
Лекция
Объектно-ориентированное программирование
Теоретические основы ООП
В основе любого языка лежит некоторая идея, оказывающая существенное влияние на стиль программ. Исторически первой была идея процедурного программирования.
Процедурное программирование
Подпрограммы – совокупность операторов, к которым можно обращаться несколько раз. (Пример, одного из первых языков – фортран)
Структурное программирование (стиль программирования) – совокупность рекомендуемых технологических приемов.
Контроль на этапе разработки, Метод пошаговой детализации с использованием 3 базовых структур (следование, альтернатива, повторение)
Следующий этап - повышение роли организации данных (Паскаль).
Логическим следствием развития этого этапа стал модульный подход к разработки программ
Модульное программирование предполагает выделение групп подпрограмм, использующие одни и те же глобальные данные (типы данных).
Например, System
В виде модулей реализованы также библиотеки классов и компонент (VCL – Visual library Component), которая была разработана для Делфи и используется в С++ Builder
Дата: 2019-02-02, просмотров: 254.