Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача на нахождение основания высоты треугольника.
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
lifter88
Задание: Найти длину и основание высоты, опущенной из вершины А на сторону ВС.
Задача простая, но вот нигде не могу найти формулу нахождения основания высоты. Как я выяснил это координаты точки пересечения высоты и основания треугольника, то есть в данном случае, стороны ВС.
Надеюсь кто нибудь знает как её найти).
Вот текст программы без нахождения основания высоты:
 program math1;
uses crt;
var x1,x2,x3,y1,y2,y3,a,b,c,p,h: real;
begin
clrscr;
writeln('Vvedite A(x1)');
readln(x1);
writeln('Vvedite A(y1)');
readln(y1);
writeln('koordinati A(',x1,',',y1,')');
writeln('Vvedite B(x2)');
readln(x2);
writeln('Vvedite B(y2)');
readln(y2);
writeln('koordinati B(',x2,',',y2,')');
writeln('Vvedite C(x3)');
readln(x3);
writeln('Vvedite C(y3)');
readln(y3);
writeln('koordinati C(',x3,',',y3,')');
a:=sqrt(sqr(x1-x2)+sqr(y1-y2));
b:=sqrt(sqr(x1-x3)+sqr(y1-y3));
c:=sqrt(sqr(x3-x2)+sqr(y3-y2));
p:=(a+b+c)/2;
h:=(2*sqrt(p*(p-a)*(p-b)*(p-c)))/a;
writeln('visota ABC=',h);
readkey;
end.
Lapp
Цитата(lifter88 @ 13.04.2009 16:37) *
Задание: Найти длину и основание высоты, опущенной из вершины А на сторону ВС.
Прекрасно. Что найти - сказано. А что дано - неизвестно.. Угадывать?
lifter88
В программе задаются координаты точек треугольника.
Lapp
Цитата(lifter88 @ 13.04.2009 16:37) *
нигде не могу найти формулу нахождения основания высоты. Как я выяснил это координаты точки пересечения высоты и основания треугольника
И долго ты выяснял, что такое основание высоты? Всего-то нужно было вспомнить материал седьмого (если не ошибаюсь) класса.. А формулы - ессно, они не на все случаи жизни. Кое-что надо выводить (благо это тоже легко сделать со знанием школьного курса).

Рассмотрим один из прямоугольных треугольников, на которые высота делит изначальный треугольник: BAD. У тебя есть один его катет (высота AD, равна h) и гипотенуза (сторона AB, равна c). По Пифагору находишь второй катет (который яыляется частью ВС). Обозначим его длину через d.

d = Sqrt(с2-h2)

Тогда координаты основания высоты (точка D) можно вычислить из пропорции:

Dx = (Cx - Bx)*d/a + Bx
Dy = (Cy - By)*d/a + By
DeiDzumi
Цитата(Lapp @ 13.04.2009 17:57) *

Прекрасно. Что найти - сказано. А что дано - неизвестно.. Угадывать?

предполагается, что пользователь сам введет данные о координатах вершин треугольника.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.