Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 19.01.2015, 16:21   #1
007Andrey
Новичок
Джуниор
 
Регистрация: 19.01.2015
Сообщений: 1
По умолчанию Буду благодарен

Добавьте описание класса TFourAngl поля для значений углов четырехугольника и метод для вычисления угла. В основной части программы реализуйте вычисления всех углов.
Код:
Program Geometry;
Type TKoord = record
X, Y: real
End;
Type TFourAngl = class
P: array[0..3] of TKoord;
L: array[0..5] of real; 
Procedure Init; 
Procedure Line; 
Function Square: real; 
End;
Type TKvadrat = class(TFourAngl)
Function Square: real; 
End;
Var FourAngl: TFourAngl;
Kvadrat: TKvadrat;
Procedure TFourAngl.Init;
Var i: integer;
Begin
For i:=0 To 3 Do
Begin
Write('Input X', i, ':'); Readln(P[i].X);
Write('Input Y', i, ':'); Readln(P[i].Y)
End
End;
Procedure TFourAngl.Line;
Var i: integer;
Begin
For i:=0 To 3 Do
L[i]:=sqrt(sqr(P[i].X-P[(i+1) mod 4].X)+
sqr(P[i].Y-P[(i+1) mod 4].Y));
L[4]:=sqrt(sqr(P[0].X-P[2].X)+ sqr(P[0].Y-P[2].Y));
L[5]:=sqrt(sqr(P[1].X-P[3].X)+ sqr(P[1].Y-P[3].Y))
End;
Function TFourAngl.Square: real;
Var pp1, pp2: real;
Begin
Line;
pp1:=(L[0]+L[1]+L[4])/2; pp2:=(L[2]+L[3]+L[4])/2;
Square:=sqrt(pp1*(pp1-L[0])*(pp1-L[1])*(pp1-L[4]))+
sqrt(pp2*(pp2-L[2])*(pp2-L[3])*(pp2-L[4]))
End;
Function TKvadrat.Square: real;
Begin
Line;
Square:=sqr(FourAngl.L[0])
End;
Begin
FourAngl:=TFourAngl.Create; 
Kvadrat:=TKvadrat.Create; 
FourAngl.Init; 
FourAngl.Line; 
With FourAngl Do
Begin
If (L[0]=L[1]) and (L[1]=L[2]) and (L[4]=L[5])
Then Writeln('Это квадрат, площадь= ', Kvadrat.Square)
Else Writeln('Это не квадрат, площадь = ', Square)
End
End.

Последний раз редактировалось Stilet; 19.01.2015 в 16:38.
007Andrey вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль Задачи. примерно 10 буду рад если решите... желательно с блок схемами. Буду сильно благодарен. Азарт Помощь студентам 8 26.03.2009 23:51