Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ООП / 2 / 2

.docx
Скачиваний:
30
Добавлен:
01.06.2015
Размер:
83.45 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Федеральное государственное автономное образовательное

учреждение высшего профессионального образования

«Южный федеральный университет»

Факультет

РАДИОТЕХНИЧЕСКИЙ

Кафедра

МИКРОПРОЦЕССОРНЫХ СИСТЕМ

Отчет по лабораторной работе №2

по дисциплине:

«Объектно-ориентированное программирование».

На тему: «Разработка классов».

Выполнил:

студент группы Р-102

В.Г.Горчаков

Проверил:доцент каф. МПС

М.И.Ледовской

Таганрог 2013 г.

Цель работы:

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

Задание 9:

1. Разработайте класс Truncated_Cone (усеченный конус, в основаниях – круги), который содержит: закрытые переменные r, R – радиусы кругов-оснований, L – образующая усеченного конуса, H – высота конуса; метод Set_Init для инициализации указанных переменных, методы Get_So, Get_Sb, Get_Sp вычисляющие и возвращающие значения площадей основания, боковой и полной поверхностей конуса по формулам соответственно

Sосн1 =  r 2, Sосн2 = R2, Sбок = L(R+r), Sполн = Sосн1 +Sосн2+ Sбок ,

а также метод, обеспечивающий вывод полученных значений площадей.

2. Разработайте программу, которая создает и инициализирует объект разработанного класса, вычисляет и выводит значения указанных площадей.

Выполнение работы:

Компонент

Свойство

Событие

Обработчик

Label1

нет

нет

нет

Label2

нет

нет

нет

Button1

OnClick

Button1Click

SG

ColCount=2

DefaultColWeight=210

FixedCols=1

FixedRows=0

goEditing=true

RowCount=4

нет

нет

SG2

ColCount=2

DefaultColWeight=210

FixedCols=1

FixedRows=0

RowCount=4

нет

нет

Form1

нет

OnCreate

FormCreate

Класс

TCone

Метод

Get_Sb

Метод

Get_Sp

Метод

Get_So1

Метод

Get_So2

Метод

Resultshow

Метод

Set_init

Переменная

Тип

R1

real

R2

Real

L

Real

H

real

Рис.1 - Окно разработанного приложения

Unit.pas

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, Grids;

type

TForm1 = class(TForm)

Label1: TLabel;

Button1: TButton;

SG: TStringGrid;

Label2: TLabel;

SG2: TStringGrid;

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2;

var

Truncated_Cone:TCone;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

r1,r2,l,h:real;

begin

l:=strtofloat(SG.Cells[1,0]);

h:=strtofloat(SG.Cells[1,1]);

r1:=strtofloat(SG.Cells[1,2]);

r2:=strtofloat(SG.Cells[1,3]);

Truncated_Cone:=TCone.Set_init(r1,r2,l,h);

Truncated_Cone.Free;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

Label1.Caption:='Введите значения';

Form1.Label2.Caption:='';

SG.Cells[0,0]:='Образующая';

SG.Cells[0,1]:='Высота';

SG.Cells[0,2]:='Радиус малого основания';

SG.Cells[0,3]:='Радиус большого основания';

SG.Cells[1,0]:='0';

SG.Cells[1,1]:='0';

SG.Cells[1,2]:='0';

SG.Cells[1,3]:='0';

SG2.Cells[0,0]:='Площадь малого основания:';

SG2.Cells[0,1]:='Площадь большего основания:';

SG2.Cells[0,2]:='Площадь боковой поверхности:';

SG2.Cells[0,3]:='Полная площадь:';

end;

end.

Unit2.pas

unit Unit2;

interface

uses Unit1,SysUtils, Dialogs;

type

TCone=class(TObject)

private

r1,r2,l,h:real;

{ Private declarations }

protected

{ Protected declarations }

public

function Get_Sb:real;

function Get_Sp:real;

function Get_So1:real;

function Get_So2:real;

procedure Resultshow;

constructor Set_init(a,b,c,d:Real);

{ Public declarations }

published

{ Published declarations }

end;

implementation

constructor TCone.Set_init(a,b,c,d:real);

begin

inherited Create;

if (a<0)or (b<0) or(c<0) or (d<0) then

begin

Showmessage('Ошибка!');

d:=0;

a:=0;

b:=0;

c:=0;

end

else

begin

r1:=a;

r2:=b;

l:=c;

h:=d;

Resultshow;

end;

end;

function TCone.Get_So2:real;

begin

Get_So2:=pi*r2*r2;

end;

function TCone.Get_So1:real;

begin

Get_So1:=pi*r1*r1;

end;

function TCone.Get_Sb:real;

begin

Get_Sb:=pi*l*(r2+r1);

end;

function TCone.Get_Sp:real;

begin

Get_Sp:=Get_So1+Get_So2+Get_Sb;

end;

procedure TCone.Resultshow;

begin

Form1.Label2.Caption:='Готово!';

Form1.SG2.Cells[1,0]:=floattostr(Get_So1);

Form1.SG2.Cells[1,1]:=floattostr(Get_So2);

Form1.SG2.Cells[1,2]:=floattostr(Get_Sb);

Form1.SG2.Cells[1,3]:=floattostr(Get_Sp);

end;

end.

Project2.dpr

program Project2;

uses

Forms,

Unit1 in 'Unit1.pas' {Form1},

Unit2 in 'Unit2.pas';

{$R *.res}

begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.Run;

end.

Рис. 2 – Результат работы приложения

Вывод: изучил принципы создания класса, объектов, методов в инструментальной среде Delphi 7. Изучил основные свойства объектов среды программирования Delphi 7.

Соседние файлы в папке 2
  • #
    01.06.201583.45 Кб302.docx
  • #
    01.06.2015139.06 Кб282.pdf
  • #
    01.06.2015434 б25Project2.cfg
  • #
    01.06.20152.35 Кб25Project2.dof
  • #
    01.06.2015213 б25Project2.dpr
  • #
    01.06.20151.36 Кб25Project2.res