1  REM ****  HP BASIC PROGRAM LIBRARY  ******************************
2  REM
3  REM       POLSUB: POLYNOMIAL SUBTRACTION
4  REM
5  REM       36239 REV A
6  REM
7  REM ****  CONTRIBUTED PROGRAM  ***********************************
10  REM ******************PROGRAMMER: M.S. BOLDUAN*****************
20  REM ******************ALG 1 : POLYNOMIAL SUBTRACTION***********
30  PRINT "DO YOU WANT DIRECTIONS";
40  DIM A$[10]
50  INPUT A$
60  IF A$="NO" THEN 140
70  PRINT "NOW LET'S SUBTRACT SOME POLYNOMIALS. WHEN YOU ARE ASKED FOR"
80  PRINT "YOUR ANSWER YOU ARE TO SUBTRACT POLYNOMIAL NO. 2 FROM"
90  PRINT "POLYNOMIAL NO. 1 . AFTER EACH QUESTION MARK YOU ARE TO TYPE IN"
100  PRINT "THE COEFFICIENTS OF YOUR ANSWER STARTING WITH THE COEFFICIENT"
110  PRINT "OF THE HIGHEST DEGREE TERM AND GOING IN DESCENDING ORDER."
120  PRINT "IF A COEFFICIENT IS ZERO, YOU MUST TYPE IN A ZERO FOR IT."
130  PRINT "AFTER EACH COEFFICIENT BE SURE TO HIT THE 'RETURN' KEY."
140  PRINT "HERE WE GO. GOOD LUCK!"
150  DIM Q[20],D[20],R[20]
160  W=X=0
170  PRINT "HOW MANY PROBLEMS DO YOU WANT TO TRY";
180  INPUT N
190  D=INT(RND(X)*4)+1
200  FOR T=1 TO D+1
210  S=INT(RND(X)*2)
220  IF S=0 THEN 250
230  Q[T]=INT(RND(X)*50)
240  GOTO 260
250  Q[T]=-1*INT(RND(X)*10)
260  NEXT T
270  PRINT "HERE ARE THE POLYNOMIALS:"
280  Z=D
290  FOR T=1 TO D+1
300  IF D=1 THEN 760
310  PRINT Q[T];"*X^";Z;"+";
320  Z=Z-1
330  IF Z=1 THEN 760
340  NEXT T
350  FOR T=1 TO D+1
360  S=INT(RND(X)*2)
370  IF S=0 THEN 400
380  R[T]=INT(RND(X)*50)
390  GOTO 410
400  R[T]=INT(RND(X)*10)
410  NEXT T
420  PRINT 
430  Z=D
440  FOR T=1 TO D+1
450  IF D=1 THEN 780
460  PRINT R[T];"*X^";Z;"+";
470  Z=Z-1
480  IF Z=1 THEN 780
490  NEXT T
500  PRINT '10"ANSWER PLEASE."
510  FOR I=1 TO D+1
520  INPUT A[I]
530  NEXT I
540  PRINT 
550  FOR J=1 TO D+1
560  IF A[J]#Q[J]-R[J] THEN 630
570  NEXT J
580  PRINT "RIGHT!"
590  W=W+1
600  X=X+1
610  IF X=N THEN 680
620  GOTO 190
630  PRINT "SORRY,WRONG!"
640  X=X+1
650  IF X=N THEN 680
660  GOTO 190
670  PRINT 
680  PRINT "YOU DID ";X;"SUBTRACTIONS AND GOT ";W"RIGHT. THIS "
690  PRINT "IS ";(W/X)*100;"PER CENT CORRECT."
700  IF (W/X)*100<80 THEN 730
710  PRINT "NOT BAD! LOOKS LIKE YOU'VE GOT IT NOW."
720  GOTO 750
730  PRINT "I THINK YOU'D BETTER RE-STUDY THE RULES FOR SUBTRACTION"
740  PRINT "AND THEN TRY ME AGAIN. I'LL BE WAITING. BYE!"
750  END 
760  PRINT Q[D];"*X + ";Q[D+1]
770  GOTO 350
780  PRINT R[D];"*X + ";R[D+1]
790  GOTO 500
800  END 
