program Variant13;
uses math;
var
x, y, z: real;
a, b, under_root, under_root_alt, a_alt: real;
px1, py1, px2, py2, px3, py3: real;
d1, d2, d3, eps: real;
area, height: real;
{ Функция для вычисления расстояния между двумя точками }
function Dist(x1, y1, x2, y2: real): real;
begin
Dist := sqrt(sqr(x1 - x2) + sqr(y1 - y2));
end;
begin
writeln('--- Часть 1: Вычисление формул ---');
{ Заданные по условию значения }
x := 5;
y := 6;
z := 7;
{ 1. Вычисление переменной b }
b := ln(sqr(x) + exp(-3 * sqr(y)) / sqr(sin(y)));
writeln('b = ', b:0:6);
{ 2. Вычисление переменной a }
under_root := sqr(cos(z)) / tan(sqr(z));
if under_root < 0 then
begin
writeln('a = [Ошибка] Подкоренное выражение отрицательно, так как tg(7^2) < 0.');
{ Альтернативный расчет для tg^2(z) на случай опечатки }
under_root_alt := sqr(cos(z)) / sqr(tan(z));
a_alt := tan(sqr(x + y) - sqrt(under_root_alt));
writeln('a (альтернативный расчет с tg^2(z)) = ', a_alt:0:6);
end
else
begin
a := tan(sqr(x + y) - sqrt(under_root));
writeln('a = ', a:0:6);
end;
writeln;
writeln('--- Часть 2: Геометрическая задача ---');
{ Тестовые координаты (образуют равносторонний треугольник) }
px1 := 0; py1 := 0;
px2 := 2; py2 := 0;
px3 := 1; py3 := sqrt(3);
writeln('Проверка координат: (', px1:0:2, ', ', py1:0:2, '), (', px2:0:2, ', ', py2:0:2, '), (', px3:0:2, ', ', py3:0:2, ')');
d1 := Dist(px1, py1, px2, py2);
d2 := Dist(px2, py2, px3, py3);
d3 := Dist(px1, py1, px3, py3);
{ Проверка равенства сторон с учетом погрешности вещественных чисел }
eps := 1e-5;
if (abs(d1 - d2) < eps) and (abs(d2 - d3) < eps) then
begin
writeln('Точки могут быть вершинами равностороннего треугольника.');
{ Формулы площади и высоты через сторону a: S = (sqrt(3)/4)*a^2, h = (sqrt(3)/2)*a }
area := (sqrt(3) / 4) * sqr(d1);
height := (sqrt(3) / 2) * d1;
writeln('Площадь (S): ', area:0:4);
writeln('Длина высоты (h): ', height:0:4);
end
else
begin
writeln('Точки НЕ могут быть вершинами равностороннего треугольника.');
writeln('Длины сторон: ', d1:0:4, ', ', d2:0:4, ', ', d3:0:4);
end;
end.