Иллюстрированный самоучитель по Turbo Pascal для начинающих

Решения (задачи 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.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.