Binary search: Difference between revisions

no edit summary
No edit summary
Line 625:
Value 20 found at index 10
 
==={{header|BBC BASIC}}===
<lang bbcbasic> DIM array%(9)
array%() = 7, 14, 21, 28, 35, 42, 49, 56, 63, 70
Line 649:
UNTIL H%=0
IF S%=A%(B%) THEN = B% ELSE = -1</lang>
 
==={{header|IS-BASIC}}===
<lang IS-BASIC>100 PROGRAM "Search.bas"
110 RANDOMIZE
120 NUMERIC ARR(1 TO 20)
130 CALL FILL(ARR)
140 INPUT PROMPT "Value: ":N
150 LET IDX=SEARCH(ARR,N)
160 IF IDX THEN
170 PRINT "The value";N;"was found the index";IDX
180 ELSE
190 PRINT "The value";N;"was not found."
200 END IF
210 DEF SEARCH(REF T,N)
220 LET SEARCH=0
230 LET BO=LBOUND(T):LET UP=UBOUND(T)
240 DO
250 LET K=INT((BO+UP)/2)
260 IF T(K)<N THEN LET BO=K+1
270 IF T(K)>N THEN LET UP=K-1
280 LOOP WHILE BO<=UP AND T(K)<>N
290 IF BO<=UP THEN LET SEARCH=K
300 END DEF
310 DEF FILL(REF T)
320 LET T(1)=RND(3):PRINT T(1);
330 FOR I=LBOUND(T)+1 TO UBOUND(T)
340 LET T(I)=T(I-1)+RND(3)+1
350 PRINT T(I);
360 NEXT
370 END DEF</lang>
 
=={{header|Batch File}}==
Anonymous user