10  REM ***  HP TIME-SHARED BASIC PROGRAM LIBRARY  *********************
11  REM
12  REM         TUT17:  TUTOR SERIES BASIC LANGUAGE PROGRAMMING COURSE,
13  REM                 (PART 17 OF 25)
14  REM         36139 (A810) REV A -- 7/71
15  REM
16  REM ***  CONTRIBUTED PROGRAM  **************************************
17  REM
100  DIM H[11]
110  PRINT "YOU HAVE DIALED THE WRONG NUMBER. INSTEAD OF YOUR BOSS, YOU"
120  PRINT "HAVE REACHED THE COMPUTER. HOWEVER, AS LONG AS YOU ARE HERE,"
130  PRINT "WHY DON'T YOU STAY FOR THIS SESSION OF THE TUTOR SERIES?"
140  PRINT 
150  PRINT "IN THE LAST SESSION YOU WERE INTRODUCED TO THE CONCEPT OF A"
160  PRINT "SYSTEM COMMAND. IN THIS SESSION WE WILL CONTINUE WITH SOME"
170  PRINT "ADDITIONAL DISCUSSION ON THE SAME SUBJECT."
180  PRINT 
190  PRINT 
200  PRINT "I WILL POSE SOME HYPOTHETICAL SITUATIONS, AND YOU CAN BE THE"
210  PRINT "'COMPUTER COUNSELOR'. HERE IS A LIST OF SOME OF THE COMMANDS"
220  PRINT "WHICH CAN BE USED TO ANSWER THE HEART-RENDING QUESTIONS WHICH"
230  PRINT "WILL BE ASKED OF YOU:"
240  PRINT 
250  PRINT "  (1) INFORM***  (2) NAME  (3) CATALOG  (4) LENGTH  (5) SAVE"
260  PRINT 
270  PRINT "   (6) LIBRARY  (7) KEY  (8) TAPE  (9) GET  (10) C(WITH 'CONTROL' DOWN)"
280  PRINT 
290  PRINT "   (11) RENUMBER  (12) LIST  (13) KILL  (14) DELETE"
300  PRINT 
310  PRINT "   (15) APPEND  (16)  SORRY, I CAN'T HELP YOU  (17)  SCRATCH"
320  PRINT 
330  PRINT 
340  PRINT "---HERE ARE THE QUESTIONS. TYPE IN THE NUMBER OF THE COMMAND"
350  PRINT "  YOU WOULD SELECT TO SOLVE THE PROBLEM. AT THE END OF THE"
360  PRINT "  THE SERIES OF QUESTIONS, I WILL TELL YOU HOW YOU DID."
370  PRINT 
380  PRINT 
390  LET H[1]=5
400  LET H[2]=17
410  LET H[3]=3
420  LET H[4]=12
430  LET H[5]=11
440  LET H[6]=9
450  LET H[7]=4
480  LET H[8]=6
490  LET H[9]=16
500  LET H[10]=10
510  LET H[11]=14
520  LET S=N=0
530  GOTO 610
550  INPUT Z
560  PRINT 
570  LET N=N+1
580  IF Z <> H[N] THEN 600
590  LET S=S+1
600  RETURN 
610  PRINT "(A) I HAVE JUST WRITTEN A NEW PROGRAM WHICH I WOULD LIKE"
620  PRINT "TO STORE IN THE LIBRARY. SINCE THE WORK IS (BLUSH) CONFIDENTIAL,"
630  PRINT "I WOULD LIKE TO STORE IT WHERE IT CAN BE ACCESSED ONLY THROUGH"
640  PRINT "MY OWN USER NUMBER. PLEASE ADVISE ";
650  GOSUB 550
660  PRINT " (B) I HAVE BEEN WORKING WITH ONE PROGRAM THAT IS NOW 'SAVED' AND"
670  PRINT "  I WOULD NOW LIKE A CLEAN MEMORY TO START WRITING A NEW ONE."
680  PRINT "  WHAT COMMAND SHOULD I USE?";
700  GOSUB 550
710  PRINT "(C) I HAVE WRITTEN AND SAVED SO MANY PROGRAMS THAT I CAN REMEMBER"
720  PRINT "NEITHER THEIR NAMES NOR HOW MANY THERE WERE. I REGRET MY"
730  PRINT "PROMISCUOUS PAST, AND WOULD LIKE A LIST OF THEIR NAMES, SO"
740  PRINT "THAT I MAY CORRECT THE SITUATION. PLEASE TELL ME HOW I MAY"
750  PRINT "OBTAIN SUCH A LIST";
760  GOSUB 550
770  PRINT "(D) I HAVE JUST COMPLETED MAKING SEVERAL CHANGES TO MY PROGRAM"
780  PRINT "AND EVERYTHING IS NOW SO CONFUSED THAT I REALLY DON'T HAVE ANY"
790  PRINT "IDEA OF WHERE I AM. HOW CAN I START LIFE AGAIN WITH A FRESH"
800  PRINT "UPDATED LISTING OF MY PROGRAM ";
810  GOSUB 550
820  PRINT "(E) MY PROGRAM REQUIRES A FEW ADDITIONS TO IT. WHEN I WAS WRITING"
830  PRINT "IT, I SEQUENCED THE INSTRUCTIONS BY TWOS, BUT I NOW FIND THAT"
840  PRINT "I HAVE TO ADD AS MANY AS 3 OR 4 STATEMENTS BETWEEN SOME OF THE"
850  PRINT "EXISTING ONES. I KNOW--I GOOFED BY NOT USING A LARGE ENOUGH"
860  PRINT "INCREMENT, BUT I UNDERSTAND THAT THERE IS A METHOD FOR RESEQUENCING"
870  PRINT "THE STATEMENT NUMBERS USING ANY NEW INCREMENT I NOW CHOOSE."
880  PRINT "I ALSO UNDERSTAND THAT ALL LOGICAL PATHS IN THE PROGRAM WILL"
890  PRINT "BE PRESERVED. ANY SUGGESTIONS ";
900  GOSUB 550
910  PRINT "(F) I JUST RUINED A PROGRAM BY ADDING AND DELETING STATEMENTS"
920  PRINT "THAT I HADN'T INTENDED TO. I PREVIOUSLY SAVED THE PROGRAM"
930  PRINT "THE OTHER DAY WHEN I WAS WORKING ON IT. HOW CAN I GET THE"
940  PRINT "ORIGINAL PROGRAM BACK SO THAT I DON'T HAVE TO RETYPE ALL"
950  PRINT "THOSE NASTY OLD STATEMENTS AGAIN ";
960  GOSUB 550
970  PRINT "(G) MY CURRENT PROGRAM IS PRETTY LARGE, BUT I WOULD LIKE TO"
980  PRINT "ADD MORE TO IT. IS THERE ANY WAY THAT I COULD BE INFORMED AS"
990  PRINT "TO HOW CLOSE TO THE CHARACTER LIMIT IT IS?  BETTER YET, HOW"
1000  PRINT "CAN I FIND OUT HOW MANY CHARACTERS IT CURRENTLY CONTAINS ";
1010  GOSUB 550
1050  PRINT "(H) I WISH TO CALL A STORED PROGRAM, NOT IN MY OWN LIBRARY,"
1060  PRINT "BUT RATHER IN THE COMMON LIBRARY, AS I UNDERSTAND THESE PROGRAMS"
1070  PRINT "ARE AVAILABLE TO ANYONE. I'M NOT SURE OF THE NAME, BUT IF I"
1080  PRINT "COULD ONLY GET A LIST OF THHSE NAMES I'M SURE THAT I COULD"
1090  PRINT "LOCATE IT.  HELP";
1100  GOSUB 550
1110  PRINT "(I) I HAVE JUST FINISHED UPDATING AN OLD PROGRAM, AND I TYPED"
1120  PRINT "'SAVE' TO KEEP IT. NOW I FIND THAT THE UPDATES WERE ALL WRONG."
1130  PRINT "HOW CAN I GET THE ORIGINAL PROGRAM BACK";
1140  GOSUB 550
1150  PRINT "(J) THIS CRAZY PROGRAM SEEMS TO GO ON FOREVER. THE ONLY TIME"
1160  PRINT "IT EVER PAUSES IS WHEN IT ASKS FOR MORE DATA, BUT THAT'S JUST IT."
1170  PRINT "I DON'T HAVE ANY MORE DATA. I DON'T WANT TO BE RUDE AND HANG UP."
1180  PRINT "SO PLEASE TELL ME WHAT I CAN TYPE IN WHEN IT PAUSES ";
1190  GOSUB 550
1200  PRINT "(K) HOLY SMOKE, I HAVE TO DELETE ABOUT 30 CONSECUTIVE STATEMENTS"
1210  PRINT "DOES THAT MEAN THAT I MUST ENTER FACH STATEMENT NUMBER. IF"
1215  PRINT "THE TIME SHARING COMPUTER AT HEWLETT PACKARD IS ONLY"
1230  PRINT "HALF AS GOOD AS YOU CLAIM IT IS, THERE SHOULD BE AN EASIER WAY"
1240  PRINT "TO DO THIS";
1250  GOSUB 550
1260  PRINT 
1270  PRINT 
1280  PRINT "-----I'M RUNNING OUT OF PROGRAM SPACE, BUT I HAVE SOME MORE"
1290  PRINT "QUESTIONS TO ASK. I WILL CONTINUE THEM ON THE NEXT PART OF"
1300  PRINT "THIS SEQUENCE 'TUT18'. BEFORE YOU TYPE 'RUN', PLEASE ENTER THE"
1310  PRINT "FOLLOWING STATEMENT:"
1320  PRINT 
1330  PRINT "  100 LET S=";S
1340  END 
