Вопрос задан 07.05.2021 в 18:17. Предмет Информатика. Спрашивает Чаплыгин Даня.

Проблема заключается в том что на месте, которое выделено "//...//" PascalABC.Net говорит, что там о

шибка, пожалуйста помогите, укажите ошибку и если есть возможность её исправить, это срочно program Zmeya; Uses graphabc, events,timers; const r=5 ; d=7; type TDirection = (None, Left, Right, Up, Down); var x,t,y,i,z,xr,yr,prin1,prin2,prin3,prin4,prin5,k,s4et,prin6: integer; Direction :TDirection; xs,ys,bufx,bufy:array[1..200]of integer; procedure shar3; begin SetBrushColor(clYellow); circle(xs[k],ys[k],r); end; procedure Circl; begin SetBrushColor(clBlack); circle(x,y,r); end; procedure rshar ; begin xr:=Random(WindowWidth) ; yr:=Random( WindowHeight); end; procedure rshar2; begin SetBrushColor(clYellow); circle(xr,yr,r); end; procedure XP(Key:integer); begin case Key of VK_Left: Direction := Left ; VK_Right: Direction := Right ; VK_UP: Direction := UP ; VK_Down: Direction :=Down ; end; circle(x,y,r); end; procedure pause; begin // for i:=1 to 1 do // begin Circl; rshar2; ClearWindow; rshar2 ; prin1:=(xr-x+r)*(xr-x+r)+(yr-y)*(yr-y) ; prin2:=(xr-x-r)*(xr-x-r)+(yr-y)*(yr-y) ; prin3:=(xr-x)*(xr-x)+(yr-y+r)*(yr-y+r) ; prin4:=(xr-x)*(xr-x)+(yr-y-r)*(yr-y-r) ; prin5:=R*R; if (prin1)<=(prin5) then begin rshar ; s4et:=s4et+1; end; if (prin2)<=(prin5) then begin rshar ; s4et:=s4et+1; end; if (prin3)<=(prin5) then begin rshar ; s4et:=s4et+1; end; if (prin4)<=(prin5) then begin rshar ; s4et:=s4et+1; end; case Direction of Left: begin x:=x-d; if x<=0 then x:=WindowWidth end; Up: begin y:=y-d; if y<=0 then y:=WindowHeight end; Right: begin x:=x+d; if x>=WindowWidth then x:=0 end; Down: begin y:=y+d; if y>=WindowHeight then y:=0 end; end; xs[1]:=x; ys[1]:=y; for k:=1 to s4et do begin bufx[k]:=xs[k]; bufy[k]:=ys[k]; end; for k:=1 to s4et do begin xs[k+1]:=bufx[k]; ys[k+1]:=bufy[k] ; end; for k:=2 to s4et do shar3; Circl; end; end; begin rshar; s4et:=2; Direction := None; x:=WindowWidth div 2; y:=WindowHeight div 2; OnKeyDown:=XP; CreateTimer(150,pause); end.

Ответы на вопрос

Отвечает Худобина Маргарита.
У вас же компилятор четко описывает причину ошибки:
Переменная цикла for должна описываться в том же блоке, что и цикл for

Пишите заголовки циклов в виде for var i:=... - это требование PascalABC.NET

Последние заданные вопросы в категории Информатика

Информатика 08.05.2021 01:08 352 Здравствуй Ева.
Ответов: 1
Информатика 08.05.2021 01:06 301 Харюков Антон.
Ответов: 1