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

ООП / 2 / 2

.pdf
Скачиваний:
29
Добавлен:
01.06.2015
Размер:
139.06 Кб
Скачать

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

Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Южный федеральный университет»

Факультет

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

Кафедра

 

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

Отчет по лабораторной работе №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 Кб312.docx
  • #
    01.06.2015139.06 Кб292.pdf
  • #
    01.06.2015434 б26Project2.cfg
  • #
    01.06.20152.35 Кб26Project2.dof
  • #
    01.06.2015213 б26Project2.dpr
  • #
    01.06.20151.36 Кб26Project2.res
  • #
    01.06.2015213 б26Project2.~dpr