Вопрос по информатике:
Нужна помощь с информатикой.
Треугольник задан координатами своих вершин. Программа должна вычислить его площадь, используя подпрограмму вычисления расстояния между двумя точками.
- 04.10.2017 18:03
- Информатика
- remove_red_eye 1268
- thumb_up 46
Ответы и объяснения 1
// Внимание! Если программа не работает, обновите версию!
begin
var d:(real,real,real,real)->real:=
(x1,y1,x2,y2)->Sqrt(Sqr(x2-x1)+Sqr(y2-y1));
var (x1,y1):=ReadReal2('Введите координаты 1-й точки:');
var (x2,y2):=ReadReal2('Введите координаты 2-й точки:');
var (x3,y3):=ReadReal2('Введите координаты 3-й точки:');
var a:=d(x1,y1,x2,y2);
var b:=d(x2,y2,x3,y3);
var c:=d(x1,y1,x3,y3);
if (a+b>c) and (a+c>b) and (b+c>a) then begin
var p:=(a+b+c)/2;
var s:=Sqrt(p*(p-a)*(p-b)*(p-c));
Writeln('S = ',s)
end
else
Writeln('Невозможно построить треугольник')
end.
Пример
Введите координаты 1-й точки: -2.5 1.6
Введите координаты 2-й точки: 5.2 4
Введите координаты 3-й точки: 1 -1
S = 14.21
Pascal ABC, Free Pascal
var
x1,y1,x2,y2,x3,y3,a,b,c,p,s:real;
function d(x1,y1,x2,y2:real):real;
begin
d:=Sqrt(Sqr(x2-x1)+Sqr(y2-y1))
end;
begin
Write('Введите координаты 1-й точки:'); Read(x1,y1);
Write('Введите координаты 2-й точки:'); Read(x2,y2);
Write('Введите координаты 3-й точки:'); Read(x3,y3);
a:=d(x1,y1,x2,y2);
b:=d(x2,y2,x3,y3);
c:=d(x1,y1,x3,y3);
if (a+b>c) and (a+c>b) and (b+c>a) then begin
p:=(a+b+c)/2;
s:=Sqrt(p*(p-a)*(p-b)*(p-c));
Writeln('S = ',s)
end
else
Writeln('Невозможно построить треугольник')
end.
С процедурой:
var
x1,y1,x2,y2,x3,y3,a,b,c,p,s:real;
procedure d(x1,y1,x2,y2:real; var r:real);
begin
r:=Sqrt(Sqr(x2-x1)+Sqr(y2-y1))
end;
begin
Write('Введите координаты 1-й точки:'); Read(x1,y1);
Write('Введите координаты 2-й точки:'); Read(x2,y2);
Write('Введите координаты 3-й точки:'); Read(x3,y3);
d(x1,y1,x2,y2,a);
d(x2,y2,x3,y3,b);
d(x1,y1,x3,y3,c);
if (a+b>c) and (a+c>b) and (b+c>a) then begin
p:=(a+b+c)/2;
s:=Sqrt(p*(p-a)*(p-b)*(p-c));
Writeln('S = ',s)
end
else
Writeln('Невозможно построить треугольник')
end.
- 05.10.2017 22:51
- thumb_up 14
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.