Binary search: Difference between revisions

Content deleted Content added
No edit summary
Line 662: Line 662:
190 PRINT "The value";N;"was not found."
190 PRINT "The value";N;"was not found."
200 END IF
200 END IF
210 DEF SEARCH(REF T,N)
210 DEF FILL(REF T)
220 LET SEARCH=0
220 LET T(1)=RND(3):PRINT T(1);
230 LET BO=LBOUND(T):LET UP=UBOUND(T)
230 FOR I=LBOUND(T)+1 TO UBOUND(T)
240 LET T(I)=T(I-1)+RND(3)+1
240 DO
250 LET K=INT((BO+UP)/2)
250 PRINT T(I);
260 NEXT
260 IF T(K)<N THEN LET BO=K+1
270 END DEF
270 IF T(K)>N THEN LET UP=K-1
280 LOOP WHILE BO<=UP AND T(K)<>N
280 DEF SEARCH(REF T,N)
290 IF BO<=UP THEN LET SEARCH=K
290 LET SEARCH=0:LET BO=LBOUND(T):LET UP=UBOUND(T)
300 END DEF
300 DO
310 LET K=INT((BO+UP)/2)
310 DEF FILL(REF T)
320 LET T(1)=RND(3):PRINT T(1);
320 IF T(K)<N THEN LET BO=K+1
330 IF T(K)>N THEN LET UP=K-1
330 FOR I=LBOUND(T)+1 TO UBOUND(T)
340 LET T(I)=T(I-1)+RND(3)+1
340 LOOP WHILE BO<=UP AND T(K)<>N
350 PRINT T(I);
350 IF BO<=UP THEN LET SEARCH=K
360 NEXT
360 END DEF</lang>
370 END DEF</lang>


=={{header|Batch File}}==
=={{header|Batch File}}==