• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите переделать программу в код паскаль,чтобы она была без классов

  • Автор темы Автор темы mrbadj
  • Дата начала Дата начала

mrbadj

Ученик
Регистрация
25 Апр 2011
Сообщения
1
Реакции
0
Баллы
0
Помогите переделать программу в код паскаль,чтобы она была без классов

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;
o: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,y);
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,y,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.
 
Назад
Сверху