1 REM **** HP BASIC PROGRAM LIBRARY ******************************* 2 REM 3 REM SLOPE: FINDS DERIVATIVES 4 REM 5 REM 36626 REV A 6/73 6 REM 7 REM **** CONTRIBUTED PROGRAM ************************************ 100 REM SECANT SLOPE OF A CURVE - Q. J. O'CONNOR 8-12-68 101 REM REVISED 8-7-70 (D. PESSEL) (COMBINATION OF SLCUQ AND DIFFQ) 102 REM IMPORTANT VARIABLES: S-SECANT SLOPE; P-PERCENT CHANGE; 103 REM D-CHANGE IN X; Y-CHANGE IN Y 105 LET S1=0 110 PRINT TAB(10);"SECANT SLOPE OF A CURVE - THE DERIVATIVE" 120 PRINT 130 PRINT "THIS PROGRAM CONSIDERS A FUNCTION OF X (Y=F(X)) WHICH IS" 131 PRINT "DIFFERENTIABLE AT X=A AND AT ALL POINTS IN THE INTERVAL" 132 PRINT "(A,A+1). THE VALUE OF THE DERIVATIVE AT X=A IS" 133 PRINT "APPROXIMATED THROUGH SECANT SLOPES." 134 PRINT 139 PRINT "AFTER THE PROGRAM STOPS, TYPE IN THE FOLLOWING:" 140 PRINT "(END EACH LINE, INCLUDING 'RUN', WITH A 'CARRIAGE RETURN')" 141 PRINT 142 PRINT " 1 GO TO 300" 143 PRINT " 300 DEF FNY(X)=....(YOUR FUNCTION OF X)...." 145 PRINT " RUN" 146 PRINT 147 PRINT "FOR EXAMPLE, TO FIND THE SLOPE OF THE EQUATION Y=X^3" 148 PRINT "YOU WOULD TYPE AS FOLLOWS:" 149 PRINT 150 PRINT " 1 GO TO 300" 151 PRINT " 300 DEF FNY(X)=X^3" 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 FNY(X)=X^3 305 PRINT "FOR WHAT VALUE OF A IS THE SLOPE TO BE EVALUATED"; 306 INPUT A 310 PRINT 311 PRINT "'CHANGE IN X' IS THE DISTANCE FROM 'A', AND 'CHANGE IN Y'" 312 PRINT "IS THE DISTANCE FROM 'F(A)' UPON WHICH THE SLOPE IS CALCU"; 313 PRINT "LATED." 316 PRINT 317 PRINT 320 PRINT "CHANGE IN X","CHANGE IN Y","SECANT SLOPE","% CHANGE IN SLOPE" 321 PRINT "------ -- -","------ -- -","------ -----","- ------ -- -----" 400 LET S1=0 410 FOR N=0 TO 11 420 LET D=2^N 430 LET Y=FNY(A+1/D)-FNY(A) 440 LET S=D*Y 444 IF S1>0 THEN 447 445 PRINT "1/"D,Y,S,"NO PREVIOUS VALUE" 446 GOTO 455 447 LET P=((ABS(S1-S))/S1)*100 450 PRINT "1/"D,Y,S,P 455 LET S1=S 460 NEXT N 470 PRINT 480 PRINT "*****" 490 PRINT 500 PRINT "DO YOU WISH TO USE A DIFFERENT VALUE OF X (1-YES, 0-N0)"; 501 INPUT Q2 502 IF Q2>0 THEN 305 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