Задача "Вращающийся отрезок" (30 баллов)
На экране изобразить вращающийся вокруг своей середины отрезок произвольной длины. Отрезок должен вращаться до нажатия любой клавиши.
Формат входных данных: нет
Формат выходных данных: На экране – вращающийся отрезок
Решение
program vr_otrez;
uses crt, graph;
var i,j, Gd, Gm: Integer; r,x,x1,y,y1,a:real;
BEGIN
Gd:=VGA; Gm:=VGAHi; InitGraph (Gd,Gm,'..\bgi');
a:=0; SetBkColor (0);Setcolor (4);
repeat
x:=320+50*cos(a);
y:=240-50*sin(a);
x1:=320+50*cos(pi+a);
y1:=240-50*sin(pi+a);
a:=a+pi/20; Setcolor (4);
line(round(x1),round(y1),round(x),round(y));
for i:=0 to 32000 do
for j:= 0 to 32 do
Setcolor (0);
line(round(x1),round(y1),round(x),round(y));
until keypressed;
end.
На экране изобразить вращающийся вокруг своей середины отрезок произвольной длины. Отрезок должен вращаться до нажатия любой клавиши.
Формат входных данных: нет
Формат выходных данных: На экране – вращающийся отрезок
Решение
program vr_otrez;
uses crt, graph;
var i,j, Gd, Gm: Integer; r,x,x1,y,y1,a:real;
BEGIN
Gd:=VGA; Gm:=VGAHi; InitGraph (Gd,Gm,'..\bgi');
a:=0; SetBkColor (0);Setcolor (4);
repeat
x:=320+50*cos(a);
y:=240-50*sin(a);
x1:=320+50*cos(pi+a);
y1:=240-50*sin(pi+a);
a:=a+pi/20; Setcolor (4);
line(round(x1),round(y1),round(x),round(y));
for i:=0 to 32000 do
for j:= 0 to 32 do
Setcolor (0);
line(round(x1),round(y1),round(x),round(y));
until keypressed;
end.
Комментариев нет:
Отправить комментарий