![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
punkska |
![]() ![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 139 Пол: Мужской Репутация: ![]() ![]() ![]() |
по 3 точкам найти площадь и периметр треугольника!
подскажите формулы для вычисления пл и периметра тр-ка по 3 точкам... хотелось бы сделать чтоб после ввода координат в правом углу строился этот треугольник. Так вот, как масштабировать тркугольник так чтоб наилучшим образом смотрелся а экране... хелп :molitva: -------------------- ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
|
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Все что тебе нужно знать для решения сомой задачи (без построения рисунка) :
2 точки:(X,Y) (X1,Y1) По т.Пифагора D=sqrt(sqr(X-X1)+sqr(Y-Y1)) где D - расстояние межуд точками. Сообщение отредактировано: klem4 - -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Треугольник с медианами! (реализовано на Дельфи, правда, но перенести на Паскаль зная алгоритм труда не составит...) :yes:
|
punkska |
![]() ![]()
Сообщение
#4
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 139 Пол: Мужской Репутация: ![]() ![]() ![]() |
program Laba1;
uses Crt;
type
coor=record
x,y:byte;
end;
Mas=array[1..3] of coor;
rastP=array[1..3] of real;
const
N=3;
procedure getCoor( var treyg:Mas; const n:integer );
var
i:integer;
begin
for i:=1 to n do
begin
writeln('point #',i);
write('X= ');
readln(treyg[i].x);
write('Y= ');
readln(treyg[i].y);
writeln('');
end;
end;
procedure getRast(var rast:rastP; var treyg:Mas);
begin
rast[1]:=sqrt( sqr(treyg[1].x-treyg[2].x) + sqr(treyg[1].y-treyg[2].y) );
rast[2]:=sqrt( sqr(treyg[3].x-treyg[2].x) + sqr(treyg[3].y-treyg[2].y) );
rast[3]:=sqrt( sqr(treyg[1].x-treyg[3].x) + sqr(treyg[1].y-treyg[3].y) );
end;
function findP(var rast:rastP):real;
begin
findP:=(rast[2]+rast[3]+rast[1]);
end;
function findS(var rast:rastP):real;
begin
findS:=sqrt(rast[1]+rast[2])/2;
end;
Var
treyg:mas;
rast:rastP;
begin
writeln('LABA 1');
getCoor(treyg,n);
getrast(rast,treyg);
writeln('nEPUMETP treyg: ',findP(rast):4:2);
writeln('n/\OWAgb POMbA: ',findS(rast):4:2);
writeln('THE END.');
readln;
end.
вот что я написал!!! но 100% уверен что S я неверно определил! тк если взять 2 других вектора(стороны) результат другой...подскажите плз! зы ВСЕХ С ПРАЗДНИКАМИ!!! СЧАСТЛИВОГО РОЖДЕСТВА Сообщение отредактировано: volvo - -------------------- ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
|
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Вычисляем площадь треугольника по формуле Герона:
Function FindS(var rast: rastP): real;
var p: real;
begin
p := FindP(rast) / 2;
FindS := Sqrt(Abs(p*(p - rast[1])*(p - rast[2])*(p - rast[3])));
end;
Если длины сторон нашел правильно - должно работать... |
![]() ![]() |
![]() |
Текстовая версия | 18.04.2025 15:44 |