5  REM ****  HP TIME-SHARED BASIC PROGRAM LIBRARY  ********************
7  REM
9  REM            VLOCTY:  INSTANTANEOUS VELOCITY
11  REM
13  REM            36323 (A833)  REV A -- 10/71
15  REM
17  REM ****  CONTRIBUTED PROGRAM  *************************************
50  REM - VLOCTY - COPYRIGHT 1971, POLYTECHNIC INSTITUTE OF BROOKLYN
100  REM VELOCITY, J. HOSIE, Q. J. O'C0NN0R, 8/12/68
101  REM REVISED 8/26/70 (D. PESSEL)
102  REM IMPORTANT VARIABLES:  S-SECANT SLOPE; P-PERCENT CHANGE;
103  REM D-INVERSE OF CHANGE IN X; Y-CHANGE IN Y
104  REM SEE SLOPE FOR A MORE THEORETICAL APPROACH TO THE SAME PROBLEM
105  LET S1=0
110  PRINT TAB(10);"AVERAGE AND INSTANTANEOUS VELOCITY"
120  PRINT 
130  PRINT "THIS PROGRAM CONSIDERS DISTANCE AS A FUNCTION OF TIME,"
131  PRINT "D=F(T).  IT WILL CALCULATE THE AVERAGE VELOCITY DURING"
132  PRINT "THE TIME INTERVAL T1,T2 BY EVALUATING D AT THOSE TIMES"
133  PRINT "GIVING D1 AND D2.  THE RESULT OF (D2-D1)/(T2-T1) YIELDS"
134  PRINT "THE AVERAGE VELOCITY.  AS T2 IS BROUGHT CLOSER AND CLOSER"
135  PRINT "TO T1 THE RESULTANT AVERAGE VELOCITY WILL APROACH THE"
136  PRINT "INSTANTANEOUS VELOCITY AT T1."
138  PRINT 
139  PRINT "AFTER THE PROGRAM STOPS, TYPE IN THE FOLLOWING:"
140  PRINT "(END EACH LINE, INCLUDING 'RUN', WITH THE 'RETURN' KEY)"
141  PRINT 
142  PRINT "          1 GO TO 300"
143  PRINT "          300 DEF FND(T)=....(YOUR FUNCTION OF TIME)...."
145  PRINT "          RUN"
146  PRINT 
147  PRINT "FOR EXAMPLE, TO USE THE EQUATION D=A*T*T WITH A=1"
148  PRINT "YOU WOULD TYPE AS FOLLOWS:"
149  PRINT 
150  PRINT "          1 GO TO 300"
151  PRINT "          300 DEF FND(T)=1*T*T"
153  PRINT "          RUN"
154  PRINT 
155  PRINT "YOU MIGHT TRY THAT AS YOUR FIRST RUN."
156  PRINT "FOR SUBSEQUENT RUNS, YOU NEED ONLY CHANGE LINE 300 FOR"
157  PRINT "A NEW FUNCTION, FOLLOWED BY 'RUN'."
160  STOP 
290  REM CALCULATION OF SLOPE AND PRINTOUT
300  DEF FND()=1**
301  PRINT 
302  PRINT "*****"
303  PRINT 
305  PRINT "WHAT ARE YOUR VALUES OF T1 AND T2 (SMALLER FIRST: T1,T2)";
306  INPUT T1,T2
307  IF T2>T1 THEN 310
308  PRINT "T2 MUST BE GREATER THAN T1!"
309  GOTO 305
310  PRINT 
311  PRINT "THE DISTANCE TRAVELED DURING THE INTERVAL IS "FND(T2)-FND(T1)
312  PRINT "THE AVERAGE VELOCITY IS "(FND(T2)-FND(T1))/(T2-T1)
313  PRINT 
314  PRINT "WOULD YOU LIKE TO CHANGE T2 (1-YES, 0-NO)";
315  INPUT Q1
316  IF Q1<1 THEN 330
317  PRINT "WHAT IS YOU NEW VALUE FOR T2 (T2 MUST BE GREATER THAN T1)";
318  INPUT T2
319  IF T2>T1 THEN 310
320  PRINT "T2 MUST BE GREATER THAN T1!"
321  GOTO 317
330  PRINT 
331  PRINT "NOW WATCH THE AVERAGE VELOCITY AS T2 APPROACHES T1."
335  PRINT 
344  LET D1=FND(T1)
345  PRINT " T1 = "T1," "," D1 = "FND(T1)
346  PRINT 
350  PRINT " T2"," T2-T1"," D2"," D2-D1"," (D2-D1)/(T2-T1)"
352  PRINT " --"," -----"," --"," -----"," ---------------"
361  LET D2=FND(T2)
370  PRINT T2,T2-T1,D2,D2-D1,(D2-D1)/(T2-T1)
380  IF ABS(T2-T1)<.001 THEN 390
382  LET T2=T2-.5*(T2-T1)
384  GOTO 361
390  PRINT 
400  PRINT "NOTE THAT THE AVERAGE VELOCITY CHANGES VERY LITTLE"
401  PRINT "AS T2 APPROACHES T1.  T2 CAN NEVER EQUAL T1 SINCE"
402  PRINT "(D2-D1)/(T2-T1) WOULD THEN RESULT IN A DIVISION BY ZERO."
470  PRINT 
480  PRINT "*****"
490  PRINT 
495  PRINT "WOULD YOU LIKE TO TRY DIFFERENT VALUES OF T1 AND T2"
496  PRINT "(1-YES, 0-NO)";
498  INPUT Q5
500  IF Q5>0 THEN 300
510  PRINT "TO CHANGE YOUR FUNCTION SEE THE INSTRUCTIONS."
520  PRINT "IF YOU ARE FINISHED, TYPE '1', AND THE 'RETURN' KEY"
530  PRINT "AFTER THE PROGRAM STOPS."
540  END 
