Опубликовано 5 лет назад по предмету
Информатика
от codo
Паскаль. Помогите лабораторную доделать. Неуспеваю. Код рабочий, надо описать значения переменных и по возможности описать сам алгоритм. Описание переменных
• A, B –
• MidX, MidY -
• sum -
• g -
• t -
• X, Y –
• m –
• i –
• n -
• s -
Описание алгоритма
1.
....
Код программы
uses crt, GraphABC;
var A, B: real;
MidX, MidY: Integer;
g: Integer;
t: Real;
X, Y: Real;
m:real;
i:integer;
n:integer;
s:string;
begin
hidecursor;
writeln('Введите A');
readln(A);
writeln('Введите B');
readln(B);
clearwindow;
SetWindowTitle ('Кривая');
SetWindowSize(500,500);
MidX := WindowWidth div 2;
MidY := WindowHeight div 2;
if b>a then
begin
m:=(MidX-30)/(2*b);
n:=trunc(2*b)+1;
end
else
begin
m:=(MidX-30)/(2*a);
n:=trunc(2*a)+1;
end;
for i:=1 to n do
begin
str(i,s);
textout(MidX+round(i*m)+5,MidY+10,s);
textout(MidX-round(i*m)+5,MidY+10,'-'+s);
textout(MidX-20,MidY+round(i*m),s);
textout(MidX-20,MidY-round(i*m),'-'+s);
line(MidX+round(i*m),0,MidX+round(i*m),2*MidY);
line(MidX-round(i*m),0,MidX-round(i*m),2*MidY);
line(0,Midy+round(i*m),2*MidX,Midy+round(i*m));
line(0,Midy-round(i*m),2*MidX,Midy-round(i*m));
end;
textout(MidX+4,MidY+10,'0');
setpenwidth(3);
Line(0, MidY, WindowWidth, MidY);
Line(MidX, 0, MidX, WindowHeight);
setpencolor(clRed);
for g := 0 to 360 do
begin
t := g * Pi / 180;
X := MidX + m*B * Sqr(Cos(t)) + m*A * Cos(t);
Y := MidY + m*B * Cos(t) * Sin(t) + m*A * Sin(t);
if g = 0 then MoveTo(Round(X), Round(Y))
else LineTo(Round(X), Round(Y));
end;
end.
Войдите или зарегистрируйтесь, чтобы добавить ответ или свой вопрос на сайт