Решения (задачи 198-216)
Задача 210
{ Вычерчивает узор из квадратов Uses Graph; var grDriver:integer; grMode:integer; grPath:string; ErrCode:integer; x,y: integer; { коорд. левого верхнего угла квадрата } d: integer; { длина стороны квадрата } n: integer; { кол-во квадратов в ряду } 1: integer; { расстояние между квадратами } i,j: integer; (счетчики циклов } begin grDriver: = VGA; grMode: = VGAHi; grPath: = 'e:\tp\bgi'; InitGraph (grDriver, grMode grPath); ErrCode: = GraphResult if ErrCode <> grOK then begin writeln ('Ошибка инициализации графического режима.'); writeln ('Для завершения работы нажмите Enter'); readln; HALT (1); end; y: = 100; d: = 30; for i: = l to 5 do begin if ((i mod 2) = 1) then begin { нечетный ряд } n: = 5; { пять квадратов в ряду } х: = 100; end else begin { четный ряд } п: = 4; x: = 100+Round(d/2+l/2); end; for j: =1 to n do begin Rectangle(x,y,x+d,y+d); x: = x+d+l; end; y: = y+Round(d/2+l/2); end; readln; end.
Задача 211
{ рисует на экране шахматную доску } uses Graph; var х0,у0: integer; { координаты левого верхнего угла доски } х,у: integer; { координаты левого верхнего угла клетки } w: integer; { размер клетки } i,j: 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 x0: = 100; y0: = 100; w: = 25; x: = xO; y: = yO; for i: = l to 8 do { восемь строк } begin for j: = l to 8 do { восемь клеток в строке } begin { если сумма номера строки и номера колонки, на пересечении которых находится клетка, четная, то клетка – коричневая, иначе – желтая } if ((i+j) mod 2) = 0 then SetFillStyle(SolidFill,Brown) else SetFillStyle(SolidFill,Yellow); Bar(x,y,x+w,y+w); x: = x+w; end; x: = x0; y: = y+w; end; readln; end; CloseGraph; end. { Рисует флажок } Uses Graph; var grDriver:integer; grMode:integer; grPath:string; ErrCode:integer; flag: array[1..6] of PointType; { коотринаты точек флажка } begin grDriver: = VGA; grMode: = VGAHi; grPath: = 'e:\tp\bgi'; InitGraph (grDriver,grMode,grPath); ErrCode: = GraphResult; if ErrCode <> grOK then begin writeln ('Ошибка инициализации графического режима.'); writeln ('Для завершения работы нажмите Enter'); readln; HALT (1); end; { задать координаты контура – флажка } flag[l].х flag[2].x flag[3].x flag[4].x flag[5].x flag[6].x =100;flag[l].y: = 100; =160;flag[2].y: = 100; =140;flag[3].y: = 120; =160; flag[4].y: = 140; =100;flag[5].y: = 140; =100;flag[6].y: = 100; SetFillStyle(SolidFill, Red); FillPoly(6,flag); Line(100.140.100.170); readln; end.