Monday, 30 April 2012

Binary Search Program in Liberty BASIC


Max = 5
REDIM Arr(Max)
Arr(1) = INT(RND(1) * 10) + 1
PRINT Arr(1);
FOR I = 2 TO Max
  Arr(I) = Arr(I - 1) + INT(RND(1) * 10) + 1
  PRINT Arr(I); 
NEXT I
PRINT

INPUT "Which number do you want to find: "; Find
Left = 1
Right = Max
Time2Stop = 0
WHILE Time2Stop = 0
  Half = INT((Left + Right) / 2)
  IF Find < Arr(Half) THEN
    Right = Half - 1
  ELSE
    Left = Half + 1
  END IF
  IF (Find = Arr(Half) OR Left > Right) THEN
    Time2Stop = 1
  END IF
WEND
IF Find = Arr(Half) THEN
  PRINT "Found it in location "; Half
ELSE
  PRINT "The number you want is not in the list."
END IF
END

No comments:

Post a Comment