1  REM  ****  HP BASIC PROGRAM LIBRARY  *******************************
2  REM
3  REM        LINES:  CONVERSATIONAL COMPUTER GENERATED CALCULUS QUIZ
4  REM
5  REM        36700 REV  A   10/73
6  REM
7  REM  ****  CONTRIBUTED PROGRAM  ************************************
8  PRINT "TYPE ANSWER TO EACH QUESTION,THEN PRESS RETURN KEY."
9  PRINT "FRACTIONAL VALUES MUST BE ENTERED IN DECIMAL FORM - ONE"
10  PRINT "              DECIMAL PLACE IS O.K."
11  C=0
20  DIM X[17]
30  FOR N=1 TO 17
40  LET X[N]=INT(20*RND(N)-9)
50  NEXT N
51  IF X[1] <> X[3] THEN 60
52  X[3]=INT(20*RND(1)-9)
53  GOTO 51
60  PRINT "GIVEN THE POINTS ("X[1]","X[2]"),AND ("X[3]","X[4]"), "
61  PRINT "   WHAT IS THE SLOPE OF THE LINE PASSING THROUGH THESE POINTS";
70  INPUT A
80  LET M=(X[4]-X[2])/(X[3]-X[1])
90  IF ABS(A-M)<.1 THEN 120
100  PRINT "CORRECT ANSWER IS"INT(10*(M+.05))/10
110  GOTO 140
120  PRINT "CORRECT"
130  C=C+1
140  PRINT "WHAT IS THE SLOPE OF THE STRAIGHT LINE WHOSE EQUATION IS"
141  PRINT "      Y = "X[5]"X + "X[6];
150  INPUT A
160  IF A=X[5] THEN 190
170  PRINT "CORRECT ANSWER IS"X[5]
180  GOTO 201
190  PRINT "CORRECT"
200  C=C+1
201  IF X[8] <> 0 THEN 210
202  X[8]=INT(20*RND(1)-9)
203  GOTO 201
210  PRINT "WHAT IS THE SLOPE OF THE LINE WHOSE EQUATION IS"
211  PRINT X[7]"X + "X[8]"Y = "X[9];
220  INPUT A
230  M=-X[7]/X[8]
240  IF ABS(A-M)<.1 THEN 270
250  PRINT "CORRECT ANSWER IS"INT(10*(M+.05))/10
260  GOTO 290
270  PRINT "CORRECT"
280  C=C+1
290  PRINT "WHAT IS THE Y-INTERCEPT OF THE ABOVE LINE";
300  INPUT A
310  B=X[9]/X[8]
320  IF ABS(A-B)<.1 THEN 350
330  PRINT "CORRECT ANSWER IS"INT(10*(B+.05))/10
340  GOTO 361
350  PRINT "CORRECT"
360  C=C+1
361  IF X[11] <> 0 THEN 365
362  X[11]=INT(20*RND(1)-9)
363  GOTO 361
365  IF X[10] <> 0 THEN 370
366  X[10]=INT(20*RND(1)-9)
367  GOTO 365
370  PRINT "THE LINE L HAS EQUATION"X[10]"X + "X[11]"Y ="X[12]
371  PRINT "WHAT IS THE VALUE OF X AT WHICH L CROSSES THE X-AXIS";
375  INPUT A
376  B=X[12]/X[10]
378  IF ABS(A-B)<.1 THEN 382
379  PRINT "CORRECT ANSWER IS"INT(10*(B+.05))/10
380  GOTO 384
382  PRINT "CORRECT"
383  C=C+1
384  PRINT "WHAT IS THE VALUE OF Y AT WHICH L CROSSES THE Y-AXIS";
386  INPUT A
387  B=X[12]/X[11]
388  IF ABS(A-B)<.1 THEN 391
389  PRINT "CORRECT ANSWER IS"INT(10*(B+.05))/10
390  GOTO 394
391  PRINT "CORRECT"
392  C=C+1
394  PRINT "GIVEN THAT THE POINT P IS ON L AND THAT THE X-COORDINATE"
395  PRINT "OF P IS"X[13]", WHAT IS THE Y-COORDINATE OF P";
396  INPUT A
398  B=(X[12]-X[10]*X[13])/X[11]
400  IF ABS(A-B)<.1 THEN 430
410  PRINT "CORRECT ANSWER IS"INT(10*(B+.05))/10
420  GOTO 441
430  PRINT "CORRECT"
440  C=C+1
441  IF X[14] <> 0 THEN 450
442  X[14]=INT(20*RND(1)-9)
443  GOTO 441
450  PRINT "CONSIDER THE STRAIGHT LINE WHOSE EQUATION IS"
451  PRINT "       Y ="X[14]"X + "X[15]" .  "
452  PRINT "WHAT IS THE SLOPE OF A LINE PASSING THROUGH THE POINT"
453  PRINT "P ("X[16]","X[17]")  WHICH IS PERPENDICULAR TO THE"
454  PRINT "GIVEN LINE";
460  INPUT A
470  M=-1/X[14]
480  IF ABS(A-M)<.1 THEN 510
490  PRINT "CORRECT ANSWER IS"INT(10*(M+.05))/10
500  GOTO 530
510  PRINT "CORRECT"
520  C=C+1
530  PRINT 
540  PRINT "YOU HAVE ANSWERED"C"QUESTIONS CORRECTLY OUT OF A TOTAL OF"
541  PRINT " 8 QUESTIONS."
550  IF C<8 THEN 580
560  PRINT "VERY GOOD"
570  GOTO 999
580  IF C<7 THEN 610
590  PRINT "GOOD"
600  GOTO 999
610  IF C<4 THEN 650
620  PRINT "YOU SHOULD PRACTICE A LITTLE MORE.  RUN THE PROGRAM AGAIN"
621  PRINT "EITHER NOW OR AFTER REVIEWING THE MATERIAL."
630  GOTO 999
650  PRINT "RE-STUDY THE TEXT MATERIAL, THEN COME BACK AND RUN THE"
651  PRINT "PROGRAM AGAIN."
999  END 
