Примеры выполнения заданий
Задание 1
Исходные данные.
Фамилия |
Тип заливки |
«Гагаев» |
«Г»-6; «А»-1; «Г»-5; «А»-1; «Е»-1; «В»-4. |
Код программы.
program primer1;
uses crt,graph; { подключение модулей crt.tpu и graph.tpu }
var
gd,gm,n:integer; { объявление целочисленных переменных типа integer }
begin
gd:=detect; { тип графического адаптера определяется автоматически }
gm:=1;
initgraph(gd,gm,''); { инициализация графического режима}
{ рисование буквы «Г»}
line(50,50,50,130);
line(50,50,100,50);
line(100,50,100,60);
line(100,60,60,60);
line(60,60,60,130);
line(50,130,60,130);
{ рисование буквы «А»}
line(210–80,50,220–80,50);
line(210–80,50,190–80,130);
line(220–80,50,240–80,130);
line(190–80,130,200–80,130);
line(240–80,130,230–80,130);
line(200–80,130,210–80,95);
line(230–80,130,220–80,95);
line(210–80,95,220–80,95);
line(212–80,85,218–80,85);
line(212–80,85,215–80,70);
line(215–80,70,218–80,85);
{ рисование буквы «"Г»}
line(185,50,185,130);
line(185,50,235,50);
line(235,50,235,60);
line(235,60,195,60);
line(195,60,195,130);
line(185,130,195,130);
{ рисование буквы «А»}
line(210+40,50,220+40,50);
line(210+40 ,50,190+40,130);
line(220+40,50,240+40,130);
line(190+40,130,200+40,130);
line(240+40,130,230+40,130);
line(200+40,130,210+40,95);
line(230+40,130,220+40,95);
line(210+40,95,220+40,95);
line(212+40,85,218+40,85);
line(212+40,85,215+40,70);
line(215+40,70,218+40,85);
{ рисование буквы «Е»}
line(290,50,290,130);
line(290,50,330,50);
line(330,50,330,60);
line(330,60,300,60);
line(300,60,300,85);
line(300,85,330,85);
line(330,85,330,95);
line(330,95,300,95);
line(300,95,300,120);
line(300,120,330,120);
line(330,120,330,130);
line(290,130,330,130);
{ рисование буквы "В"}
line(360,50,360,130);
line(360,50,370,50);
line(360,130,370,130);
ellipse(370,70,270,90,40,20);
ellipse(370,110,270,90,40,20);
ellipse(370,70,270,90,30,10);
ellipse(370,110,270,90,30,10);
line(370,60,370,80);
line(370,100,370,120);
randomize;{инициализация встроенного генератора случайных чисел}
{циклическое изменение цветов заливки, происходящее до тех пор, пока
не будет нажата клавиша ENTER}
repeat
{заливка буквы «Г»}
n:=1+random(14);
setfillstyle(6,n);
floodfill(75,52,15);
{заливка буквы «А»}
n:=1+random(14);
setfillstyle(1,n);
floodfill(140,52,15);
{заливка буквы «Г»}
n:=1+random(14);
setfillstyle(5,n);
floodfill(186,52,15);
{заливка буквы «А»}
n:=1+random(14);
setfillstyle(1,n);
floodfill(252,52,15);
{заливка буквы «Е»}
n:=1+random(14);
setfillstyle(1,n);
floodfill(292,52,15);
{заливка буквы «В»}
n:=1+random(14);
setfillstyle(4,n);
floodfill(380,52,15);
until keypressed;
readln;
end.
Задание 2
Исходные данные.
Исходная расстановка |
Ходы |
Белые: 2, 6; 7, 5 Чёрные: 1, 5; 6, 6 |
Белые G5 бьют черные F6 Чёрные A5 бьют белые B6 |
Код программы.
PROGRAM primer2; {заголовок программы}
uses crt,graph; {подключение модулей graph.tpu и crt.tpu}
var
gd,gm,h,i,j,p,h1,h2,k:integer; {объявление целочисленных переменных типа integer}
begin
gd:=detect; {тип графического адаптера определяется автоматически}
gm:=1;
initgraph(gd,gm,''); {инициализация графического режима}
rectangle(20,20,getmaxy–20,getmaxy–20); {рисование квадратной области}
h:=(getmaxy–40) div 8; {определение длины ребра одного квадрата на
игральной доске}
for i:=1 to 7 do
begin
line(i*h+20,20,i*h+20,getmaxy–20);{рисование вертикальных линий}
line(20,i*h+20,getmaxy–20,i*h+20);{рисование горизонтальных линий}
end;
for i:=1 to 8 do
begin
outtextxy(i*h–10,10,chr(64+i)); {расстановка букв по горизонтальной оси}
outtextxy(10,i*h–10,chr(48+i)); {расстановка цифр по вертикальной оси}
end;
{цикл закраски квадратов на игральной доске}
for i:=1 to 8 do
for j:=1 to 8 do
begin
if (i+j) mod 2<>0 then p:=7 else p:=0;
setfillstyle(1,p);
floodfill(20+i*h–2,20+j*h–2,15);
end;
h1:=h div 2;
{Рисование белой шашки}
setcolor(1);
circle(2*h+20–h1,6*h+20–h1,h1–4);
setfillstyle(1,15);
floodfill(2*h+20–h1,6*h+20–h1,1);
{Рисование черной шашки}
circle(1*h+20–h1,5*h+20–h1,h1–4);
setfillstyle(1,6);
floodfill(1*h+20–h1,5*h+20–h1,1);
{Рисование белой шашки}
circle(7*h+20–h1,5*h+20–h1,h1–4);
setfillstyle(1,15);
floodfill(7*h+20–h1,5*h+20–h1,1);
{Рисование черной шашки}
circle(6*h+20–h1,6*h+20–h1,h1–4);
setfillstyle(1,6);
floodfill(6*h+20–h1,6*h+20–h1,1);
repeat
{пустой цикл выполняется до тех пор, пока не будет нажата клавиша «1»}
until (keypressed) and (readkey='1');
{Удаление белой шашки}
setcolor(0);
circle(7*h+20–h1,5*h+20–h1,h1–4);
setfillstyle(1,0);
floodfill(7*h+20–h1,5*h+20–h1,0);
{Рисование белой шашки}
setcolor(1);
circle(5*h+20–h1,7*h+20–h1,h1–4);
setfillstyle(1,15);
floodfill(5*h+20–h1,7*h+20–h1,1);
{Удаление черной шашки}
setcolor(0);
circle(6*h+20–h1,6*h+20–h1,h1–4);
setfillstyle(1,0);
floodfill(6*h+20–h1,6*h+20–h1,0);
repeat
{пустой цикл выполняется до тех пор, пока не будет нажата клавиша «2»}
until (keypressed)and(readkey='2');
{Удаление белой шашки}
setcolor(0);
circle(2*h+20–h1,6*h+20–h1,h1–4);
setfillstyle(1,0);
floodfill(2*h+20–h1,6*h+20–h1,0);
{Рисование черной шашки}
setcolor(1);
circle(3*h+20-h1,7*h+20-h1,h1-4);
setfillstyle(1,6);
floodfill(3*h+20–h1,7*h+20–h1,1);
{Удаление черной шашки }
setcolor(0);
circle(1*h+20–h1,5*h+20–h1,h1–4);
setfillstyle(1,0);
floodfill(1*h+20–h1,5*h+20–h1,0);
repeat
{пустой цикл выполняется до тех пор, пока не будет нажата клавиша «3»}
until (keypressed) and (readkey='3');
readln;
end.
