Turbo Pascal для начинающих




Задача 202


( Рисует пятиконечную звезду }
uses Graph;
label
bye; const
k=0.01745; { коэф. пересчета величины угла из градусов в радианы к=2*р/360, где р - число "ПИ" }
г: integer; { радиус звезды }
x0,y0: integer; ( координаты центра звезды }
р: array[1..10] of PointType; { координаты концов лучей
и впадин звезды }
a: integer;
i: integer;
{ угол между осью ОХ и прямой, соединяющей центр звезды и конец луча или впадину }
grDriver: Integer; grMode: Integer; ErrCode: Integer; res: integer;
begin
grDriver := detect;
InitGraph(grDriver, grMode,'e:\tp\bgi');
ErrCode := GraphResult;
if ErrCode <> grOk then
begin
writeln('Ошибка инициализации графического режима.');
goto bye; end;
:=1ОО;
уО:=1ОО; г:=20;
а:=18; ( строим от правого гор. луча }
for i:=l to 10 do
begin
if (i mod 2) <> 0 then begin ( луч }
i].x:=xO+Round(r*cos(a*k)); i].y:=yO-Round(r*sin(a*k)); end else
begin { впадина }
p[i].x:=xO+Round(r/2*cos(a*k)); p[i].y:=yO-Round(r/2*sin(a*k)); end;
a:=a+36;
if a > 360 then a:=18; end;
SetFillStyle(SolidFill,Red); FillPoly(10,p); readln; bye: end.
{ Рисует российский флаг }
uses Graph;
var
x,y: integer; { координаты левого верхнего угла флага ) l,h: integer; { длина и высота флага } w: integer; { ширина полосы флага }
grDriver: Integer; grMode: Integer; ErrCode: Integer; res: integer;
grDriver := detect;
InitGraph(grDriver, grMode,'e:\tp\bgi'; ErrCode := GraphResult; if ErrCode = grOk then begin
x:=100;
y:=100;
l:=50;
h:=25;
w:=Round(h/3);
{ рисуем флаг }
SetFillStyle(SolidFill,White);
Bar(x,y,x+l,y+w);
SetFillStyle(SolidFill,Blue);
Bar(x, y+w,x+1,y+2*w);
SetFillStyle(SolidFill,Red);
Bar(x,y+2*w,x+l,y+3*w);
OutTextXY(x,y+h+5,'Россия'); end; readln; CloseGraph; end.









Начало    Назад    Вперед