Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.06.2008, 16:42   #1
SPARTA
 
Регистрация: 27.06.2008
Сообщений: 5
По умолчанию Помогите

Помогите пожалуйста решить задачу,
Даны отрески a, b, c, d. Для каждой тройки отрезков, из которых можно построить треугольник, напечатайте площадь данного треугольника. Воспользуйтесь функциями определения возможности создания треугольника и вычисления площади.
SPARTA вне форума Ответить с цитированием
Старый 27.06.2008, 16:55   #2
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Площадь можно найти через полупериметр. Известная также как формула Герона.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 27.06.2008, 18:20   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Решение на уровне 7 класса.
Код:
uses crt;
var a,b,c,d:real;
function Treug(x,y,z:real):boolean;
begin
if (x+y<=z)or(x+z<=y)or(y+z<=x)then
Treug:=false;
end;
function Plosh(x,y,z:real):real;
var p,s:real;
begin
p:=(x+y+z)/2;
Plosh:=sqrt(p*(p-x)*(p-y)*(p-z));
end;
begin
clrscr;
write('a=');readln(a);
write('b=');readln(b);
write('c=');readln(c);
write('d=');readln(d);
writeln;
if Treug(a,b,c) then
writeln('Sabc=',Plosh(a,b,c):0:2)
else writeln('Treugolnik abc ne sushestvuet!');
writeln;
if Treug(a,b,d) then
writeln('Sabd=',Plosh(a,b,d):0:2)
else writeln('Treugolnik abd ne sushestvuet!');
writeln;
if Treug(b,c,d) then
writeln('Sbcd=',Plosh(b,c,d):0:2)
else writeln('Treugolnik bcd ne sushestvuet!');
readln
end.
puporev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц