Math

Date: 198x
Type: Program
Platform(s): TS 1000

Content

Appears On

Assembled by Tim Ward from many sources. Contains programs 10211 – 10251.

Related Products

Related Articles

Related Content

Image Gallery

Math

Source Code

   2 SLOW 
   5 REM "FROM BOOK BY ING. WINFRIED HOFACKER PUBLISHING COMPANY"
  10 CLEAR 
  15 CLS 
  20 PRINT "WELCOME TO MATHEMATICS"
  25 PRINT 
  30 PRINT "PRESS DESIRED SELECTION NUMBER"
  35 PRINT 
  40 PRINT "1> LARGEST COMMON DIVISOR"
  45 PRINT 
  50 PRINT "2> SMALLEST COMMON MULTIPLE" 
  55 PRINT 
  60 PRINT "3> PRIME FACTORING OF NUMBERS"
  65 PRINT 
  70 PRINT "4> QUADRATIC EQUATION"
  75 PRINT 
  80 PRINT "5> ZEROES OF A FUNCTION"
  85 PRINT 
  90 PRINT "6> VALUE OF A FUNCTION"
  95 PRINT 
 100 PRINT "7> POLYNOMIAL"
 105 PRINT 
 110 PRINT "8> PLOT OF FUNCTIONS"
 120 PRINT AT 21,4;" RUN IN SLOW MODE"
 150 GOSUB 8800
 155 IF W=1 THEN GOTO 200
 160 IF W=2 THEN GOTO 400
 165 IF W=3 THEN GOTO 700
 170 IF W=4 THEN GOTO 1000
 175 IF W=5 THEN GOTO 1300
 180 IF W=6 THEN GOTO 1800
 185 IF W=7 THEN GOTO 2100
 190 IF W=8 THEN GOTO 2500
 200 CLS 
 205 CLEAR 
 208 PRINT "LARGEST COMMON DIVISOR"
 209 PRINT 
 210 PRINT "A=";
 220 INPUT A
 230 PRINT A
 240 PRINT "B=";
 250 INPUT B
 260 PRINT B
 270 LET Q=INT (A/B)
 280 LET R=A-Q*B
 290 LET A=B
 300 LET B=R
 310 IF R>0 THEN GOTO 270
 320 PRINT "LCD=";A
 325 GOSUB 9000
 330 GOTO 200
 400 CLS 
 405 CLEAR 
 408 PRINT "SMALLEST COMMON MULTIPLE"
 409 PRINT 
 410 PRINT "A=";
 420 INPUT A
 430 PRINT A
 440 PRINT "B=";
 450 INPUT B
 460 PRINT B
 470 PRINT "C=";
 480 INPUT C
 490 PRINT C
 500 LET X=A
 510 IF INT (X/A)=X/A THEN GOTO 540
 520 LET X=X+1
 530 GOTO 510
 540 IF INT (X/B)=X/B THEN GOTO 570
 550 LET X=X+1
 560 GOTO 510
 570 IF INT (X/C)=X/C THEN GOTO 600
 580 LET X=X+1
 590 GOTO 510
 600 PRINT "SCM=";X
 610 GOSUB 9000
 620 GOTO 400
 700 CLS 
 705 CLEAR 
 708 PRINT "PRIME FACTORING OF NUMBERS"
 710 PRINT 
 720 PRINT "NUMBER=";
 730 INPUT Z
 740 PRINT Z
 750 PRINT Z;"=";
 760 IF Z<0 THEN PRINT "-";
 770 PRINT "1";
 800 LET Z=ABS Z
 805 LET E=Z
 808 LET T=1
 810 FOR I=2 TO Z
 820 LET N=0
 830 IF Z/I<>INT (Z/I) THEN GOTO 870
 840 LET Z=Z/I
 850 LET N=N+1
 860 GOTO 830
 870 IF N=0 THEN GOTO 900
 880 FOR J=1 TO N
 885 PRINT "*";I;
 887 LET T=T*I
 888 IF T=E THEN GOTO 910
 890 NEXT J
 900 NEXT I
 910 PRINT 
 920 GOSUB 9000
 930 GOTO 700
\n1000 CLS 
\n1002 CLEAR 
\n1004 PRINT "QUADRATIC EQUATION"
\n1006 PRINT 
\n1008 PRINT "A*X*X+B*X+C=0"
\n1010 PRINT "A=";
\n1020 INPUT A
\n1030 PRINT A
\n1040 PRINT "B=";
\n1050 INPUT B
\n1060 PRINT B
\n1070 PRINT "C=";
\n1080 INPUT C
\n1090 PRINT C
\n1100 LET Q=B*B-4*A*C
\n1110 IF Q<0 THEN GOTO 1200
\n1120 LET Q=SQR Q/(2*A)
\n1130 LET C=-B/(2*A)
\n1140 LET X1=C+Q
\n1145 PRINT "X1=";
\n1150 PRINT X1
\n1160 LET X2=C-Q
\n1165 PRINT "X2=";
\n1170 PRINT X2
\n1180 GOSUB 9000
\n1190 GOTO 1000
\n1200 PRINT "NO REAL SOLUTION"
\n1210 GOSUB 9000
\n1220 GOTO 1000
\n1300 CLS 
\n1302 CLEAR 
\n1304 PRINT "ZEROES OF A FUNCTION"
\n1305 PRINT 
\n1306 REM "FUNCTION IS FCT"
\n1308 REM "SEARCHING FOR ZEROES IS SFZ"
\n1310 FAST 
\n1312 PRINT "XA=";
\n1315 INPUT XA
\n1320 PRINT XA
\n1330 PRINT "XE=";
\n1340 INPUT XE
\n1350 PRINT XE
\n1360 PRINT "H=";
\n1370 INPUT H
\n1380 PRINT H
\n1390 PRINT "EPS=";
\n1400 INPUT E
\n1410 PRINT E
\n1420 LET FCT=1610
\n1430 LET SFZ=1640
\n1440 LET X=XA
\n1450 GOSUB FCT
\n1460 LET YA=Y
\n1470 LET XA=X
\n1480 LET X=XA+H
\n1490 IF X>XE THEN GOTO 1760
\n1500 GOSUB FCT
\n1510 IF SGN Y=SGN YA THEN GOTO 1580
\n1520 LET YN=Y
\n1530 LET XN=X
\n1540 GOSUB SFZ
\n1550 PRINT "ZERO AT POSITION X=";X
\n1560 IF X<XE THEN LET X=X+E
\n1570 GOTO 1450
\n1580 LET YA=Y
\n1590 LET XA=X
\n1600 GOTO 1480
\n1610 REM FCT
\n1620 LET Y=X*X*X-4*X*X-11*X+30
\n1630 RETURN 
\n1640 REM SFZ
\n1650 IF ABS (Y)<E THEN RETURN 
\n1660 LET X=(XN-XA)/2+XA
\n1670 GOSUB FCT
\n1680 IF ABS Y<E THEN RETURN 
\n1690 IF SGN Y=SGN YN THEN GOTO 1730
\n1700 LET YA=Y
\n1710 LET XA=X
\n1720 GOTO 1660
\n1730 LET YN=Y
\n1740 LET XN=X
\n1750 GOTO 1660
\n1760 SLOW 
\n1770 GOSUB 9000
\n1780 GOTO 1300
\n1800 CLS 
\n1805 CLEAR 
\n1810 PRINT "VALUE OF A FUNCTION"
\n1815 PRINT 
\n1820 GOTO 2000
\n1830 REM POLYNOMIAL
\n1840 PRINT "N=";
\n1850 INPUT N
\n1860 PRINT N
\n1870 DIM W(N+1)
\n1880 FOR I=1 TO N+1
\n1890 PRINT "A(";I-1;")=";
\n1900 INPUT W(I)
\n1910 PRINT W(I)
\n1920 NEXT I
\n1930 RETURN 
\n1940 LET Y=W(N+1)*X
\n1950 FOR I=N TO 2 STEP -1
\n1960 LET Y=(Y+W(I))*X
\n1970 NEXT I
\n1980 LET Y=Y+W(1)
\n1990 RETURN 
\n2000 GOSUB 1830
\n2010 PRINT "X=";
\n2020 INPUT X
\n2030 PRINT X
\n2040 GOSUB 1940
\n2050 PRINT "Y=";Y
\n2060 PRINT "NEW X? (Y/N)"
\n2070 IF INKEY$="" THEN GOTO 2070
\n2080 IF INKEY$="Y" THEN GOTO 2010
\n2085 GOSUB 9000
\n2090 GOTO 1800
\n2100 CLS 
\n2105 CLEAR 
\n2120 GOTO 2240
\n2130 REM "POLYNOMIAL"
\n2135 PRINT 
\n2140 PRINT "N=";
\n2150 INPUT N
\n2160 PRINT N
\n2170 DIM W(N+1)
\n2180 FOR I=1 TO N+1
\n2190 PRINT "A(";I-1;")=";
\n2200 INPUT W(I)
\n2210 PRINT W(I)
\n2220 NEXT I
\n2230 RETURN 
\n2240 PRINT "1. POLYNOMIAL"
\n2250 GOSUB 2130
\n2260 LET K=N
\n2270 DIM A(K+1)
\n2280 FOR I=1 TO K+1
\n2290 LET A(I)=W(I)
\n2300 NEXT I
\n2310 CLS 
\n2320 PRINT "2. POLYNOMIAL"
\n2330 GOSUB 2130
\n2340 LET L=N+K+1
\n2350 DIM E(L)
\n2360 FOR I=1 TO L
\n2370 LET E(I)=0
\n2380 NEXT I
\n2390 FOR I=1 TO N+1
\n2400 FOR J=1 TO K+1
\n2410 LET L=I+J-1
\n2420 LET E(L)=E(L)+W(I)*A(J)
\n2430 NEXT J
\n2440 NEXT I
\n2450 CLS 
\n2460 LET L=K+N+1
\n2470 FOR I=1 TO L
\n2480 PRINT "E(";I-1;")=";E(I)
\n2485 NEXT I
\n2490 GOSUB 9000
\n2495 GOTO 2100
\n2500 CLS 
\n2505 CLEAR 
\n2510 PRINT "PLOT"
\n2515 REM "PLOT OF FUNCTIONS"
\n2520 GOTO 2900
\n2530 FOR I=0 TO 63
\n2540 PLOT I,22
\n2550 NEXT I
\n2560 FOR I=0 TO 43
\n2570 PLOT 31,I
\n2580 NEXT I
\n2590 PRINT AT 0,14;"Y"
\n2600 PRINT AT 11,31;"X"
\n2610 RETURN 
\n2620 LET X0=31
\n2630 LET Y0=22
\n2640 PRINT "XA=";
\n2650 INPUT XA
\n2660 PRINT XA
\n2670 PRINT "XE=";
\n2680 INPUT XE
\n2690 PRINT XE
\n2700 PRINT "YA=";
\n2710 INPUT YA
\n2720 PRINT YA
\n2730 PRINT "YE=";
\n2740 INPUT YE
\n2750 PRINT YE
\n2760 LET MX=63/ABS (XE-XA)
\n2770 LET MY=43/ABS (YE-YA)
\n2780 PRINT "H=";
\n2790 INPUT H
\n2800 PRINT H
\n2810 RETURN 
\n2820 FOR L=XA TO XE STEP H
\n2830 LET X=L
\n2840 LET Y=SIN X+SIN (2*X)
\n2850 LET X=X*MX+X0
\n2860 LET Y=Y*MY+Y0
\n2870 IF X>=0 AND X<=63 AND Y>=0 AND Y<=43 THEN PLOT X,Y
\n2880 NEXT L
\n2890 RETURN 
\n2900 GOSUB 2620
\n2910 CLS 
\n2920 GOSUB 2530
\n2930 GOSUB 2820
\n2940 GOSUB 9000
\n2950 GOTO 2500
\n8800 IF INKEY$<>"1" AND INKEY$<>"2" AND INKEY$<>"3" AND INKEY$<>"4" AND INKEY$<>"5" AND INKEY$<>"6" AND INKEY$<>"7" AND INKEY$<>"8" THEN GOTO 8800
\n8810 LET W=VAL INKEY$
\n8815 RETURN 
\n9000 PRINT AT 20,0;"PRESS <R> TO GET INDEX,PRESS ANY"
\n9003 PRINT AT 21,0;"OTHER KEY TO RERUN THIS SECTION"
\n9005 PAUSE 30
\n9010 IF INKEY$="" THEN GOTO 9010
\n9015 IF INKEY$="R" THEN GOTO 5
\n9020 IF INKEY$<>"R" THEN RETURN 
\n9040 SAVE "1024%1"
\n9050 GOTO 2

People

No people associated with this content.

Scroll to Top