10  REM ***  HP TIME-SHARED BASIC PROGRAM LIBRARY  *********************
11  REM
12  REM         TUT25:  TUTOR SERIES BASIC LANGUAGE PROGRAMMING COURSE,
13  REM                 (PART 25 OF 25)
14  REM         36139 (A810) REV A -- 7/71
15  REM
16  REM ***  CONTRIBUTED PROGRAM  **************************************
17  REM
100  GOTO 140
110  GOTO 410
120  GOTO 1020
130  GOTO 1240
140  PRINT "IN THIS PROGRAM, 'TUT25', WE'LL CONTINUE";
150  PRINT " OUR REVIEW LESSON, ONE PROGRAM"
160  PRINT "WHICH WOULD SOLVE THE ASSIGNED PROBLEM";
170  PRINT " IS THE FOLLOWING:"
180  PRINT 
190  PRINT "    100 INPUT P"
200  PRINT "    110 FOR I=1 TO 5"
210  PRINT "    120 READ A"
220  PRINT "    130 LET P=P+A"
230  PRINT "    140 NEXT I"
240  PRINT "    150 DATA (5 POSITIVE OR NEGATIVE VALUES)"
250  PRINT "    160 END"
260  PRINT 
270  PRINT "NOW LET'S SUPPOSE WE WANT TO COMBINE";
280  PRINT " THIS PROGRAM WITH THE PREVIOUS ONE,"
290  PRINT "SO THAT IMMEDIATELY PRECEDING THE AN";
300  PRINT "NUAL STATEMENT OF ACCOUNT, A DEPOSIT"
310  PRINT "OR WITHDRAWAL WAS MADE FOR THE FIRST";
320  PRINT " FIVE YEARS ONLY. TRY THIS WITH YOUR"
330  PRINT "OWN PROGRAM. FIRST, INSERT SOME STATEMENTS";
340  PRINT " FROM THE LATTER ONE INTO THE"
350  PRINT "PREVIOUS ONE IN THE PROPER PLACES.  THEN RUN";
360  PRINT " TO CHECK, AND CALL THIS "
370  PRINT "PROGRAM BACK IN.  TYPE '100'.  RETURN THE CARRIAGE.  RUN IT."
380  PRINT 
390  PRINT 
400  STOP 
410  PRINT "IF THE PROGRAM DID WHAT IT WAS SUPPO";
420  PRINT "SED TO DO, TYPE '1'; IF YOU WERE NOT"
430  PRINT "ABLE TO GET IT TO RUN SATISFACTORILY";
440  PRINT ", TYPE ANOTHER NUMBER. DID IT RUN AS"
450  PRINT "IT SHOULD";
460  INPUT C
470  PRINT 
480  IF C=1 THEN 1040
490  PRINT "I'LL HAVE TO USE MY OWN PROGRAMS TO ";
500  PRINT "ILLUSTRATE HOW THIS MERGING MIGHT BE"
510  PRINT "BROUGHT ABOUT. I ONLY NEED STATEMENTS 120, 130, AND"
520  PRINT "150 FROM MY LAST PROGRAM, AND I NEED TO INSERT THEM INTO"
530  PRINT "THE OTHER PROGRAM IMMEDIATELY FOLLOWING LINE 180. TO DO THIS"
540  PRINT "WE SAY:"
550  PRINT 
560  PRINT "    182 READ A"
570  PRINT "    184 LET P=P+A"
580  PRINT "    186 DATA (5 POSITIVE OR NEGATIVE VALUES)"
590  PRINT 
600  PRINT "LET'S NAME THE NEW PROGRAM 'RESULT' AND 'RENUMBER' IT STARTING WITH"
610  PRINT "NUMBER 100 AND INCREMENTING BY 10."
620  PRINT 
630  PRINT "IF WE NOW LIST THE NEW PROGRAM, THIS";
640  PRINT " IS WHAT WE'LL HAVE:"
650  PRINT 
660  PRINT "    100 PRINT''THE VALUE OF P IS'';"
670  PRINT "    110 INPUT P"
680  PRINT "    120 PRINT"
690  PRINT "    130 PRINT''YEAR NUMBER AND AMOUNT ARE GIVEN BELOW:''"
700  PRINT "    140 PRINT"
710  PRINT "    150 FOR I=1 TO 10"
720  PRINT "    160 FOR J=1 TO 4"
730  PRINT "    170 LET P=P+.01*P"
740  PRINT "    180 NEXT J"
750  PRINT "    190 READ A"
760  PRINT "    200 LET P=P+A"
770  PRINT "    210 DATA (5 POSITIVE OR NEGATIVE VALUES)"
780  PRINT "    220 PRINT I,P"
790  PRINT "    230 PRINT"
800  PRINT "    240 NEXT I"
810  PRINT "    250 END"
820  PRINT 
830  PRINT "ONE INSTRUCTION NEEDS TO BE INSERTED";
840  PRINT " SINCE WE ONLY WANT TO CHANGE 'P' IF"
850  PRINT "THE COUNTER 'I' LIES BETWEEN 1 AND 5.";
860  PRINT " SO WE CAN ADD:"
870  PRINT 
880  PRINT "    185 IF I>5 THEN 220"
890  PRINT 
900  PRINT "DO YOU FOLLOW THE PROGRAM? IF SO, TYPE";
910  PRINT " '1'; IF NOT, TYPE '9', PREPARE A"
920  PRINT "FLOW CHART OF THE PROGRAM, AND CALL ";
930  PRINT "THIS PROGRAM BACK IN. TYPE:"
940  PRINT 
950  PRINT "   DELETE-100,110"
960  PRINT 
970  PRINT "AND RE-RUN IT. DID YOU FOLLOW IT";
980  INPUT C
990  PRINT 
1000  IF C=1 THEN 1040
1010  STOP 
1020  PRINT "GOOD ENOUGH. YOU HAVE HAD A CHANCE T";
1030  GOTO 1050
1040  PRINT "THAT'S GOOD. YOU HAVE HAD A CHANCE T";
1050  PRINT "O REVIEW QUITE A NUMBER OF DIFFERENT"
1060  PRINT "STATEMENTS AND COMMANDS USED IN 'BAS";
1070  PRINT "IC', AND IN THE SYSTEM."
1080  PRINT 
1090  PRINT "BEFORE WE BRING THIS LESSON COMPLETE";
1100  PRINT "LY TO A CLOSE, HERE IS A PROBLEM YOU"
1110  PRINT "CAN TRY TO WORK OUT. THE LIMIT OF YO";
1120  PRINT "UR WORKING CORE IS FOR ALL PRACTICAL"
1130  PRINT "PURPOSES ABOUT 6000 CHARACTERS. SUPP";
1140  PRINT "OSE YOU HAD A PROGRAM, THE LENGTH OF"
1150  PRINT "WHICH WAS APPROXIMATELY 11000 CHARAC";
1160  PRINT "TERS LONG. HOW COULD YOU SOLVE THIS?"
1170  PRINT "TRY TO FIND A WAY. FOR MY SOLUTION. ";
1180  PRINT "USE THIS PROGRAM, BUT TYPE:"
1190  PRINT 
1200  PRINT "   DELETE-100,120"
1210  PRINT 
1220  PRINT "BEFORE YOU RUN IT."
1230  STOP 
1240  PRINT "OBVIOUSLY YOU WOULD HAVE TO MAKE TWO";
1250  PRINT " PROGRAMS OUT OF THE ONE. BOTH WOULD"
1260  PRINT "PROBABLY BE ABOUT 5000 TO 5500 CHARA";
1270  PRINT "CTERS LONG. AT THE END OF ONE, EVERY"
1280  PRINT "NUMERICAL VALUE STILL NEEDED COULD B";
1290  PRINT "E TRANSFERRED TO THE OTHER, BY USING"
1300  PRINT "'COMMON' STATEMENTS. THE FORM OF THE 'COM' STATEMENT IS:"
1310  PRINT 
1320  PRINT "    100 COM A(50),B(50)"
1330  PRINT 
1340  PRINT "IF THIS IS THE 'COM' STATEMENT IN MY FIRST PROGRAM, I COULD"
1350  PRINT "HAVE ONE IN MY SECOND PROGRAM THAT LOOKS LIKE"
1360  PRINT 
1370  PRINT "    100 COM A(25),B(25),C(25),D(25)"
1380  PRINT 
1390  PRINT "AND 'A' IN MY SECOND PROGRAM WOULD REFER TO THE SAME"
1400  PRINT "DATA CONTAINED IN THE FIRST HALF OF 'A' IN PROGRAM ONE."
1410  PRINT "LIKEWISE, 'B' IN PROG. 2 WOULD REFER TO THE SECOND HALF OF 'A'"
1420  PRINT "IN 1, 'C' IN 2 TO FIRST HALF OF 'B' IN 1, AND 'D' IN 2 TO THE "
1430  PRINT "SECOND HALF OF 'B' IN 1."
1440  PRINT "TRY IT SOMETIME."
1450  PRINT 
1460  PRINT 
1470  PRINT "THIS ENDS THE TUTOR SERIES. GLAD TO HAVE HAD YOU IN THE CLASS."
1480  PRINT "BYE"
1490  END 
