Создание объекта и заполнение данными - Pascal
Формулировка задачи:
Здравствуйте. Пишу сюда, так как очень нужна помощь в решении поставленной задачи.
Собственно задание, ниже.
Задание:
Создать проект "геометрический объект". Заполнить с помощью матрицы параметры объекта. Количество столбцов: 4 ( координаты х,у; центра фигуры; S; P). Количество строк - 19.
Решение задачи: «Создание объекта и заполнение данными»
textual
Листинг программы
{$mode objfpc}
type
Tgeometric_figure = class
private
type
TCoordinates = record
x,y:double;
end;
var
Coordinates: TCoordinates;
S : double;
P : double;
public
constructor Create(const x,y,_s,_p:double);
procedure PrintLnObject;
end;
constructor Tgeometric_figure.Create(const x,y,_s,_p:double);
begin
with Self do
begin
Coordinates.x:=x;
Coordinates.y:=y;
S:=_s;
P:=_p;
end;
end;
procedure Tgeometric_figure.PrintLnObject;
begin
Write(Coordinates.x:10:4, Coordinates.y:10:4, s:10:4, p:10:4); writeln;
end;
var
GF: array of Tgeometric_figure;
matrix : array [1..4, 1..19] of double;
i:byte;
begin
SetLength(GF,19);
Randomize; // заполним массив случайными значениями
for i:=1 to 19 do
begin
matrix[1,i]:=random(100)/(random(100)+1);
matrix[2,i]:=random(100)/(random(100)+1);
matrix[3,i]:=random(100)/(random(100)+1);
matrix[4,i]:=random(100)/(random(100)+1);
end;
for i:=1 to 19 do GF[i]:=Tgeometric_figure.Create(matrix[1,i],matrix[2,i],matrix[3,i],matrix[4,i]);
for i:=1 to 19 do GF[i].PrintLnObject; // вывод на экран всех объектов
readln;
end.
Объяснение кода листинга программы
- Создается тип данных
Tgeometric_figure, который является классом. - Внутри класса определен приватный тип данных
TCoordinates, который представляет координаты точки в виде записи с полямиxиyтипаdouble. - У класса
Tgeometric_figureесть приватная переменнаяCoordinates, которая является экземпляром типаTCoordinates. - У класса
Tgeometric_figureесть приватные переменныеSиPтипаdouble. - В конструкторе класса
Tgeometric_figureустанавливаются значения координат, параметраsиpдля нового объекта. - В процедуре
PrintLnObjectвыводится информация об объекте на экран. - Создается массив
GFтипаarray of Tgeometric_figure. - Заполняется массив
matrixслучайными значениями от 0 до 100. - Для каждого элемента массива
matrixсоздается новый объектTgeometric_figureс соответствующими координатами. - Все созданные объекты выводятся на экран с помощью
GF[i].PrintLnObject. - Программа завершается считыванием символа новой строки.