
uses Crt, Graph;
var
gd, gm, i: Integer;
begin
gd := Detect;
InitGraph(gd, gm, '');
i := 0;
while (i < GetMaxX) do begin
PutPixel(i, GetMaxY div 2 + Round(12 * Sin(i * pi / 180)), red);
if i mod 20 = 0 then Circle(i,GetMaxY div 2 + Round(12 * Sin(i * pi / 180)), 5);
Delay(10);
inc(i);
end;
readln;
end.