Цитата:
Сообщение от Светик123
это сделано для того, чтобы пользователь но смог символ ввести. требования такие, тут от меня ничего, к сожалению, не зависит(
|
Понятно. Ну что же, можно и так.
Вот с файлами. Естественно, имена файлов, а также пути к ним можете поправить сообразно своему вкусу.
Код:
Type
Cartez=Record
x,y:real;
end;
Polar=Record
R,fi:real;
end;
Procedure Cart2Pol(Cr:Cartez; var Pl:Polar);
begin
Pl.R:=sqrt(sqr(Cr.x)+sqr(Cr.y));
with Cr do
if (x>0) and (y>=0) then Pl.fi:=Arctan(y/x) else
if (x=0) and (y>0) then Pl.fi:=Pi/2 else
if (x<0) and (y>=0) then Pl.fi:=Pi+Arctan(y/x) else
if (x<0) and (y<0) then Pl.fi:=-Pi+Arctan(y/x) else
if (x=0) and (y<0) then Pl.fi:=-Pi/2 else
if (x>0) and (y<0) then Pl.fi:=Arctan(y/x) else
Pl.fi:=10;
end;
Var
C:Cartez;
P:Polar;
f1,f2:Text;
IOR:Integer;
Begin
{$I-}
Assign(f1,'D:\Cart.txt');
Reset(f1);
Assign(f2,'D:\Polar.txt');
Rewrite(f2);
Read(f1,C.x,C.y);
IOR:=IOResult;
If IOR=0 then
begin
Cart2Pol(C,P);
Writeln(f2,'Radius = ',P.R:0:2);
if P.fi=10 then Writeln(f2,'Poliarnii ugol - Ne opredelen')
else Writeln(f2,'Poliarnii ugol = ',P.fi:0:2);
end
else
begin
writeln('Oshibka chtenija vhodnyh dannyh');
Readln
end;
Close(f1);
Close(f2);
End.