IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Площадь и периметр треугольнка!, работа с изображением треугольника
punkska
сообщение 23.10.2005 20:30
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 139
Пол: Мужской

Репутация: -  0  +


по 3 точкам найти площадь и периметр треугольника!

подскажите формулы для вычисления пл и периметра тр-ка по 3 точкам...

хотелось бы сделать чтоб после ввода координат в правом углу строился этот треугольник. Так вот, как масштабировать тркугольник так чтоб наилучшим образом смотрелся а экране...
хелп :molitva:


--------------------
ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 4)
klem4
сообщение 23.10.2005 20:47
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Все что тебе нужно знать для решения сомой задачи (без построения рисунка) :

2 точки:(X,Y) (X1,Y1)
По т.Пифагора
D=sqrt(sqr(X-X1)+sqr(Y-Y1))

где D - расстояние межуд точками.

Сообщение отредактировано: klem4 - 23.10.2005 20:47


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 23.10.2005 20:47
Сообщение #3


Гость






Треугольник с медианами! (реализовано на Дельфи, правда, но перенести на Паскаль зная алгоритм труда не составит...) :yes:
 К началу страницы 
+ Ответить 
punkska
сообщение 5.01.2006 18:56
Сообщение #4


Пионер
**

Группа: Пользователи
Сообщений: 139
Пол: Мужской

Репутация: -  0  +


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 - 7.11.2006 19:45


--------------------
ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 5.01.2006 19:13
Сообщение #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;

Если длины сторон нашел правильно - должно работать...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.07.2025 10:09
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"