![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Catherinektz |
![]() ![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 40 Пол: Женский Реальное имя: Екатерина Репутация: ![]() ![]() ![]() |
Разработать программу расчета периметра и площади пятиугольника заданного координатами своих вершин.
Использовать две подпрограммы-функции. Одна рассчитывает длину отрезка по заданным координатам концов, а другая площадь треугольника по заданным координатам вершин (формула Герона). Предусмотреть проверочные примеры. |
![]() ![]() |
Catherinektz |
![]()
Сообщение
#2
|
Новичок ![]() Группа: Пользователи Сообщений: 40 Пол: Женский Реальное имя: Екатерина Репутация: ![]() ![]() ![]() |
У меня есть решение этой задачи, но что-то работает не так. И это не домашняя работа, а контрольная!!!
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. |
![]() ![]() |
![]() |
Текстовая версия | 19.07.2025 19:24 |