1. Расчертить все поле горизонтальными пунктирными линиями.
НАЧ
ПОКА впереди НЕ стена
НЦ
ДЕЛАЙ линия
ДЕЛАЙ правый переход
ДЕЛАЙ линия
ДЕЛАЙ левый переход
КЦ
КОН
ПРОЦЕДУРА линия
ПОКА впереди НЕ стена
НЦ
ШАГ
ЕСЛИ впереди НЕ стена
ТО
ПРЫЖОК
ВСЁ
КЦ
КОНЕЦ ПРОЦЕДУРЫ
ПРОЦЕДУРА правый переход
ПОВОРОТ
ПОВОРОТ
ПОВОРОТ
ЕСЛИ впереди НЕ стена
ТО
ПРЫЖОК
ПОВОРОТ
ПОВОРОТ
ПОВОРОТ
ВСЁ
КОНЕЦ ПРОЦЕДУРЫ
ПРОЦЕДУРА левый переход
ПОВОРОТ
ЕСЛИ впереди НЕ стена
ТО
ПРЫЖОК
ПОВОРОТ
ВСЁ
КОНЕЦ ПРОЦЕДУРЫ
2) Нарисовать квадраты во всех углах поля.
НАЧ
ДЕЛАЙ квадрат
ДЕЛАЙ переход
ДЕЛАЙ квадрат
ДЕЛАЙ переход
ДЕЛАЙ квадрат
ДЕЛАЙ переход
ДЕЛАЙ квадрат
КОН
ПРОЦЕДУРА квадрат
ШАГ
ПОВОРОТ
ПОВОРОТ
ПОВОРОТ
ШАГ
ПОВОРОТ
ПОВОРОТ
ПОВОРОТ
ШАГ
ПОВОРОТ
ПОВОРОТ
ПОВОРОТ
ШАГ
ПОВОРОТ
ПОВОРОТ
ПОВОРОТ
КОНЕЦ ПРОЦЕДУРЫ
ПРОЦЕДУРА переход
ПОКА впереди НЕ стена
НЦ
ПРЫЖОК
КЦ
ПОВОРОТ
ПОВОРОТ
ПОВОРОТ
КОНЕЦ ПРОЦЕДУРЫ
ответ:
uses graphabc;
var xx,yy,u: integer;
procedure growl(x,y,r: integer);
var i: byte;
begin
for i: =1 to r do
begin
circle(x,y,i);
sleep(5);
end;
end;
procedure growr(x,y: integer);
var i: byte;
begin
for i: =1 to 20 do
begin
ellipse(x-5,y-(i),x-(i*3),y+(i));
ellipse(x+5,y-(i),x+(i*3),y+(i));
ellipse(x-(i),y-5,x+(i),y-(i*3));
ellipse(x-(i),y+5,x+(i),y+(i*3));
sleep(3);
end;
end;
procedure fall;
var r,prer,i: byte;
x,y: integer;
begin
for i: =1 to 10 do
begin
x: =random(160)-80+windowwidth div 2;
prer: =0;
r: =random(10)+10;
for y: =80+windowheight div 2 to windowheight+30 do
begin
setpencolor(clwhite);
circle(x,y-1,prer);
setpencolor(clblack);
circle(x,y,r);
prer: =r;
sleep(3);
end;
end;
end;
procedure growd (x,y: integer);
var i: byte;
begin
for i: =20 downto 5 do
begin
clearwindow;
setbrushcolor(clgreen);
ellipse(x-5,y-(20),x-(60),y+(20));
ellipse(x+5,y-(20),x+(60),y+(20));
ellipse(x-(20),y-5,x+(20),y-(60));
ellipse(x-(20),y+5,x+(20),y+(60));
setbrushcolor(rgb(255,255-((20-i)*10),255-((20-i)*;
circle(x-i,y-i,i);
circle(x+i,y-i,i);
circle(x+i,y+i,i);
circle(x-i,y+i,i);
sleep(5);
end;
end;
var j: integer;
begin
repeat
setbrushcolor(clgreen);
growr(windowwidth div 2,windowheight div 2);
setbrushcolor(clwhite);
for j: =1 to 360 do
if j mod 10=0 then
begin
xx: =round(windowwidth div 2+20*cos(pi*(u+(j*10))/180));
yy: =round(windowheight div 2+20*sin(pi*(u+(j*10))/180));
growl(xx,-j) div 10));
end;
sleep(100);
fall;
growd (windowwidth div 2,windowheight div 2);
sleep(100);
until false;
end.
объяснение: