Добавил:
Источник:
Uman
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:01 семестр / К экзамену-зачёту / Все задачи с экзамена в формате PAS / Модуль GRAPH и динамическая память / TEST_II
.PAS { *****************************************
* "„ўЁ¦гойЁҐбп ᥪв®а ". *
* *
* ЊЁва®иЁ Ђ«ҐЄбҐ©. *
* *
* ѓагЇЇ ќ2-21. *
* ‚ҐабЁп 2.0. *
***************************************** }
Program TestWork;
Uses Graph,Crt;
Type
spis=^Graf;
Graf=record
x1,y1,x2,y2,i:integer;
next:spis;
end;
Var
rab,g:spis;
s1,s2,s3,s4,xo,yo,gm,gd,x1,y1,x2,y2,i,r:integer;
p1,p2,p3,p4:pointer;
BEGIN
gd:=Detect;
InitGraph(gd,gm,' ');
xo:=320;
yo:=240;
SetColor(15);
SetFillStyle(5,1);
PieSlice(xo,yo,0,90,50);
SetColor(15);
SetFillStyle(4,14);
PieSlice(xo,yo,90,180,50);
SetColor(15);
SetFillStyle(5,11);
PieSlice(xo,yo,180,270,50);
SetColor(15);
SetFillStyle(4,12);
PieSlice(xo,yo,270,360,50);
s1:=ImageSize(xo,yo-50,xo+50,yo);
GetMem(p1,s1);
GetImage(xo,yo-50,xo+50,yo,p1^);
s2:=ImageSize(xo-50,yo-50,xo,yo);
GetMem(p2,s2);
GetImage(xo-50,yo-50,xo,yo,p2^);
s3:=ImageSize(xo-50,yo,xo,yo+50);
GetMem(p3,s3);
GetImage(xo-50,yo,xo,yo+50,p3^);
s4:=ImageSize(xo,yo,xo+50,yo+50);
GetMem(p4,s4);
GetImage(xo,yo,xo+50,yo+50,p4^);
ClearDevice;
x1:=xo; y1:=yo-50; y2:=yo; x2:=xo-50; r:=1;
For i:=1 to 50 do begin Sound(random(500));
new(rab);
x1:=x1+5;
y1:=y1-3;
y2:=y2+3;
x2:=x2-5;
rab^.x1:=x1;
rab^.y1:=y1;
rab^.y2:=y2;
rab^.x2:=x2;
rab^.next:=g;
rab^.i:=i;
g:=rab;
end;
rab:=g;
While rab<>nil do begin
x1:=rab^.x1;
y1:=rab^.y1;
y2:=rab^.y2;
x2:=rab^.x2;
i:=rab^.i;
rab:=rab^.next;
Randomize; Sound(random(500));
if i=1 then r:=0;
SetColor(14);
PutImage(x1,y1,p1^,r); Line(xo,yo,x1,y1+50);
PutImage(x1,y2,p4^,r); Line(xo,yo,x1,y2);
PutImage(x2,y1,p2^,r); Line(xo,yo,x2+50,y1+50);
PutImage(x2,y2,p3^,r); Line(xo,yo,x2+50,y2);
Delay(50);
PutImage(x1,y1,p1^,r);
PutImage(x1,y2,p4^,r);
PutImage(x2,y1,p2^,r);
PutImage(x2,y2,p3^,r);
noSound;
end;
readln;
CloseGraph;
end.
* "„ўЁ¦гойЁҐбп ᥪв®а ". *
* *
* ЊЁва®иЁ Ђ«ҐЄбҐ©. *
* *
* ѓагЇЇ ќ2-21. *
* ‚ҐабЁп 2.0. *
***************************************** }
Program TestWork;
Uses Graph,Crt;
Type
spis=^Graf;
Graf=record
x1,y1,x2,y2,i:integer;
next:spis;
end;
Var
rab,g:spis;
s1,s2,s3,s4,xo,yo,gm,gd,x1,y1,x2,y2,i,r:integer;
p1,p2,p3,p4:pointer;
BEGIN
gd:=Detect;
InitGraph(gd,gm,' ');
xo:=320;
yo:=240;
SetColor(15);
SetFillStyle(5,1);
PieSlice(xo,yo,0,90,50);
SetColor(15);
SetFillStyle(4,14);
PieSlice(xo,yo,90,180,50);
SetColor(15);
SetFillStyle(5,11);
PieSlice(xo,yo,180,270,50);
SetColor(15);
SetFillStyle(4,12);
PieSlice(xo,yo,270,360,50);
s1:=ImageSize(xo,yo-50,xo+50,yo);
GetMem(p1,s1);
GetImage(xo,yo-50,xo+50,yo,p1^);
s2:=ImageSize(xo-50,yo-50,xo,yo);
GetMem(p2,s2);
GetImage(xo-50,yo-50,xo,yo,p2^);
s3:=ImageSize(xo-50,yo,xo,yo+50);
GetMem(p3,s3);
GetImage(xo-50,yo,xo,yo+50,p3^);
s4:=ImageSize(xo,yo,xo+50,yo+50);
GetMem(p4,s4);
GetImage(xo,yo,xo+50,yo+50,p4^);
ClearDevice;
x1:=xo; y1:=yo-50; y2:=yo; x2:=xo-50; r:=1;
For i:=1 to 50 do begin Sound(random(500));
new(rab);
x1:=x1+5;
y1:=y1-3;
y2:=y2+3;
x2:=x2-5;
rab^.x1:=x1;
rab^.y1:=y1;
rab^.y2:=y2;
rab^.x2:=x2;
rab^.next:=g;
rab^.i:=i;
g:=rab;
end;
rab:=g;
While rab<>nil do begin
x1:=rab^.x1;
y1:=rab^.y1;
y2:=rab^.y2;
x2:=rab^.x2;
i:=rab^.i;
rab:=rab^.next;
Randomize; Sound(random(500));
if i=1 then r:=0;
SetColor(14);
PutImage(x1,y1,p1^,r); Line(xo,yo,x1,y1+50);
PutImage(x1,y2,p4^,r); Line(xo,yo,x1,y2);
PutImage(x2,y1,p2^,r); Line(xo,yo,x2+50,y1+50);
PutImage(x2,y2,p3^,r); Line(xo,yo,x2+50,y2);
Delay(50);
PutImage(x1,y1,p1^,r);
PutImage(x1,y2,p4^,r);
PutImage(x2,y1,p2^,r);
PutImage(x2,y2,p3^,r);
noSound;
end;
readln;
CloseGraph;
end.
Соседние файлы в папке Модуль GRAPH и динамическая память