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
Метод Инициализировать( ax1, ay1, ax2, ay2, acolor)
Метод Изобразить
Конец описания
Пример задание класса:
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;
Переменные типа класс называются объектами.
Операции над объектами:
§ Создание, уничтожение;
§ Модификация (обращение к объекту для изменения его состояния);
§ Селекция ( ответ объекта о его состоянии);
§ Итерация (доступ к содержанию объекта по частям, например, массив).
В практике использования объектов, они используются только для разработки сложного ПО и с использованием динамических объектов.
Переменная называется статической, если место для нее выделяется в момент компиляции программы. Динамической – если в момент выполнения программы.
Дата: 2019-02-02, просмотров: 191.