Помогите написать програми времени уже савсем неуспеваю:(
нарисовать график:
y=sinX+3;
Нарисовать анимацию:
Шатающевовася подсолнуха
program gr_1;
uses graph,crt;
var r1, rad, i, grDriver, grMode, errCode : integer;
begin
grDriver:=detect;
InitGraph(grDriver,grMode,'\bp\bgi\');
errCode:=GraphResult;
if errCode=grOk then begin
{for i:=1 to 999 do begin }
setcolor(14);
circle(320+i,200+i,75);
{ floodfill(330,210,yellow);}
circle(320+i,200+i,50);
setcolor(18);
setlinestyle(0,99,0);
{circle(320,340,);}
line(320,273,320,480);
{end;}
readln;
closegraph;{ўi¤¬i ०Ё¬г Ја дiЄЁ}
end;
end.
. program gr_1;
uses
graph,crt;
var
i, grDriver, grMode, errCode : integer;
procedure PodSolnuh(x,y: Integer);
var
rsmall,rad : Integer;
begin
rad:=75;
rsmall:=30;
setcolor(Yellow);
circle(x,y,rad);
SetFillStyle(1,yellow);
floodfill(x-1,y-1,yellow);
setcolor(White);
SetFillStyle(1,White);
circle(x+rad,y-rad,rsmall);
floodfill(x+rad,y-rad,White);
circle(x+rad,y+rad,rsmall);
floodfill(x+rad,y+rad,White);
circle(x-rad,y+rad,rsmall);
floodfill(x-rad,y+rad,White);
circle(x-rad,y-rad,rsmall);
floodfill(x-rad,y-rad,White);
circle(x,y-rad-rsmall ,rsmall);
floodfill(x,y-rad-rsmall,White);
circle(x,y+rad+rsmall ,rsmall);
floodfill(x,y+rad+rsmall,White);
circle(x+rad+rsmall,y ,rsmall);
floodfill(x+rad+rsmall,y,White);
circle(x-rad-rsmall,y ,rsmall);
floodfill(x-rad-rsmall,y,White);
end;
begin
grDriver:=detect;
InitGraph(grDriver,grMode,'\bp\bgi\');
errCode:=GraphResult;
if errCode=grOk then
begin
for i:=1 to 4 do
begin
podsolnuh(GetMaxX div 2 - i*100 ,GetMaxY div 2 + i*100);
Delay(200);
ClearviewPort;
end;
readln;
end;
closegraph;
end.
program gr_1;
uses
graph, crt;
const
r2d = 180/Pi;
procedure DrawEllipse(xCenter, yCenter, Angle: integer);
const
a = 15;
b = 30;
var
Alpha, Phi, fX, fY: double;
i, X, Y: Integer;
begin
Alpha := Angle/r2d;
for i := 0 to 359 do
begin
Phi := i / r2d;
fX := a * Cos(phi);
fY := b * Sin(phi);
X := Trunc(xCenter + fX * Cos(Alpha) - fY * Sin(Alpha));
Y := Trunc(yCenter + fX * Sin(Alpha) + fY * Cos(Alpha));
PutPixel(X, Y, Yellow);
end;
FloodFill(xCenter, yCenter, Yellow)
end;
procedure SunFlower(X, Y: Integer);
const
RCircle = 75;
var
i, dist: integer;
phi: real;
begin
SetColor(Yellow);
SetFillStyle(SolidFill, Yellow);
FillEllipse(X, Y, RCircle, RCircle);
dist := (3 * RCircle div 2);
for i := 0 to 359 do
begin
if i mod 20 <> 0 then continue;
phi := i / r2d;
DrawEllipse(Trunc(x + dist*cos(phi)),
Trunc(y - dist*sin(phi)), 450 - i);
end;
end;
var
i, grDriver, grMode, errCode: integer;
begin
grDriver := Detect;
InitGraph(grDriver, grMode, '');
errCode := GraphResult;
if errCode = grOk then
begin
i := 1;
SunFlower(GetMaxX div 2 - i*100, GetMaxY div 2 + i*100);
readln;
end;
closegraph;
end.
(Движение добавлять не стал, это вообще элементарно)