Определить длины биссектрис треугольника, заданного координатами вершин - Pascal
Формулировка задачи:
Комбинированные типы данных.
Напишите программу, которая определяет длины биссектрис треугольника, заданного координатами его вершин.
Заранее спасибо)
Решение задачи: «Определить длины биссектрис треугольника, заданного координатами вершин»
textual
Листинг программы
type point=record x,y:real; end; function dlina(a,b:point):real; begin dlina:=sqrt(sqr(a.x-b.x)+sqr(a.y-b.y)) end; function biss(a,b,c:point):real; var ab,bc,ac:real; begin ab:=dlina(a,b); bc:=dlina(b,c); ac:=dlina(a,c); biss:=sqrt(ab*bc*(ab+bc+ac)*(ab+bc-ac))/(ab+bc); end; var a,b,c:point; begin writeln('Введите координаты вершин треугольника'); readln(a.x,a.y,b.x,b.y,c.x,c.y); writeln('Длины биссектрис: ',biss(a,b,c):0:2,' ',biss(b,c,a):0:2,' ',biss(c,a,b):0:2); end.
Объяснение кода листинга программы
- Объявляется пользовательский тип
point
для хранения координат точек:type point=record x,y:real; end;
- Объявляется функция
dlina
для вычисления расстояния между двумя точками по формуле расстояния между двумя точками:function dlina(a,b:point):real; begin dlina:=sqrt(sqr(a.x-b.x)+sqr(a.y-b.y)) end;
- Объявляется функция
biss
для вычисления длины биссектрисы треугольника:function biss(a,b,c:point):real; var ab,bc,ac:real; begin ab:=dlina(a,b); bc:=dlina(b,c); ac:=dlina(a,c); biss:=sqrt(ab*bc*(ab+bc+ac)*(ab+bc-ac))/(ab+bc); end;
- Определение трех переменных типа
point
:var a, b, c:point;
- Пользователю предлагается ввести координаты вершин треугольника:
writeln('Введите координаты вершин треугольника'); readln(a.x,a.y,b.x,b.y,c.x,c.y);
- Вычисляются длины биссектрис треугольника с использованием функции
biss
:writeln('Длины биссектрис: ',biss(a,b,c):0:2,' ',biss(b,c,a):0:2,' ',biss(c,a,b):0:2);
- Программа завершается. Этот код использует структуры данных и функции для вычисления длин биссектрис треугольника по его вершинам, вводимым пользователем.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д