Задание 5. Наберите и протестируйте программу, имитирующую часы

Наберите и протестируйте программу, имитирующую часы:

Program Clock;

uses GraphABC;

const

wndRad = 250;

radPercents = 80;

var

clkRad: integer

minutes, seconds: integer;

procedure Init;

begin

SetWindowSize(2*wndRad,2*wndRad);

{ Радиус циферблата}

clkRad:= Round(radPercents/100

*wndRad);

end;

procedure DrawMarks;

var i: integer;

begin

SetBrushColor(clBlue);

for i:=0 to 11 do

Circle(wndRad+Round(clkRad*cos(2*3.14*i/12)),

wndRad+Round(clkRad*sin(2*3.14*i/12)),10);

end;

procedure Tick;

begin

inc(seconds);

if seconds = 60 then

begin

seconds:= 0;

inc(minutes);

if minutes = 60 then minutes:= 0;

end;

end;

procedure DrawArrows;

var x,y: integer;

begin

x:=wndRad+Round(clkRad*sin(2*3.14*seconds/60));

y:=wndRad-Round(clkRad*cos(2*3.14*seconds/60));

Line(wndRad, wndRad, x, y);

x:=wndRad+Round(0.8*clkRad*

sin(2*3.14*minutes/60));

y:=wndRad-Round(0.8*clkRad*

cos(2*3.14*minutes/60));

Line(wndRad, wndRad, x, y);

end;

var i: integer;

begin

Init;

while True do

begin

Tick;

ClearWindow;

DrawMarks;

DrawArrows;

sleep(100);

end;

end.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: