100 rem Binary search 110 cls 120 dim a(10) 130 n% = 10 140 for i% = 0 to 9 : read a(i%) : next i% 150 rem Sorted data 160 data -31,0,1,2,2,4,65,83,99,782 170 x = 2 : gosub 280 180 gosub 230 190 x = 5 : gosub 280 200 gosub 230 210 end 220 rem Print result 230 print x; 240 if indx% >= 0 then print "is at index ";str$(indx%);"." else print "is not found." 250 return 260 rem Binary search algorithm 270 rem N% - number of elements; X - searched element; Result: INDX% - index of X 280 l% = 0 : h% = n%-1 : found% = 0 290 while (l% <= h%) and not found% 300 m% = l%+int((h%-l%)/2) 310 if a(m%) < x then l% = m%+1 else if a(m%) > x then h% = m%-1 else found% = -1 320 wend 330 if found% = 0 then indx% = -1 else indx% = m% 340 return