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

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

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

> задача про 5-угольник (через функции)
Catherinektz
сообщение 8.12.2011 16:00
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Женский
Реальное имя: Екатерина

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


Разработать программу расчета периметра и площади пятиугольника заданного координатами своих вершин.
Использовать две подпрограммы-функции. Одна рассчитывает длину отрезка по заданным координатам концов, а другая площадь треугольника по заданным координатам вершин (формула Герона). Предусмотреть проверочные примеры.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Catherinektz
сообщение 9.12.2011 8:44
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Женский
Реальное имя: Екатерина

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


У меня есть решение этой задачи, но что-то работает не так. И это не домашняя работа, а контрольная!!!
Program PP21_KEA;
Const N=5;
Var P,S,St1,St2,St3,Streyg:Real;
X,Y: Array [1..N] Of Real;
I,K: Byte;
Function DL(x1,y1,x2,y2:Real):Real;
Begin
DL:=SQRT((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
End;
Function PL(P,A,B,C:Real):Real;
Begin
P:=P/2;
PL:=SQRT(P*(P-A)*(P-B)*(P-C));
End;
Begin
For I:=1 To N Do Begin
Write('X[',I,']=');
ReadLn(X[I]);
Write('Y[',I,']=');
ReadLn(Y[I]);
End;
K:=1;
For I:=1 To N Do Begin
K:=I+1;
If K=6 Then K:=1;
P:=P+DL(X[I],Y[I],X[K],Y[K]);
End;
WriteLn('P=',P:6:2);
S:=0;
For I:=1 To N-2 Do Begin
St1:=DL(X[1],Y[I],X[I+1],Y[I+1]);
St2:=DL(X[I+1],Y[I+1],X[I+2],Y[I+2]);
St3:=DL(X[1],Y[I],X[I+2],Y[I+2]);
P:=St1+St2+St3;
STreyg:=PL(P,St1,St2,St3);
S:=S+STreyg;
End;

WriteLn('S=',S:6:2);
ReadLn;
End.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



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