{} FUNCTION ANALIZ:BYTE; var i,WTD,wtd1,wtd2,wtd3:integer; sred,a,d:single; MF:array [1..1000] of integer; MT:array [1..1000] of integer; BEGIN sred:=0; FOR I := 1 to 1000 do begin a:=0; d:=0; if p.M[i].DX < 0 then begin a:=0 - p.M[i].DX; end else begin a:=p.M[i].DX; end; if p.M[i].DY < 0 then begin a:=0 - p.M[i].DY; end else begin a:=p.M[i].DY; end; sred := a + d + sred; end; FOR I := 1 to 1000 do begin // модуль a:=0; d:=0; if p.M[i].DX < 0 then begin a:=0 - p.M[i].DX; end else begin a:=p.M[i].DX; end; if p.M[i].DY < 0 then begin a:=0 - p.M[i].DY; end else begin a:=p.M[i].DY; end; //условия для тёплых if a + d > sred then begin mt[i]:=2; if p.M[i].x > mx then begin mf[i]:=1; end else begin mf[i]:=0; end; end; //условия для холодных if a + d < sred then begin mt[i]:=1; if p.M[i].x < mx then begin mf[i]:=1; end else begin mf[i]:=0; end; end; //условия для хз if a + d = sred then begin mt[i]:=0; mf[i]:=1; end; end; WTD:=0; WTD1:=0; WTD2:=0; for I := 1 to 1000 do begin if mf[i]=0 then begin//если пропускать нельзя if mt[i]=1 then begin// для холодных if p.M[i].x + p.M[i].DX < mx then begin end else begin if p.M[i].x + p.M[i].DX > 101 then begin if (p.M[i].y + p.M[i].DY > 49) or (p.M[i].y + p.M[i].DY < 51) then begin wtd1:=wtd1+1; end; end; end; end; if mt[i]=2 then begin// для тёплых if p.M[i].x + p.M[i].DX > mx then begin end else begin if p.M[i].x + p.M[i].DX < 99 then begin if (p.M[i].y + p.M[i].DY > 49) or (p.M[i].y + p.M[i].DY < 51) then begin wtd2:=wtd2+1; end; end; end; end; end else begin if mf[i]=1 then begin end; end; end; wtd1:=0; wtd2:=0; for i:= 1 to 1000 do begin if mf[i]=1 then begin wtd1:=wtd1+1; end; if mf[i]=0 then begin wtd2:=wtd2+1; end; end; if wtd1 >222 then begin wtd:=0; end else begin wtd:=1; end; if p.KOL_hod > 979 then begin ANALIZ:= 25; end else begin ANALIZ:= 0; end; END; { Конец подпрограммы пользователя} {}