program Project1;
{$APPTYPE CONSOLE}
uses
math;
type
//DbВиртуальный класс "объем"
TCustomVolume = class
public
function GetVolume : real; virtual; abstract;
end;
//Параллелепипед
TParallelepipedVolume = class(TCustomVolume)
public
X, Y, Z : Real;
function GetVolume : real; override;
end;
//Пирамида
TPyramidVolume = class(TCustomVolume)
public
X, Y, H : Real;
function GetVolume : real; override;
end;
//тетраэда
TTetraedaVolume = class(TCustomVolume)
public
A : Real;
function GetVolume : real; override;
end;
//Шар
TSphereVolume = class(TCustomVolume)
public
R : Real;
function GetVolume : real; override;
end;
{ TParallelepipedVolume }
function TParallelepipedVolume.GetVolume: real;
begin
Result := x * y * z;
end;
{ TPyramidVolume }
function TPyramidVolume.GetVolume: real;
begin
Result := x * y * h;
end;
{ TTetraedaVolume }
function TTetraedaVolume.GetVolume: real;
begin
result := (sqrt(2)/12) * Power(a, 3);
end;
{ TSphereVolume }
function TSphereVolume.GetVolume: real;
begin
Result := 4 * pi * Power(r, 3)/3
end;
begin
end.
Классы
помогите, пожалуйста
Весело вычисляется объем пирамиды :) Сроду не знал, что объем пирамиды равен объему параллелепипеда...
В условии именно такая пирамида =)
Цитата: 0nni
В условии именно такая пирамида =)
Цитата:
пирамиды: V=xyh (x, y - стороны, h - высота)
Параллелепипед не является пирамидой. Это вырожденная двуугольная пирамида :-), она состоит из 2 треугольников разного размера на одном и том же месте в пространстве (это как? - но, похоже, это так); её объём равен нулю.
[/off]
Наверное, xyzh было в оригинале
Насколько помню, всетаки объем пирамиды вычисляется как 1/3 * Sh, где S - площадь основания, h - высота.