Compucolor.org – Virtual Media

Listing of file='POLYG3.BAS;01' on disk='vmedia/chip_36-sector.ccvf'

1 REM       GRAPHING POLYNOMIAL             MAY 7, 1981
2 REM
3 REM       PROVIDES A GRAPH OF A POLYNOMIAL FOR -5<=X<=5
4 REM       BEST USE IS FOR THIRD DEGREE POLYNOMIALS
5 REM      16K COMPUCOLOR
6 REM
9 REM      PROGRAM WRITTEN BY DARLENE JAMES, STUDENT TEACHER
10 REM     UNDER THE DIRECTION OF MARJORIE A. FITTING
11 REM     PROFESSOR OF MATHEMATICS AND COMPUTER SCIENCE
12 REM     SAN JOSE STATE UNIVERSITY, SAN JOSE, CA 95192
20 REM
21 REM "______________________________"
22 REM "!       SAN MATEO COUNTY      !"
23 REM "!     OFFICE OF EDUCATION     !"
24 REM "!             &               !"
25 REM "!  COMPUTER-USING EDUCATORS   !"
26 REM "!                             !"
27 REM "!          SOFTSWAP           !"
28 REM "!                             !"
29 REM "!333 MAIN STREET, REDWOOD CITY!"
30 REM "!CA 94063 (415)364-5600 EX4401!"
31 REM "_______________________________"
40 REM "_______________________________"
41 REM "! PROGRAMS MAY BE COPIED FOR  !"
42 REM "! EDUCATIONAL USE ONLY AND    !"
43 REM "! ARE NOT TO BE SOLD.         !"
44 REM "!!"
50 REM
60 REM
70 REM      USER ENTERS DEGREE OF POLYNOMIAL TO BE EVALUATED
71 REM      AND THE COEFFICIENTS OF EACH TERM FROM HIGHEST TO LOWEST
72 REM       PROGRAM PROVIDES A GRAPH IN THE RANGE OF -5<=X<=5
73 REM       Y-VALUES ARE SCALED TO FIT ON THE CRT SCREEN.
90 PRINT CHR$ (12):PRINT "       ";
100 PRINT "HI! I'M POLYGRAPH, AND I WILL HELP YOU GRAPH POLYNOMIALS"
110 PRINT "
120 F= 0
170 DIM M(2)
180 DIM B(40)
190 DIM A(10)
195 PLOT 3,0,4
196 FOR K= 1TO 2:M(K)= 0:NEXT K
197 FOR K= 1TO 10:A(K)= 0:NEXT K
198 FOR K= 1TO 40:B(K)= 0:NEXT K
200 INPUT "WHAT IS THE HIGHEST DEGREE OF YOUR POLYNOMIAL? ";N
210 PRINT "ENTER THE COEFFICIENTS OF EACH TERM."
220 FOR K= 0TO N
230 PRINT :PRINT " X ^ ";N- K;
240 INPUT " COEFFICIENT?    ";A(N- K)
250 NEXT K
260 FOR Z= 1TO 40
270 X= Z/ 4- 5
320 T= 0
330 FOR K= NTO 0STEP - 1
340 T= T* X+ A(K)
350 NEXT K
360 B(Z)= T
370 NEXT Z
380 IF F> 0THEN GOTO 500
390 M(2)= B(1):M(1)= B(1)
400 FOR Z= 1TO 40
410 IF B(Z)< M(1) THEN  M(1)= B(Z)
420 IF B(Z)> M(2) THEN  M(2)= B(Z)
430 NEXT Z
440 M= M(2)- M(1):H= (M(2)+ M(1))/ 2* 100/ M
445 PLOT 20
450 FOR X= 0TO 127
460 PLOT 2,253,X,63- H,255
470 PLOT 2,253,63,X,255
480 NEXT X
500 FOR Z= 1TO 40
510 U= Z/ 4- 5
520 V= B(Z)
530 X= 63+ U* 2000/ M
540 Y= 63- H+ V* 100/ M
545 PLOT F+ 17
547 IF X< 0OR X> 127THEN GOTO 560
548 IF Y< 0OR Y> 127THEN GOTO 560
550 PLOT 2,253,X,Y,255
560 NEXT Z
600 PLOT 3,0,29
610 INPUT "DO YOU WISH TO TRY ANOTHER? ";Y$
620 F= F+ 1
690 IF Y$> = "Y"THEN GOTO 195
700 LOAD "MENU":RUN
800 END