unit g_modulis; interface uses dos; const n =2000; type masyvas = array[1..n] of integer; procedure burbulas(var mas : masyvas; n : integer); function Gettime1:longint; Function Bin_Search (mas:masyvas; size:integer; x: integer) : integer; implementation procedure burbulas(var mas : masyvas; n : integer); var i, j, b : integer; c : boolean; begin j:= 1; repeat c:=true; for i:=1 to n-j do if mas[i] > mas[i+1] then begin b:= mas[i]; mas[i]:= mas[i+1]; mas[i+1]:=b; c:=false; end; j:=j+1; until (j=n) or c end; function Gettime1:LongInt; var h,m,s,ms:word; begin gettime(h,m,s,ms); gettime1:=ms+100*(s+60*(m+60*h)); end; Function Bin_Search (mas:masyvas; size:integer; x: integer) : integer; Var left, right, center: integer; begin left := 1; right := size; repeat center := (right + left) div 2; if mas[ center ] >= X then right := center else left := center; until (right - left = 1) or (mas[ center ] = X); bin_search:=center; end; end.