10  REM ***  HP TIME-SHARED BASIC PROGRAM LIBRARY  **********************
11  REM
12  REM         EXPNTL:  CAI IN SIMPLE EXPONENTIAL FUNCTIONS OF TIME
13  REM
14  REM         36148 (A820) REV A -- 7/71
15  REM
16  REM ***  CONTRIBUTED PROGRAM  ***************************************
17  REM
100  PRINT "COMPUTER AIDED PRACTICE IN IDENTIFICATION OF SIMPLE"
110  PRINT "  EXPONENTIAL FUNCTIONS OF TIME;"
120  PRINT "  PREPARED BY C.M. SIEGEL, DEC. 4, 1970 (REV. 1/3/71)."
130  PRINT ""
133  DIM M[8]
140  GOSUB 5000
141  M[1]=F
142  M[2]=A-F
143  M[3]=T9
144  M[4]=T9
145  M[5]=T9*ABS(A-F)
146  M[6]=M[5]
147  M[7]=.368
148  M[8]=T9
150  PRINT "THE HOR. LINE IS THE FINAL VALUE ASYMPTOTE."
160  PRINT 
165  PRINT "TEAR THIS OFF FOR MEASURING."
166  PRINT ""
170  PRINT "GIVEN THE FUNCTION,  B + A * EXP(-T/T.C.),"
180  PRINT "  PLOTTED AS ABOVE,"
400  REM
450  FOR I=1 TO 8
460  GOSUB I OF 6000,6100,6200,6300,6400,6500,6600,6700
470  B1=M[I]
490  GOSUB 4000
500  NEXT I
600  GOTO 9900
4000  T=0
4010  INPUT B2
4015  IF B1=0 AND B2#0 AND T=0 THEN 4070
4016  IF B1=0 AND B2#0 AND T=1 THEN 4060
4017  IF B1=0 AND B2=0 THEN 4110
4018  GOSUB 4500
4020  IF ABS((B1-B2)/B1)>C1 THEN 4060
4030  IF ABS((B1-B2)/B1)<C2 THEN 4110
4040  PRINT "YOU ARE NOT FAR OFF; "
4050  GOTO 4070
4060  PRINT "TOO FAR WRONG; "
4070  T=T+1
4080  IF T=2 THEN 4120
4090  PRINT "-------TRY AGAIN.";
4100  GOTO 4010
4110  PRINT "CLOSE ENOUGH, ";
4120  PRINT "(";B1;")"
4125  PRINT 
4130  RETURN 
4500  C1=.05
4510  C2=.02
4520  IF I#3 THEN 4600
4530  C2=1/T9+.07
4540  C1=2.5*C2
4600  RETURN 
5000  GOSUB 5250
5010  DIM A$[39],B$[39],Z$[39]
5020  A$="  ^                                    "
5030  B$=" 0^----'----'----'----'----'----'----'-"
5040  PRINT ""
5050  FOR H=10 TO -10 STEP -1
5060  Z$=A$
5070  IF H#10 THEN 5090
5080  Z$[1,3]="10-"
5090  IF H#5 THEN 5110
5100  Z$[1,3]=" 5-"
5110  IF H#0 THEN 5130
5120  Z$=B$
5130  IF H#-5 THEN 5150
5140  Z$[1,3]="-5-"
5150  IF H#-10 THEN 5170
5160  Z$[1,3]="  -"
5170  IF H#F OR H=0 THEN 5210
5180  Z$[4,39]="------------------------------------"
5190  S=39
5200  GOTO 5220
5210  S=3
5220  S1=1
5230  FOR J=3 TO 39
5240  GOTO 5300
5250  A=INT(20*RND(8)+.99)-10
5260  F=INT(20*RND(8)+.99)-10
5270  IF ABS(A-F)<8 THEN 5260
5280  T9=INT(20*RND(8)+.99)+10
5290  RETURN 
5300  E=.2*(1-J/40)
5310  IF ABS(F+(A-F)*EXP((-1)*(J-3)/T9)-H)<E THEN 5330
5320  GOTO 5340
5330  GOSUB 5430
5340  REM
5350  NEXT J
5360  REM
5370  IF H#0 AND H#F THEN 5400
5380  PRINT Z$[1,39]
5390  GOTO 5410
5400  PRINT Z$[S1,S]
5410  NEXT H
5420  GOTO 5460
5430  Z$[J,J]="+"
5440  S=J
5450  RETURN 
5460  RETURN 
6000  PRINT "WHAT ARE THE VALUES"
6010  PRINT "  1.  OF B";
6020  RETURN 
6100  PRINT "  2.  OF A";
6150  RETURN 
6200  PRINT "  3.  OF T.C.";
6250  RETURN 
6300  PRINT "DRAW A TANGENT TO THE CURVE AT T=0;"
6310  PRINT "  4.  AT WHAT VALUE OF T DOES THAT TANGENT INTERSECT"
6320  PRINT "      THE FINAL VALUE ASYMPTOTE";
6350  RETURN 
6400  PRINT "  5.  WITH THIS MUCH OF THE ASYMPTOTE AS BASE, FORM"
6410  PRINT "      A RECTANGLE WITH HEIGHT EXTENDING (UP OR DOWN)"
6420  PRINT "      TO THE INITIAL HEIGHT OF THE GIVEN CURVE."
6430  PRINT "      WHAT IS ITS AREA";
6450  RETURN 
6500  PRINT "  6.  WHAT IS THE AREA ENCLOSED BY THE VERTICAL AXIS,"
6510  PRINT "      THE ASYMPTOTE AND CURVE FOR ALL POSITIVE T";
6550  RETURN 
6600  PRINT "7.  AS A FRACTION OF A, HOW FAR IS THE CURVE FROM ITS"
6610  PRINT "    ASYMPTOTE WHEN T HAS THE VALUE GIVEN BY THE ANSWER"
6620  PRINT "    TO 4, ABOVE";
6650  RETURN 
6700  PRINT "DRAW A TANGENT TO THE CURVE AT T DIFFERENT FROM ZERO."
6710  PRINT "  8.  HOW MUCH MUST T INCREASE BEYOND THIS FOR THIS"
6720  PRINT "      TANGENT TO REACH THE ASYMPTOTE";
6750  RETURN 
9900  END 
