Показать сообщение отдельно
Старый 25.04.2011, 20:28   #1 (permalink)
mrbadj
Новичок
 
Регистрация: 25.04.2011
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите переделать программу в код паскаль,чтобы она была без классов

program Project2;
{$APPTYPE CONSOLE}

uses
SysUtils;

Type otr=class
private
x1,y1,x2,y2,X,Y, dl,u:real;
{координаты концов отрезка, его длина и угол с Ох в градусах}
public
constructor create(x1,y1,x2,y2:real);
Function Get_dl:real;
Function Get_u:real;//в градусах
End;
constructor otr.create(x1,y1,x2,y2:real);
begin
self.x1:=x1; self.x2:=x2;self.y1:=y1;self.y2:=y2;
end;
Function otr.Get_dl:real;
begin
X:=(x1+x2)/2;
Y:=(y1+y2)/2;
dl:=sqrt(sqr(X-0)+sqr(Y-0));
result:=dl;
end;
Function otr.Get_u:real;
begin
if abs(x1-x2)<1.0e-6 then
u:=90
else
u:=arctan((y1-y2)/(x1-x2))/pi*180;
result:=u;
end;
Var n:integer; ugol:real;x,y:array of real;
imax,jmax,
i,j:integer; max:real;
otr;
begin
{ TODO -oUser -cConsole Main : Insert code here }
Writeln ('Input ugol, n');
Readln (ugol, n);
SetLength (x,n); SetLength (y,n);
Writeln ('x,y');
for i:= 0 to n-1 do
Readln(x[i],y[i]);
max:=0; imax:=-1; jmax:=-1;
for i:= 0 to n-2 do
for j:= i+1 to n-1 do
begin
o:=otr.create(x[i],y[i],x[j],y[j]);
if abs(ugol-o.Get_u)=90 then
if max<o.Get_dl then
begin
max:=o.Get_dl;
imax:=i;
jmax:=j
end;
o.Destroy;
end;
if imax=-1 then
writeln ('net otrezkov')
else
writeln ('imax=', imax+1, 'jmax=', jmax+1);
readln
end.
mrbadj вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070