BBS: Inland Empire Archive Date: 05-09-92 (01:16) Number: 192 From: TOM HAMMOND Refer#: NONE To: LYN BORCHERT Recvd: NO Subj: HASHING 7/9 Conf: (2) Quik_Bas
Continued from Hashing 6/7 IF Action$ <> "" THEN Action$ = WhackIt$(Action$) IF Action$ = "C" THEN 'else if we are to change the number INPUT "New phone number please"; PhoneNumber$ PhoneNumber$ = UCASE$(RTRIM$(LTRIM$(PhoneNumber$))) IF PhoneNumber$ = "" THEN PRINT "Number not changed" ELSE a$(Index%, 1) = PhoneNumber$ PRINT "Phone number has been updated." END IF ELSEIF Action$ = "D" THEN a$(Index%, 0) = DeletedValue$ PRINT "Entry has been deleted." ELSE 'an invalid entry was made PRINT "Please enter a D to Delete the number," PRINT "a C to Change it, or" PRINT "just press Enter to continue." Action$ = "DUMMY" END IF END IF LOOP ELSE PRINT TestName$; "'s Phone Number Is Not On File. You May_ Enter It To Add" PRINT "It, Or Just Press "; CHR$(34); "ENTER"; CHR$(34); " To_ Continue."; INPUT PhoneNumber$ PhoneNumber$ = UCASE$(RTRIM$(LTRIM$(PhoneNumber$))) IF PhoneNumber$ <> "" THEN IF SaveIndex% <> -1 THEN 'reuse delete space Index% = SaveIndex% PRINT "We are reclaiming unused space! Ain't it great!" CALL Waiter END IF a$(Index%, 0) = TestName$ a$(Index%, 1) = PhoneNumber$ END IF END IF END IF LOOP ExitRoutine: SYSTEM Analyse: 'process all the data elements in A$ to see: ' how full A$ is, ' best and worst case access to A$, ' mean, SD of access count ' Statistics routines "borrowed" in part from ' "Some Common Basic Programs" pg 121-122 ' by Lon Poole and Mary Borchers ' Published by Adam Osborne ' Copyright 1977 ' pages 121-123 PRINT "Analysis Begins.... Please Wait....." Best% = 999 Worst% = 0 S = 0 ' we are dealing with a population, not a sample N = 0 ' count of active elements M = 0 ' Sum of X^2 p = 0 ' Sum of X FOR I% = 0 TO ArraySize% IF a$(I%, 0) <> "" AND a$(I%, 0) <> DeletedValue$ THEN CALL GetData(a$(I%, 0), Index%, Tries%, FirstDeleted%) N = N + 1 ' Bump entry count p = p + Tries% ' Bump sum of X M = M + (Tries% ^ 2) ' Bump sum of X^2 IF Tries% < Best% THEN Best% = Tries% BestOne% = Index% END IF IF Tries% > Worst% THEN Worst% = Tries% WorstOne% = Index% END IF END IF NEXT I% Continues in next file (HASHING - 8 of 9) --- WM v2.00/91-0231 * Origin: The Modem Zone BBS (314) 893-5106 (1:289/2)
Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET