10  REM ***  HP TIME-SHARED BASIC PROGRAM LIBRARY  *********************
11  REM
12  REM         TUT19:  TUTOR SERIES BASIC LANGUAGE PROGRAMMING COURSE,
13  REM                 (PART 19 OF 25)
14  REM         36139 (A810) REV A -- 7/71
15  REM
16  REM ***  CONTRIBUTED PROGRAM  **************************************
17  REM
98  REM THIS PROGRAM USES A TEST PROGRAM WHICH NEEDS TO BE LISTED
100  PRINT "YOU HAVE COME A LONG WAY SINCE YOU STARTED YOUR 'TUTOR' LESSONS."
110  PRINT "ALSO, YOU HAVE LEARNED A GREAT MANY TERMS WHICH OUR TIME-SHARING"
120  PRINT "SYSTEM USES. HERE IS A LIST OF THE 'BASIC' LANGUAGE STATEMENTS"
130  PRINT "AND SOME OF THE SYSTEM COMMANDS:"
140  PRINT 
150  PRINT "  (1) ALT MODE(ESC) (13) GO TO    (25) REM"
160  PRINT "    (2) BREAK       (14) IF       (26) PUNCH"
170  PRINT "    (3) BYE         (15) INPUT    (27) RENUMBER"
180  PRINT "    (4) CATALOG     (16) KEY      (28) RETURN"
190  PRINT "    (5) LIBRARY     (17) LENGTH   (29) RUN"
200  PRINT "    (6) DATA        (18) LET      (30) SAVE"
210  PRINT "    (7) DEF         (19) LIST     (31) SCRATCH"
220  PRINT "    (8) APPEND      (20) NEXT     (32) STEP"
230  PRINT "    (9) END         (21) NAME     (33) STOP"
240  PRINT "   (10) FOR         (22) GET      (34) TAPE"
250  PRINT "   (11) GO SUB      (23) PRINT    (35) THEN"
260  PRINT "   (12) DELETE      (24) READ     (36) KILL"
261  PRINT 
262  PRINT 
263  PRINT 
264  PRINT 
265  PRINT 
266  PRINT 
267  PRINT 
268  PRINT 
269  PRINT 
270  PRINT 
275  LET B=0
280  PRINT "WHICH ONE IS USED TO REQUEST NUMBERS FROM THE TTY"
290  PRINT " (TYPE IN THE CORRECT NUMBER)";
300  INPUT A
310  IF A=15 THEN 330
315  PRINT " NO, THE CORRECT ANSWER IS 'INPUT'. TRY ANOTHER."
320  GOTO 335
330  PRINT "RIGHT."
331  LET B=B+1
335  PRINT "WHICH ONE MUST BE THE LAST STATEMENT OF A PROGRAM";
340  INPUT A
345  IF A=9 THEN 360
350  PRINT " THE CORRECT ANSWER IS 'END'. NEXT ONE:"
355  GOTO 365
360  PRINT "GOOD."
361  LET B=B+1
365  PRINT "WHICH ONE IS USED FOR COMPUTATION";
370  INPUT A
375  IF A=18 THEN 400
380  PRINT "  THAT SHOULD BE 'LET'."
390  GOTO 405
400  PRINT "THAT'S RIGHT."
401  LET B=B+1
405  PRINT "WHICH ONE IS USED WITH 'FOR'";
410  INPUT A
415  IF A=20 THEN 430
420  PRINT "YOU SHOULD HAVE PICKED THE STATEMENT 'NEXT'."
425  GOTO 435
430  PRINT "O.K."
431  LET B=B+1
435  PRINT "WHICH ONE ALWAYS TRANSFERS CONTROL IN A PROGRAM";
440  INPUT A
445  IF A=13 THEN 460
450  PRINT "YOU MEAN 'GO TO'"
455  GOTO 465
460  PRINT "VERY GOOD."
461  LET B=B+1
465  PRINT "WHICH ONE IS USED WITH 'THEN'";
470  INPUT A
475  IF A=14 THEN 500
480  PRINT "YOU SHOULD HAVE PICKED 'IF'."
490  GOTO 505
500  PRINT "THAT'S RIGHT."
501  LET B=B+1
505  PRINT "WHICH ONE IS USED WITH 'READ'";
510  INPUT A
515  IF A=6 THEN 530
520  PRINT "NO, IT IS 'DATA'."
525  GOTO 535
530  PRINT "GOOD FOR YOU."
531  LET B=B+1
535  PRINT 
540  PRINT "THESE ARE 'BASIC' STATEMENTS WHICH DIFFER FROM 'SYSTEM'"
545  PRINT "COMMANDS IN THAT ALL 'BASIC' STATEMENTS ARE PRECEEDED BY"
550  PRINT "A LINE NUMBER. NOW LET'S LOOK AT THE SYSTEM COMMANDS:"
555  PRINT 
560  PRINT "WHICH ONE IS USED FOR COMBINING TWO PROGRAMS?"
565  INPUT A
570  IF A=8 THEN 600
580  PRINT "THE ANSWER IS 'APPEND'."
590  GOTO 605
600  PRINT "THAT'S RIGHT."
601  LET B=B+1
605  PRINT "WHICH ONE PUNCHES A TAPE OF THE PROGRAM BEING WORKED ON";
610  INPUT A
615  IF A=26 THEN 630
620  PRINT " YOU MEAN 'PUNCH'"
625  GOTO 635
630  PRINT " GOOD."
631  LET B=B+1
635  PRINT "WHICH ONE ALTERS LINE NUMBERS";
640  INPUT A
645  IF A=27 THEN 660
650  PRINT "  THE ANSWER IS 'RENUMBER'."
655  GOTO 670
660  PRINT "RIGHT."
661  LET B=B+1
670  PRINT 
680  PRINT 
700  PRINT "THAT'S";B;" OUT OF 10 RIGHT.  FOR NEW MATERIAL IN"
940  PRINT "THIS LESSON, LET'S CONTINUE WITH OUR SYSTEM COMMANDS - THOSE"
950  PRINT "THAT DON'T REQUIRE LINE NUMBERS. WE LOOKED CLOSELY AT ONLY"
960  PRINT "ONE - NUMBER 27 IN THE LIST ABOVE. YOU'LL REMEMBER THAT IT WAS"
970  PRINT "USED TO CHANGE THE LINE NUMBERS IN YOUR PROGRAM. SOMETIMES"
980  PRINT "YOU WILL WANT TO DELETE ENTIRE LINES. WHICH OF THE FOLLOWING"
990  PRINT "CAN BE USED TO DO THIS?"
1000  PRINT 
1010  PRINT "    (1) DEPRESS THE 'ESCAPE' KEY"
1020  PRINT 
1030  PRINT "    (2) TYPE THE LINE NUMBER ONLY"
1040  PRINT 
1050  PRINT "    (3) USE ONE OF THE ARROWS FOR EACH CHARACTER"
1060  PRINT 
1070  PRINT "    (4) ALL OF THE ABOVE METHODS"
1080  PRINT 
1090  PRINT "    (5) TWO OF THE ABOVE ANSWERS"
1100  PRINT 
1110  PRINT "    (6) NONE OF THE ABOVE ANSWERS"
1120  PRINT 
1130  PRINT "SELECT THE ONE BEST CHOICE AND TYPE ITS NUMBER. WHICH";
1140  INPUT E
1150  PRINT 
1160  IF E=4 THEN 1250
1170  PRINT "WRONG ANSWER. TYPE '99' IF YOU WANT ME TO TELL YOU. OTHERWISE"
1180  PRINT "TYPE ANYTHING ELSE FOR ANOTHER CHANCE AT THE ANSWER. SO";
1190  INPUT G
1200  PRINT 
1210  IF G=99 THEN 1300
1220  PRINT "WHICH ONE, THEN";
1230  GOTO 1140
1250  PRINT "VERY GOOD. ANY ONE WOULD WORK FOR DELETING A LINE. THERE IS"
1260  GOTO 1320
1300  PRINT "THE FIRST 3 WAYS ARE ALL VALID, SO THE ANSWER SHOULD BE '4'."
1310  PRINT "ANY OF THESE WAYS COULD BE USED TO DELETE LINES. THERE IS ALSO"
1320  PRINT "ONE MORE, AND THERE'S A GOOD REASON FOR IT BEING AVAILABLE."
1330  PRINT "ALL OF THE OTHER METHODS ARE RELATIVELY SLOW IF LARGE AMOUNTS"
1340  PRINT "OF THE PROGRAM ARE TO BE REMOVED - SUCH AS 11 OR 12 LINES OR A"
1350  PRINT "BLOCK OF LINES. THEREFORE THE SYSTEM MAKES AVAILABLE A WAY OF"
1360  PRINT "DOING THIS. IT IS WITH A COMMAND THAT LOOKS LIKE THIS:"
1370  PRINT 
1380  PRINT "  DELETE - XX,YY"
1390  PRINT 
1400  PRINT "'XX' AND 'YY' ARE LINE NUMBERS. ALL LINES BETWEEN "
1410  PRINT "AND INCLUDING 'XX' AND 'YY' ARE DELETED."
1420  PRINT "TRY IT BY TYPING IN A SMALL PROGRAM, DELETING A FEW LINES,"
1430  PRINT "AND GETTING A NEW 'LIST' OF THE PROGRAM."
1460  PRINT 
1470  PRINT " THE NEXT LESSON IS IN THE PROGRAM CALLED ";
1480  PRINT "  'TUT20'."
3000  END 
