var a: array[1..2,1..4] of real; b,c: string; d,x,y: real; i,j: integer; begin b:='ABCD'; c:='xy'; writeln('трапеция ABCD'); for i:=1 to 4 do begin writeln('координаты точки ',b[i],': '); for j:=1 to 2 do begin write(' ',c[j],i,' = '); readln(a[j,i]); end; end; x:=(a[1,3]-a[1,2]+a[1,4]-a[1,1])/2; y:=(a[2,3]-a[2,2]+a[2,4]-a[2,1])/2; d:=sqrt(x*x+y*y); writeln('длина средней линии: ',d:5:2); end.
ввод - вывод
трапеция ABCD координаты точки A: x1 = 3 y1 = 2 координаты точки B: x2 = 5 y2 = 5 координаты точки C: x3 = 9 y3 = 5 координаты точки D: x4 = 10 y4 = 2 длина средней линии: 5.50
Треугольник существует, если сумма длин двух любых его сторон больше длины третьей стороны. Длина стороны может быть определена как расстояние между соответствующими сторонами треугольника:
// PascalABC.NET 3.0, сборка 1160 от 05.02.2016 type Point=record x,y:real end;
procedure GetPoint(c:char;var M:Point); begin Write('Введите координаты точки ',c,': '); Read(M.x,M.y) end;
function Dist(a,b:Point):=sqrt(sqr(b.x-a.x)+sqr(b.y-a.y));
begin var A,B,C:Point; GetPoint('A',A); GetPoint('B',B); GetPoint('C',C); var ab:=Dist(A,B); var bc:=Dist(B,C); var ac:=Dist(A,C); if (ab<bc+ac) and (bc<ab+ac) and (ac<ab+bc) then Writeln('Треугольник существует') else Writeln('Треугольник не существует') end.
Тестовое решение: Введите координаты точки A: -6.9 -5.3 Введите координаты точки B: 0 11.4 Введите координаты точки C: 9 3 Треугольник существует
b,c: string;
d,x,y: real;
i,j: integer;
begin
b:='ABCD'; c:='xy';
writeln('трапеция ABCD');
for i:=1 to 4 do
begin
writeln('координаты точки ',b[i],': ');
for j:=1 to 2 do
begin
write(' ',c[j],i,' = ');
readln(a[j,i]);
end;
end;
x:=(a[1,3]-a[1,2]+a[1,4]-a[1,1])/2;
y:=(a[2,3]-a[2,2]+a[2,4]-a[2,1])/2;
d:=sqrt(x*x+y*y);
writeln('длина средней линии: ',d:5:2);
end.
ввод - вывод
трапеция ABCD
координаты точки A:
x1 = 3
y1 = 2
координаты точки B:
x2 = 5
y2 = 5
координаты точки C:
x3 = 9
y3 = 5
координаты точки D:
x4 = 10
y4 = 2
длина средней линии: 5.50