Информатика, вопрос задал codo , 7 лет назад

Паскаль. Помогите лабораторную доделать. Неуспеваю. Код рабочий, надо описать значения переменных и по возможности описать сам алгоритм. Описание переменных

• 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.

Приложения:

На этот вопрос еще никто не ответил. Напишите свой ответ или воспользуйтесь поиском:

Новые вопросы