как сделать программку через паскаль авс чтоб высчитывала объём и площадь

Как сделать программу через паскаль авс чтобы высчитывала объём и площадь пиромиды

помогите пожалуйста

Задать свой вопрос
1 ответ
Код не мой, не знаю, на счет корректности,
Var S: real;
               x: Array [1..5] of Real;
               y: Array [1..5] of Real;
               z: Array [1..5] of Real;
           i,n,m: Integer;

процедура вычисления площади треугольника
procedure plosh(x_1,y_1,z_1,x_2,y_2,z_2,x_3,y_3,z_3:real);
var
a,b,c,p,t:real;
begin
 a:=sqrt(sqr(y_2-y_3)+sqr(x_2-x_3)+sqr(z_2-z_3));
 b:=sqrt(sqr(y_1-y_3)+sqr(x_1-x_3)+sqr(z_1-z_3));
 c:=sqrt(sqr(y_1-y_2)+sqr(x_1-x_2)+sqr(z_1-z_2));
 p:=(a+b+c)/2;
 t:=p*sqrt((p-a)*(p-b)*(p-c));
end;

заносим в массив координаты вершин
for i:=1 to 5 do
begin
 if i:=1 or 5 then
  begin
   write('X',i,' -gt; '); readln(x[i]);
   write('Y',i,' -gt; '); readln(y[i]);
   write('Z',i,' -gt; '); readln(z[i]);
  end;
 else
  begin
   write('X',i,' -gt; '); readln(x[i]);
   write('Y',i,' -gt; '); readln(y[i]);
   z[i]:=z[1]
   writeln;
  end;
 end;
end;
начинаем перебор всех вариантов сочетания вершин, творящих треугольник
for i:=1 to 5 do
for n:=1 to 5 do
for m:=1 to 5 do
begin
 if ((ilt;gt;n) and ((nlt;gt;m) and (ilt;gt;m))) then
 begin
plosh(x[i],y[i],z[i],x[n],y[n],z[n],x[m],y[m],z[m]);
 end;
end;
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт