5 AUTOGOTO 10 10 CLS :CLEAR 20 PRINT "MENUE NR.1.1 = ALGEBRA" 30 PRINT "MENUE NR.1.2 = GEOMETRIE" 40 PRINT "MENUE NR.1.3 = PHYSIK" 50 INPUT "MENUE NR.1.4 = ELEKTROTECHNIK ";A 55 IF A=0 THEN CLS :CLEAR :END 60 ON A GOTO 100,400,710,1000 70 GOTO 10 100 CLEAR 110 PRINT "ALG.1.1 = QUADRATISCH GLEICHUNG" 120 PRINT "ALG.1.2 = FUNKTIONSGLEICHUNGEN" 130 PRINT "ALG.1.3 = WERTRTABELLE" 140 INPUT "ALG.1.4 = UMWANDLUNG IN SCHEITELFORM ";A 150 ON A GOTO 8200,6100,2000,2200 160 A=0 170 PRINT "ALG.2.1 = " 180 PRINT "ALG.2.2 = " 190 PRINT "ALG.2.3 = " 200 INPUT "ALG.2.4 = ";A 210 ON A GOTO 8200 220 A=0 230 PRINT "ALG.3.1 =" 240 PRINT "ALG.3.2 =" 250 PRINT "ALG.3.3 =" 260 INPUT "ALG.3.4 = ";A 270 ON A GOTO 280 A=0 290 PRINT "ALG.4.1 =" 300 PRINT "ALG.4.2 =" 310 PRINT "ALG.4.3 =" 320 INPUT "ALG.4.4 = ";A 330 ON A GOTO 340 A=0 350 PRINT "ALG.5.1 =" 360 PRINT "ALG.5.2 =" 370 PRINT "ALG.5.3 =" 380 INPUT "ALG.5.4 = ";A 390 ON A GOTO 395 GOTO 10 400 A=0 410 PRINT "GEO.1.1 = TRIGO (RECHTWINKLIGE DREIECKE)" 420 PRINT "GEO.1.2 = TRIGO (ALLE DREIECKE)" 430 PRINT "GEO.1.3 =" 440 INPUT "GEO.1.4 = ";A 450 ON A GOTO 1500,9300 460 A=0 470 PRINT "GEO.2.1 =" 480 PRINT "GEO.2.2 =" 490 PRINT "GEO.2.3 =" 500 INPUT "GEO.2.4 = ";A 510 ON A GOTO 520 A=0 530 PRINT "GEO.3.1 =" 540 PRINT "GEO.3.2 =" 550 PRINT "GEO.3.3 =" 560 INPUT "GEO.3.4 = ";A 570 ON A GOTO 580 A=0 590 PRINT "GEO.4.1 =" 600 PRINT "GEO.4.2 =" 610 PRINT "GEO.4.3 =" 620 INPUT "GEO.4.4 = ";A 630 ON A GOTO 640 A=0 650 PRINT "GEO.5.1 =" 660 PRINT "GEO.5.2 =" 670 PRINT "GEO.5.3 =" 680 INPUT "GEO.5.4 = ";A 690 ON A GOTO 700 GOTO 10 710 PRINT "PHY.1.1 = BESCHL. / VERZOEGERUNG" 720 PRINT "PHY.1.2 =" 730 PRINT "PHY.1.3 =" 740 INPUT "PHY.1.4 = ";A 750 ON A GOTO 9050 760 A=0 770 PRINT "PHY.2.1 =" 780 PRINT "PHY.2.2 =" 790 PRINT "PHY.2.3 =" 800 INPUT "PHY.2.4 = ";A 810 ON A GOTO 820 A=0 830 PRINT "PHY.3.1 =" 840 PRINT "PHY.3.2 =" 850 PRINT "PHY.3.3 =" 860 INPUT "PHY.3.4 = ";A 870 ON A GOTO 880 A=0 890 PRINT "PHY.4.1 =" 900 PRINT "PHY.4.2 =" 910 PRINT "PHY.4.3 =" 920 INPUT "PHY.4.4 = ";A 930 ON A GOTO 940 A=0 950 PRINT "PHY.5.1 =" 960 PRINT "PHY.5.2 =" 970 PRINT "PHY.5.3 =" 980 INPUT "PHY.5.4 = ";A 990 ON A GOTO 995 GOTO 10 1000 A=0 1010 PRINT "ELT.1.1 = OHMSCHES GESETZ" 1020 PRINT "ELT.1.2 = ELEKT. WIDERST. VON LEITUNGEN" 1030 PRINT "ELT.1.3 =" 1040 INPUT "ELT.1.4 = ";A 1050 ON A GOTO 8600,8400 1060 A=0 1070 PRINT "ELT.2.1 =" 1080 PRINT "ELT.2.2 =" 1090 PRINT "ELT.2.3 =" 1100 INPUT "ELT.2.4 = ";A 1110 ON A GOTO 1120 A=0 1130 PRINT "ELT.3.1 =" 1140 PRINT "ELT.3.2 =" 1150 PRINT "ELT.3.3 =" 1160 INPUT "ELT.3.4 = ";A 1170 ON A GOTO 1180 A=0 1190 PRINT "ELT.4.1 =" 1200 PRINT "ELT.4.2 =" 1210 PRINT "ELT.4.3 =" 1220 INPUT "ELT.4.4 = ";A 1230 ON A GOTO 1240 A=0 1250 PRINT "ELT.5.1 =" 1260 PRINT "ELT.5.2 =" 1270 PRINT "ELT.5.3 =" 1280 INPUT "ELT.5.4 = ";A 1290 ON A GOTO 1300 GOTO 10 1500 CLS 1505 :CLEAR 1510 PRINT " T R I G O (NUR RECHTWINKLIGE DREIECKE) " 1520 PRINT "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" 1530 INPUT "ANKATHETE = ";B 1540 IF B>0 THEN X=1 1550 INPUT "GEGENKATHETE = ";A 1560 IF A>0 THEN X=X+1 1570 IF X=2 THEN 1645 1580 INPUT "HYPOTHENUSE = ";C 1590 IF C>0 THEN X=X+1 1600 IF X=0 THEN 1500 1610 IF X=2 THEN 1645 1620 INPUT "WINKEL = ";D 1630 IF D>0 THEN LET X=X+1 1640 IF X<2 THEN 1500 1645 IF A+B=0 THEN 1720 1650 IF A+C=0 THEN 1750 1660 IF A+D=0 THEN 1670 ELSE 1680 1670 IF B>=C THEN 1500 1680 IF B+C=0 THEN 1810 1690 IF B+D=0 THEN 1700 ELSE 1710 1700 IF A>=C THEN 1500 ELSE 1840 1710 IF C+D=0 THEN 1870 1720 A=C*SIN D 1730 B=C*COS D 1740 GOTO 1890 1750 A=B*TAN D 1760 C=B/COS D 1770 GOTO 1890 1780 A=SQR (C*C-B*B) 1790 D=ACS (B/C) 1800 GOTO 1890 1810 B=A*(1/TAN D) 1820 C=A/SIN D 1830 GOTO 1890 1840 B=SQR (C*C-A*A) 1850 D=ASN (A/C) 1860 GOTO 1890 1870 C=SQR (A*A+B*B) 1880 D=ATN (A/B) 1890 PRINT "ANKATHETE = ";USING "##########.####";B 1900 PRINT "GEGENKATHETE = ";USING "##########.####";A 1910 PRINT "HYPOTHENUSE = ";USING "##########.####";C 1920 PRINT "WINKEL = ";USING "##########.####";D 1925 A$=INKEY$ :IF A$="" THEN 1925 1950 CLS 1955 PRINT 1965 PRINT " FOLGT NOCH EINE BERECHNUNG ?" 1970 INPUT " (JA = QUITTIEREN)(NEIN=N) ";N$ 1980 IF N$="N" THEN 10 ELSE 1500 2000 CLS :CLEAR 2002 ON ERROR GOTO 2080 2003 XMIN=-5:XMAX=5:S=0.5 2005 PRINT "W E R T E T A B E L L E" 2010 PRINT "~~~~~~~~~~~~~~~~~~~~~~~" 2015 INPUT "GLEICHUNG = ";G$ 2017 IF G$="" THEN 2000 2020 INPUT "X - MIN = ";XMIN 2025 INPUT "X - MAX = ";XMAX 2030 IF XMIN>=XMAX THEN 2000 2035 INPUT "SCHRITT = ";S 2040 X=XMIN 2045 Y=EVAL G$ 2048 Z=Z+1 2050 PRINT " X = ";USING "######.###";X;:PRINT " : Y = ";USING "#############.###";Y 2055 IF Z=4 THEN A$=INKEY$ :IF A$="" THEN 2055 2060 IF Z=4 THEN Z=0:CLS 2065 X=X+S 2070 IF X<=XMAX THEN 2045 ELSE 2072 2072 A$=INKEY$ :IF A$="" THEN 2072 2075 GOTO 2100 2080 X=X+S:PRINT " F E H L E R M I T X = 0":GOTO 2045 2100 CLS :PRINT :INPUT " NOCH EINE BERECHNUNG (NEIN=N) ? ";N$ 2110 IF N$="N" THEN 10 ELSE 2000 2200 CLS :CLEAR 2210 PRINT " UMWANDLUND IN DIE SCHEITELFORM" 2220 PRINT "y = A x^2 + B x + C ==> m (x+a)^2 + b" 2225 PRINT "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" 2230 INPUT "FAKTOR VOR x^2 (A) = ";A2 2240 INPUT "FAKTOR VOR x (B) = ";A1 2250 INPUT "SUMMAND (C) = ";A0 2255 CLS 2260 IF A2=0 THEN A2=1 2270 IF A1=0 THEN A1=1 2280 M=A2 2290 A=A1/2/A2 2295 A11=A1/A2 2298 A00=A0/A2 2300 B=(-1)*(A1*A1/4/A2)+A0 2310 SX=-M 2320 SY=B 2325 D=A11*A11/4-A00 2328 IF D<0 THEN 2350 2330 X2=-A11/2-(SQR D) 2340 X1=-A11/2+(SQR D) 2342 IF X1+X2=-A11 THEN 2346 ELSE 2200 2346 IF X1*X2=A00 THEN 2350 ELSE 2200 2350 PRINT USING "####.###";M;:PRINT " ( x + ";USING "#####.###";A;:PRINT " )^2 + ";USING "#####.###";B 2400 PRINT "SCHEITEL : X = ";USING "#####.###";-A;:PRINT " : Y = ";USING "#####.###";B 2410 IF D>=0 THEN PRINT "NULLSTELL 1 = ";USING "#####.###";X2;:PRINT " :N2 = ";USING "#####.###";X1 2415 IF D<0 THEN PRINT "!!! K E I N E N U L L S T E L L E N !!!" 2420 INPUT "NOCH EINE BERECHNUNG (NEIN=N) ? ";N$ 2430 IF N$="N" THEN 10 ELSE 2200 6100 CLS :CLEAR 6110 PRINT "****************************************" 6120 PRINT "* F U N K T I O N S G L E I C H U N G *" 6130 PRINT "****************************************" 6135 M=261269:B=261269:X1=261269:Y1=261269:X2=261269:Y2=261269 6140 INPUT "KOEFIZIENT VON x (m) = ";M 6142 IF M<>261269 THEN X=X+1 6145 IF M=261269 THEN 6160 6150 INPUT "SUMMAND ZU mx (b) = ";B 6155 IF B<>261269 THEN X=X+1 6157 IF X=2 THEN 6225 6160 INPUT "KOORDINATE X1 = ";X1 6165 IF X1<>261269 THEN X=X+1 6168 IF X1=261269 THEN 6100 6170 INPUT "KOORDINATE Y1 = ";Y1 6180 IF Y1<>261269 THEN X=X+1 6190 IF Y1=261269 THEN 6100 6200 IF X=3 THEN 6222 6205 INPUT "KOORDINATE X2 = ";X2 6210 IF X2=261269 THEN 6100 6212 INPUT "KOORDINATE Y2 = ";Y2 6215 IF Y2=261269 THEN 6100 6220 M=(Y1-Y2)/(X1-X2) 6222 B=Y1-M*X1 6225 X3=-B/M 6226 CLS 6348 PRINT "Y = "; USING "########.###";M;:PRINT " X + "; USING "########.###";B 6350 PRINT "GERADE SCHN. Y-ACHSE IN = ";USING "##########.###";B 6360 PRINT "GERADE SCHN. X-ACHSE IN = ";USING "##########.###";X3 6370 INPUT "NOCH EINE BERECHNUNG (NEIN=N) ";N$ 6380 IF N$="N" THEN 10 ELSE 6100 6500 CLS :CLEAR 6510 PRINT "WAGRECHTER WURF" 6520 PRINT "~~~~~~~~~~~~~~~" 6530 INPUT "FALLHOEHE = ";Y 6540 INPUT "WURFWEITE = ";SX 6545 INPUT "W.ZEIT = ";T 6550 INPUT "VX HORIZ. = ";VX 6560 INPUT "VY VERTI. = ";VY 6570 INPUT "VR RESUL. = ";VR 6580 IF G*T<>0 THEN H=0.5*G*T*T 6590 IF G*VX*SX<>0 THEN H=G*SX*SX/2/VX/VX 6600 IF VX*T<>0 THEN SX=VX*T 6610 IF VX*H*G<>0 THEN SX=VX*(SQR (2*H/G)) 6620 IF G*T<>0 THEN VY=G*T 6630 IF G*H<>0 THEN VY=SQR (2*G*H) 6640 IF VX*VY<>0 THEN VR=SQR (VX*VX+VY*VY) 8200 CLS :CLEAR 8210 PRINT "QUADRATISCHE GLEICHUNG mx2 + px + q" 8220 PRINT "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" 8225 INPUT "FAKTOR VOR x2 (m) = ";M 8230 INPUT "FAKTOR VOR x (p) = ";P 8235 INPUT "SUMMAND (q) = ";Q 8240 IF M=0 THEN M=1 8241 P=P/M:Q=Q/M 8242 D=((P/2)*(P/2))-Q 8243 IF D<0 THEN 8244 ELSE 8250 8244 CLS 8245 PRINT "****************************************" 8246 PRINT "* !!! ES GIBT KEINE REELE LOESUNG !!! *" 8247 PRINT "****************************************" 8248 GOTO 8300 8250 X1=(-P/2)+SQR D 8260 X2=(-P/2)-SQR D 8270 PRINT USING "###.###";M;: PRINT " x2 + ";USING "#####.###";P*M;:PRINT " x + ";USING "#####.###";Q*M;:PRINT " = 0" 8280 PRINT "x1 = ";USING "##########.####";X1 8290 PRINT "x2 = ";USING "##########.####";X2 8300 INPUT "NOCH EINE BERECHNUNG (NEIN=N) ? ";N$ 8310 IF N$="N" THEN 10 ELSE 8200 8400 CLS :CLEAR 8420 PRINT " ELEKTR. WIEDERSTAND VON LEITUNGEN" 8430 PRINT "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" 8440 INPUT "LEITERWIDERSTAND IN OHM = ";R 8450 INPUT "SPEZIF. WIDERSTAND = ";P 8460 INPUT "LEITERLAENGE IN m = ";L 8470 IF (R*P*L)>0 THEN 8490 8480 INPUT "LEITERQUERSCHNITT IN mm2 = ";A 8490 IF R=0 THEN R=P*L/A 8510 IF P=0 THEN P=R*A/L 8520 IF A=0 THEN A=P*L/R 8530 PRINT "LEIERWIDER. IN OHM = ";R 8540 PRINT "SPEZIF. WIDER. = ";P 8550 PRINT "LEITERLAENGE IN m = ";L 8560 PRINT "LEITERQUERS. in mm = ";A 8570 A$=INKEY$ :IF A$="" THEN 8570 8580 CLS 8590 PRINT 8595 INPUT " NOCH EINE BERECHNUNG (NEIN=N) ? ";N$ 8598 IF N$="N" THEN 10 ELSE 8400 8600 CLS :CLEAR 8610 PRINT " O H M S C H E S G E S E T Z" 8620 PRINT "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" 8640 INPUT "STROMSTAERKE IN A = ";I 8650 INPUT "SPANNUNG IN V = ";U 8660 IF (I*U)>0 THEN 8680 8670 INPUT "WIEDERSTAND IN OHM = ";R 8680 IF I=0 THEN I=U/R 8690 IF U=0 THEN U=R*I 8700 IF R=0 THEN R=U/I 8710 PRINT "STROMSTAERKE IN A = ";I 8720 PRINT "SPANNUNG IN V = ";U 8730 PRINT "WIDERSTAND IN OHM = ";R 8740 INPUT "NOCH EINE BERECHNUNG (NEIN=N) ? ";N$ 8750 IF N$="N" THEN 10 ELSE 8600 9050 CLS :CLEAR 9060 PRINT "****************************************" 9070 PRINT "* BESCHL. / VERZ. MIT/OHNE ANFANGSG. *" 9080 PRINT "****************************************" 9090 INPUT "BESCHLEUNIGUNG IN m/s2 = ";A 9092 IF A<>0 THEN X=1 9100 INPUT "ANFANGSGESCHW. IN m/s = ";V0 9110 INPUT "ENDGESCHWINDIG. IN m/s = ";VT 9115 IF VT<>0 THEN X=X+1 9117 IF X=2 THEN 9140 9120 INPUT "WEGABSCHNITT IN m = ";S 9125 IF S>0 THEN X=X+1 9128 IF X=2 THEN 9140 9130 INPUT "ZEITABSCHNITT IN s = ";T 9135 IF T>0 THEN X=X+1 9137 IF X<2 THEN 9050 9140 IF A<>0 THEN 9170 9150 IF VT*T<>0 THEN A=(VT-V0)/T 9160 IF VT*S<>0 THEN A=(VT*VT-V0*V0)/(2*S) 9170 IF S>0 THEN 9210 9180 IF VT*T<>0 THEN S=(V0+VT)/2*T 9190 IF T*A<>0 THEN S=V0*T+(A*T*T/2) 9200 IF VT*A<>0 THEN S=(VT*VT-V0*V0)/(2*A) 9210 IF VT=0 THEN VT=SQR (V0*V0+2*A*S) 9220 IF T=0 THEN T=(VT-V0)/A 9230 PRINT "BESCHL. IN m/s2 = ";USING "##########.####";A 9240 PRINT "ENDGESCHW. IN m/s = ";USING "##########.####";VT 9250 PRINT "WEGABSCHN. IN m = ";USING "##########.####";S 9260 PRINT "ZEITABSCH. IN s = ";USING "##########.####";T 9270 A$=INKEY$ :IF A$="" THEN 9270 9280 CLS :PRINT :INPUT " NOCH EINE BERCHNUNG (NEIN=N) ? ";N$ 9290 IF N$="N" THEN 10 ELSE 9050 9300 CLS :CLEAR 9310 CLEAR :PRINT "T R I G O (ALLE DREIECKE)" 9320 PRINT "~~~~~~~~~~~~~~~~~~~~~~~~~~" 9322 ON ERROR GOTO 9785 9325 INPUT "Mit ,h,sh,wh,r,R,U,A, (JA=J) ? ";J$ 9330 INPUT "SEITE a = ";A 9340 IF A>0 THEN X=1 9350 INPUT "SEITE b = ";B 9360 IF B>0 THEN X=X+1 9370 INPUT "SEITE c = ";C 9380 IF C>0 THEN X=X+1 9390 IF X=0 THEN 9300 9400 IF X=3 THEN 9500 9410 INPUT "WINKEL A = ";W1 9420 IF W1>0 THEN X=X+1 9430 IF X=3 THEN 9500 9440 INPUT "WINKEL B = ";W2 9450 IF W2>0 THEN X=X+1 9460 IF X=3 THEN 9500 9465 IF X>2 THEN 9300 9470 INPUT "WINKEL C = ";W3 9480 IF W3>0 THEN X=X+1 9490 IF X<3 THEN 9300 9500 CLS 9505 IF A*B*W1>0 AND A0 AND B0 AND A0 AND C0 AND B0 AND C0 AND W1=0 THEN W1=180-W2-W3 9570 IF W1*W3>0 AND W2=0 THEN W2=180-W3-W1 9580 IF W1*W2>0 AND W3=0 THEN W3=180-W1-W2 9590 IF W1*W2*B>0 AND A=0 THEN A=SIN W1*B/SIN W2 9600 IF W1*W2*A>0 AND B=0 THEN B=SIN W2*A/SIN W1 9610 IF W1*W3*C>0 AND A=0 THEN A=SIN W1*C/SIN W3 9620 IF W1*W3*A>0 AND C=0 THEN C=SIN W3*A/SIN W1 9630 IF W2*W3*C>0 AND B=0 THEN B=SIN W2*C/SIN W3 9640 IF W2*W3*B>0 AND C=0 THEN C=SIN W3*B/SIN W2 9650 IF W2*A*B>0 AND W1=0 THEN W1=ASN (SIN W2*A/B) 9660 IF W1*B*A>0 AND W2=0 THEN W2=ASN (SIN W1*B/A) 9670 IF W3*A*C>0 AND W1=0 THEN W1=ASN (SIN W3*A/C) 9680 IF W1*C*A>0 AND W3=0 THEN W3=ASN (SIN W1*C/A) 9690 IF W3*B*C>0 AND W2=0 THEN W2=ASN (SIN W3*B/C) 9700 IF W2*C*B>0 AND W3=0 THEN W3=ASN (SIN W2*C/B) 9710 IF B*C*W1>0 AND A=0 THEN A=SQR (B^2+C^2-2*B*C*COS W1) 9720 IF A*C*W2>0 AND B=0 THEN B=SQR (A^2+C^2-2*A*C*COS W2) 9730 IF A*B*W3>0 AND C=0 THEN C=SQR (A^2+B^2-2*A*B*COS W3) 9740 IF A*B*C>0 AND W1=0 THEN W1=ACS ((B^2+C^2-A^2)/(2*B*C)) 9750 IF A*B*C>0 AND W2=0 THEN W2=ACS ((A^2+C^2-B^2)/(2*A*C)) 9760 IF A*B*C>0 AND W3=0 THEN W3=ACS ((A^2+B^2-C^2)/(2*A*B)) 9770 Y=Y+1 9780 IF Y=2 THEN 9785 ELSE 9560 9785 IF A*B*C*W1*W2*W3=0 THEN PRINT "DREIECK ODER 2 LOESUNG NICHT MOEGLICH !!":GOTO 9310 9787 IF J$="J"THEN 9790 ELSE 9950 9790 H1=B*SIN W3 9800 H2=C*SIN W1 9810 H3=A*SIN W2 9820 W11=180-W3-W2/2 9830 W21=180-W1-W3/2 9840 W31=180-W2-W1/2 9850 WA=SIN W2*C/SIN W31 9860 WB=SIN W3*A/SIN W11 9870 WC=SIN W1*B/SIN W21 9880 SA=SQR ((A/2)^2+C^2-2*A/2*C*COS W2) 9890 SB=SQR ((B/2)^2+A^2-2*A/2*B*COS W3) 9900 SC=SQR ((C/2)^2+B^2-2*C/2*B*COS W1) 9910 F=C*H3/2 9920 U=A+B+C 9930 UR=A/2/SIN W1 9940 IR=F/((A+B+C)/2) 9950 CLS 9952 IF XYZ=1 THEN PRINT "ZWEITE LOESUNG" 9953 PRINT "SEITE a = ";USING "############.####";A 9956 PRINT "SEITE b = ";USING "############.####";B 9959 PRINT "SEITE c = ";USING "############.####";C 9962 A$=INKEY$ :IF A$="" THEN 9962 9965 CLS 9968 PRINT "WINKEL A = ";USING "###.####";W1 9971 PRINT "WINKEL B = ";USING "###.####";W2 9974 PRINT "WINKEL C = ";USING "###.####";W3 9975 IF J$="J" THEN A$=INKEY$ :IF A$="" THEN 9975 9976 IF J$<>"J" AND Z>0 THEN A$=INKEY$ :IF A$="" THEN 9976ELSE 10022 9977 IF J$<>"J" THEN INPUT "NOCH EINE BERECHNUNG (NEIN=N) ? ";N$ 9978 IF J$="J" THEN 9983 9980 IF N$="N" THEN 10 ELSE 9300 9983 CLS 9986 PRINT "HOEHE ha = ";USING "############.####";H1 9989 PRINT "HOEHE hb = ";USING "############.####";H2 9992 PRINT "HOEHE hc = ";USING "############.####";H3 9995 A$=INKEY$ :IF A$="" THEN 9995 9998 CLS 10001 PRINT "WINKELHALB. wa = ";USING "############.####";WA 10004 PRINT "WINKELHALB. wb = ";USING "############.####";WB 10007 PRINT "WINKELHALB. wc = ";USING "############.####";WC 10010 A$=INKEY$ :IF A$=""THEN 10010 10011 CLS 10012 PRINT "SEITENHALB. sa = ";USING "############.####";SA 10013 PRINT "SEITENHALB. sb = ";USING "############.####";SB 10014 PRINT "SEITENHALB. sc = ";USING "############.####";SC 10015 A$=INKEY$ :IF A$="" THEN 10015 10016 CLS :PRINT "INKREIS r = ";USING "############.####";IR 10017 PRINT "UMKREIS R = ";USING "############.####";UR 10018 PRINT "UMFANG = ";USING "############.####";U 10019 PRINT "FLAECHE = ";USING "############.####";F 10020 A$=INKEY$ :IF A$="" THEN 10020 10021 IF Z=0 THEN CLS :PRINT :INPUT " NOCH EINE BERECHNUNG (NEIN=N) ? ";N$:IF N$="N" THEN 10 ELSE 9300 10022 IF Z=1 THEN Z=0:C=0:W3=0:W2=180-W2 10023 IF Z=2 THEN Z=0:C=0:W3=0:W1=180-W1 10024 IF Z=3 THEN Z=0:B=0:W2=0:W3=180-W3 10025 IF Z=4 THEN Z=0:B=0:W2=0:W1=180-W1 10026 IF Z=5 THEN Z=0:A=0:W1=0:W3=180-W3 10027 IF Z=6 THEN Z=0:A=0:W1=0:W2=180-W2 10028 XYZ=1:Y=0:CLS :GOTO 9560 10029 ON ERROR GOTO *ERROR 10030 BERECHNEN=0:DATEI$="":ANZAHLPUNKTE=1:RADIAN 10040 PRINT "~~~~~~~~~~ M A T H E - C A D ~~~~~~~~~~" 10050 PRINT "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" 10060 PRINT "~~~~~~ Version 1.0 vom 24.12.90 ~~~~~~" 10070 PRINT "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" 10080 GCURSOR (92,32):GOSUB *BYSVEN 10090 EGAL$=INPUT $(1) 10100 *MENUE 10110 CLS 10120 GOSUB *DEMO 10130 A$(1)="Datei":A$(2)="Funktion":A$(3)="Plot":A$(4)=" Mathe":B=0 10140 FOR I=0 TO 30STEP 10 10150 B=B+1 10160 LOCATE I+1,0:PRINT USING "&&&&&&&&";A$(B) 10170 NEXT I 10180 GOSUB 10310 10190 RKEY=ASC INKEY$ ,&1 10200 IF RKEY=&0F THEN LET A=A+61:IF A>183 THEN GOSUB 10290 ELSE GOSUB 10270 10210 IF RKEY=&0F THEN LET A=A-61:IF A<0 THEN GOSUB 10300 ELSE GOSUB 10280 10220 IF A=0 AND RKEY=&0D THEN GOTO 10360 10230 IF A=61 AND RKEY=&0D THEN GOTO 10370 10240 IF A=122 AND RKEY=&0D THEN GOTO 10380 10250 IF A=183 AND RKEY=&0D THEN GOTO 10390 10260 GOTO 10190 10270 LINE (A-61,0)-(A-6,6),X,BF:GOTO 10310 10280 LINE (A+61,0)-(A+116,6),X,BF:GOTO 10310 10290 A=0:LINE (183,0)-(238,6),X,BF:GOTO 10310 10300 A=183:LINE (0,0)-(55,6),X,BF 10310 LINE (A,0)-(A+55,6),X,BF 10320 LINE (0,7)-(239,7) 10330 LINE (58,0)-(58,6) 10340 LINE (119)-(119.6) 10350 LINE (180,0)-(180,6):RETURN 10360 A$(1)=" Laden":A$(2)="Sichern":A$(3)="Loeschen":D=0:GOTO 10400 10370 A$(1)="Eingabe":A$(2)="Bereich":A$(3)="Wertetab":D=10:GOTO 10400 10380 A$(1)=" Zeichnen":A$(2)=" Y-Werte":A$(3)=" Zoom":D=20:GOTO 10400 10390 A$(1)=" Nullst.1":A$(2)=" Nullst.2":A$(3)="Schnittp.":D=30 10400 LINE (A,0)-(A+55,6),X,BF:C=8 10410 FOR I=1TO 3 10420 LOCATE D,I:PRINT USING "&&&&&&&&&&";A$(I) 10430 NEXT I 10440 LINE (A,8)-(A+55,14),X,BF 10450 RKEY=ASC INKEY$ &1 10460 IF RKEY=&05 THEN LET C=C+8:IF C>24THEN GOSUB 10650 ELSE GOSUB 10620 10470 IF RKEY=&04 THEN LET C=C-8:IF C<8THEN GOSUB 10640 ELSE GOSUB 10630 10480 IF RKEY=&0E OR RKEY=&0F THEN GOTO *MENUE 10490 IF RKEY=&0D AND C=8 THEN GOTO *LADEN 10500 IF RKEY=&0D AND A=0 AND C=16 BERECHNEN=0 THEN GOTO *SICHERN 10510 IF RKEY=&0D AND A=0 AND C=24 THEN GOTO *LOESCHEN 10520 IF RKEY=&0D AND A=61 AND C=8 THEN GOTO *EINGABE 10530 IF RKEY=&0D AND A=61 AND C=16 AND BERECHNEN=0 THEN GOTO *BEREICH 10540 IF RKEY=&0D AND A=61 AND C=24 AND BERECHNEN=0 THEN GOTO *WERTETABELLE 10550 IF RKEY=&0D AND A=122 AND C=8 THEN GOTO *ZEICHNEN 10560 IF KKEY=&0D AND A=122 AND C=16 AND BERECHNEN=0 THEN GOTO *YWERT 10570 IF RKEY=&0D AND A=122 AND C=24 AND BERECHNEN=0 THEN GOTO *ZOOM 10580 IF RKEY=&0D AND A=183 AND C=8 AND BERECHNEN=0 THEN NULLST=1:GOTO *NULLSTELLE1 10590 IF RKEY=&0D AND A=183 AND C=16 AND BERECHNEN=0 THEN NULLST=2:GOTO *NULLSTELLE1 10600 IF RKEY=&0D AND A=183 AND C=24 AND BERECHNEN=0 THEN GOTO *SCHNITTPUNKT 10610 GOTO 10450 10620 LINE (A,C-8)-(A+55,C-2),X,BF:GOTO 10660 10630 LINE (A,C+8)-(A+55,C+14),X,BF:GOTO 10660 10640 C=24:LINE (A,8)-(A+55,14),X,BF:GOTO 10660 10650 C=8:LINE (A,24)-(A+55,30),X,BF 10660 LINE (A,C)-(A+55,C+6),X,BF:RETURN 10670 *LADEN 10680 GOSUB *WINDOW 10690 OPEN "F:DATEI.00$"FOR INPUT AS #1 10700 IF EOF (1) THEN GOTO 10720 10710 INPUT #1,DATEI$ 10720 CLOSE #1 10730 IF DATEI$="" THEN BEEP 1,180,80:WAIT 120:LOCATE 4,1:PRINT "!!! Keine Datei vorhanden !!!":WAIT 0:GOTO *MENUE 10740 LINE (90,5)-(90,27) 10750 LINE (20,5)-(80,18),B 10760 LOCATE 16,1:PRINT " " 10770 LOCATE 18,1:PRINT "~~ Laden ~~" 10780 GCURSOR (120,26):GOSUB *BYSVEN 10790 LOCATE 4,1:PRINT USING "&&&&&&&&";DATEI$ 10800 RKEY=ASC INKEY$ &1 10810 RKEY=&0D THEN GOTO 10840 10820 IF RKEY=&0C THEN GOTO *MENUE 10830 GOTO 10800 10840 LOCATE 16,1:PRINT USING "&&&&&&&&";DATEI$;" [Y/N]" 10850 RKEY$=INPUT $(1) 10860 IF RKEY$="N" THEN GOTO 10760 10870 GCURSOR (180,24):GOSUB *UHR 10880 ZZ$="F:"+DATEI$+".CAD" 10890 OPEN ZZ$ FOR INPUT AS #1 10900 INPUT #1,FUNKTION1$,FUNKTION2$,XMIN,XMAX,YMIN,YMAX 10910 INPUT #1,XWERTE(*),YWERTE1(*),YWERTE2(*) 10920 IF YWERT2(10)=0 AND YWERT2(80)=0 AND YWERT2(147)=0 THEN LET MENGE=1 ELSE LET MENGE=2 10930 CLOSE #1:BERECHNEN=0:GOTO *MENUE 10940 *SICHERN 10950 GOSUB *WINDOW 10960 OPEN "F:DATEI.00$" FOR INPUT AS #1 10970 IF EOR (1) THEN GOTO 10990 10980 INPUT #1,DATEI$ 10990 CLOSE #1 11000 IF DATEI$<>"" THEN BEEP 1,180,80:LOCATE 9,1:PRINT "Zuerst vorhandene Datei":LOCATE 12,2:WAIT 10150:PRINT "loeschen !!!":WAIT 0:GOTO *MENUE 11010 LINE (90,5)-(90,27) 11020 LINE (20,5)-(80,18),B 11030 LOCATE 16,1:PRINT " " 11040 LOCATE 17,1:PRINT "~~ Sichern ~~" 11050 GCURSOR (120,26):GOSUB *BYSVEN 11060 LOCATE 4,1:INPUT DATEI$ 11070 DATEI$=LEFT$ (DATEI$,8) 11080 LOCATE 4,1:PRINT USING "&&&&&&&&";DATEI$ 11090 RKEY=ASC INKEY$ &1 11100 IF RKEY=&0D THEN GOTO 11130 11110 IF RKEY=&0C THEN GOTO *MENUE 11120 GOTO 11090 11130 LOCATE 16,1:PRINT USING "&&&&&&&&";DATEI$;" [Y/N]" 11140 RKEY$=INPUT $(1) 11150 IF RKEY$="N" THEN LOCATE 4,1:PRINT " ":GOTO 11030 11160 GCURSOR (180,24):GOSUB *UHR 11170 ZZ$="F:"+DATEI$+".CAD" 11180 OPEN ZZ$ FOR OUTPUT AS #1 11190 PRINT #1,FUNKTION1$;",";FUNKTION2$;",";XMIN;",";XMAX;",";YMIN;",";YMAX 11200 PRINT #1,XWERT(*);",";YWERT1(*);",";YWERT2(*) 11210 OPEN "F:DATEI.00$"FOR OUTPUT AS #2 11220 PRINT #2,DATEI$ 11230 CLOSE #1:CLOSE #2:GOTO *MENUE 11240 *LOESCHEN 11250 GOSUB *WINDOW 11260 OPEN "F:DATEI.00$"FOR INPUT AS #1 11270 IF EOF (1) THEN GOTO 11290 11280 INPUT #1,DATEI$ 11290 CLOSE #1 11300 IF DATEI$="" THEN BEEP 1,180,80:WAIT 120:LOCATE 4,1:PRINT "!!! Keine Datei vorhanden !!!":WAIT 0:GOTO *MENUE 11310 LINE (90,5)-(90,27) 11320 LINE (20,5)-(80,18),B 11330 LOCATE 16,1:PRINT " " 11340 LOCATE 17,1:PRINT "~~ Loeschen ~~" 11350 GCURSOR (120,26):GOSUB *BYSVEN 11360 LOCATE 4,1:PRINT USING "&&&&&&&&";DATEI$ 11370 RKEY=ASC INKEY$ &1 11380 IF RKEY=&0D THEN GOTO 11410 11390 IF RKEY=&0C THEN GOTO *MENUE 11400 GOTO 11370 11410 LOCATE 16,1:PRINT USING "&&&&&&&";DATEI$" [Y/N]" 11420 RKEY$=INPUT $(1) 11430 IF RKEY$="Y" THEN GOTO 11440 ELSE 11330 11440 GCURSOR (180,24):GOSUB *UHR 11450 OPEN "F:DATEI.00$"FOR OUTPUT AS #1:CLOSE #1 11460 ZZ$="F:"+DATEI$+".CAD" 11470 OPEN ZZ$ FOR OUTPUT AS #1 11480 CLOSE #1:DATEI$="":GOTO *MENUE 11490 *EINGABE 11500 GOSUB *WINDOW 11510 FUNKALT1$=FUNKTION1$ 11520 FUNKALT2$=FUNKTION2$ 11530 LOCATE 4,1:PRINT "f(x1)=";LEFT$ (FUNKTION1$,20)+"..." 11540 LINE (20,15)-(200,15) 11550 LOCATE 4,2:INPUT "f(x1)=";FUNKTION1$ 11560 IF FUNKTION1$="" THEN GOTO 11530 11570 LOCATE 4,1:PRINT " " 11580 LOCATE 4,1:WAIT 20:PRINT "f(x1)=";LEFT$ (FUNKTION1$,20)+"...":WAIT 0 11590 LOCATE 4,1:PRINT " " 11600 IF LEN (FUNKTION1$)>23THEN GOSUB *WINDOW ELSE LOCATE 4,2:PRINT " " 11610 LOCATE 4,1:PRINT "f(x2)=";LEFT$ (FUNKTION2$,20)+"..." 11620 LINE (20,15)-(200,15) 11630 LOCATE 4,2:INPUT "f(x2)=";FUNKTION2$ 11640 IF FUNKTION2$="N" THEN LET MENGE=1:ERASE YWERT2:DIM YWERT2(151):ELSE LET MENGE=2 11650 IF FUNKTION2$="" THEN GOTO 11610 11660 IF FUNKTION2$="D" THEN LET FUNKTION2$="Differenzial" 11670 LOCATE 4,1:PRINT " " 11680 LOCATE 4,1:PRINT "f(x2)=";LEFT$ (FUNKTION2$,20)+"..." 11690 RKEY=ASC INKEY$ &1 11700 IF RKEY=&0C THEN GOTO *EINGABE 11710 IF FUNKTION1$<>FUNKALT1$ OR FUNKTION2$<> FUNKALT2$ THEN LET BERECHNEN=1 :GOTO *BEREICH ELSE GOTO *MENUE 11720 *BEREICH 11730 XMINALT=XMIN 11740 XMAXALT=XMAX 11750 GOSUB *WINDOW 11760 LINE (110,5)-(110,27) 11770 LOCATE 4,1:PRINT USING "Xmin=######.##";XMIN 11780 LOCATE 19,1:PRINT USING "Xmax=######.##";XMAX 11790 LINE (20,15)-(200,15) 11800 LOCATE 4,2:INPUT "Xmin=";XMIN 11810 LOCATE 4,1:PRINT USING "Xmin=######.##";XMIN 11820 LINE (20,15)-(200,15) 11830 LOCATE 19,2:INPUT "Xmax=";XMAX 11840 LOCATE 19,1:PRINT USING "Xmax=######.##";XMAX 11850 LINE (20,15)-(200,15) 11860 IF XMIN>XMAX OR XMIN=XMAX THEN GOTO *BEREICH 11870 IF XMINALT=XMIN AND XMAXALT=XMAX AND BERACHNEN=0 THEN GOTO *MENUE 11880 RKEY=ASC INKEY$ &1 11890 IF RKEY=&0C THEN GOTO *BEREICH 11900 GOSUB *WINDOW 11910 LOCATE 6,1:PRINT "Y-Werte werden berechnet !" 11920 GCURSOR (170,25):GOSUB *BYSVEN 11930 GCURSOR (170,24):GOSUB *UHR 11940 USING "######.###":XMIN=MDF (XMIN):XMAX=MDF (XMAX):USING 11950 YMIN=0:YMAX=0:NUMMER=0 11960 SCHRITTWEITE=(XMAX-XMIN)/150 11970 FOR X=XMIN TO (XMAX+SCHRITTWEITE)STEP SCHRITTWEITE 11980 XWERT(NUMMER)=X 11990 YWERT1(NUMMER)=EVEL FUNKTION1$ 12000 IF YWERT1(NUMMER)>MAX THEN LET YWERT1(NUMMER)=0 ELSE IF YWERT1(NUMMER)<-MAX THEN LET YWERT(NUMMER)=0 12010 IF NUMMER=0 THEN YMIN=YWERT1(0):YMAX=YMIN 12020 IF YMIN>YWERT1(NUMMER) THEN YMIN=YWERT1(NUMMER) 12030 IF YMAXMAX THEN LET YWERT2(NUMMER)=0 ELSE IF YWERT2(NUMMER)<-MAX THEN LET YWERT2(NUMMER)=0 12130 IF YMIN>YWERT2(NUMMER) THEN YMIN=YWERT2(NUMMER) 12140 IF YMAXDrucker [Y/N]" 12270 RKEY$=INPUT $(1) 12280 IF RKEY$="Y" THEN GOTO 12410 12290 IF ASC RKEY$=&7F THEN GOTO *MENUE 12300 YWERT1=EVAL FUNKTION1$ 12310 IF MENGE=1 THEN GOTO 12210 12320 IF FUNKTION2$="Differenzial" THEN GOTO 12330 ELSE GOTO 12390 12330 Y1=EVAL FUNKTION1$ 12340 X=X+DIFF 12350 Y2=EVAL FUNKTION1$ 12360 X=X-DIFF 12370 YWERT2=(Y2-Y1)/DIFF 12380 GOTO 12210 12390 YWERT2=EVAL FUNKTION2$ 12400 GOTO 12210 12410 LPRINT "x-Wert=";X 12420 LPRINT "f(x1)=";FUNKTION1$ 12430 LPRINT "y(1)=";YWERT1 12440 LPRINT "f(x2)=";FUNKTION2$ 12450 LPRINT "y(2)=";YWERT2 12460 RETURN 12470 *ZEICHNEN 12480 IF MENGE=1 THEN LET ZEICHART=1:GOTO 12580 12490 GOSUB *WINDOW 12500 LOCATE 11,1:PRINT "Funktion zeichnen" 12510 LOCATE 4,2:PRINT "[PF1=1.][PF3=2.][PF5=1.+2.]" 12520 RKEY=ASC INKEY$ &1 12530 IF RKEY=&F1 THEN LET ZEICHART=1:GOTO 12580 12540 IF RKEY=&F3 THEN LET ZEICHART=2:GOTO 12580 12550 IF RKEY=&F5 THEN LET ZEICHART=3:GOTO 12580 12560 IF RKEY=&0C THEN GOTO *MENUE 12570 GOTO 12520 12580 CLS 12590 IF ZEICHART=1 THEN LOCATE 0,0:PRINT USING "[&&&&&&&&&&&&]";FUNKTION1$ 12600 IF ZEICHART=2 THEN LOCATE 0,0:PRINT USING "[&&&&&&&&&&&&]";FUNKTION2$ 12610 IF ZEICHART=3 THEN LOCATE 0,0:PRINT USING "[&&&&&&&&&&&&]";FUNKTION1$:LOCATE 0,2:PRINT USING "[&&&&&&&&&&&&]";FUNKTION2$ 12620 LINE (88,0)-(88,30),&H5555 12630 LINE (88,31)-(239,31),&H5555 12640 IF SGN YMIN=SGN YMAX THEN 12690 12650 XLINIE=31*(YMAX/(YMAX-YMIN)) 12660 IF YMAX=0 THEN LET XLINIE=0 12670 IF YMIN=0 THEN LET XLINIE=30 12680 LINE (89,XLINIE)-(239,XLINIE) 12690 IF SGN XMIN=SGN XMAX THEN GOTO 12740 12700 YLINIE=(239-89)*(XMIN/(XMIN-XMAX))+89:YLINIE=ABS (YLINIE) 12710 IF XMAX=0 THEN LET YLINIE=239 12720 IF XMIN=0 THEN LET YLINIE=89 12730 LINE (YLINIE,0)-(YLINIE,30) 12740 GCURSOR (20,32):GOSUB *BYSVEN:GCURSOR (70,15):GOSUB *UHR 12750 FOR NUMMER=0 TO 150 12760 IF ZEICHART=2 THEN GOTO 12820 12770 IF YWERT1(NUMMER)YMAX THEN 12810 12780 E=ABS (YWERT1(NUMMER)-YMAX) 12790 PUNKTE=E/((YMAX-YMIN)/31) 12800 PSET (NUMMER+89,PUNKT) 12810 IF ZEICHART=1 THEN GOTO 12860 12820 IF YWERT2(NUMMER)YMAX THEN 12860 12830 E=ABS (YWERT2(NUMMER)-YMAX) 12840 PUNKTE=E/((YMAX-YMIN)/31) 12850 PSET (NUMMER+89,PUNKT) 12860 NEXT NUMMER :GOTO *BEARBEITEN 12870 *BEARTEITEN 12880 ANZAHLPUNKTE=1 12890 LINE (POS,0)-(POS,3),X,&H5555 12900 LINE (0,24)-(88,24) 12910 GCURSOR (5,34):GOSUB *PFTASTEN 12920 LINE (43,24)-(43,31) 12930 RKEY=ASC INKEY$ 12940 IF RKEY=&F2 THEN LINE (POS,0)-(POS,30),X,&H5555:POS=89:LINE (POS,0)-(POS,30),X,&H5555 12950 IF RKEY=&F3 THEN LINE (POS,0)-(POS,30),X,&H5555:POS=164:LINE (POS,0)-(POS,30),X,&H5555 12960 IF RKEY=&F4 THEN LINE (POS,0)-(POS,30),X,&H5555:POS=239:LINE (POS,0)-(POS,30),X,&H5555 12970 IF RKEY=&0E AND POS<239 THEN LET POS=POS+1:LINE (POS,0)-(POS,30),X,&H5555:LINE (POS-1,0)-(POS-1,30),X,&H5555:GOTO 12930 12980 IF RKEY=&0F AND POS>89 THEN LET POS=POS-1:LINE (POS,0)-(POS,30),X,&H5555:LINE (POS+1,0)-(POS+1,30),X,&H5555:GOTO 12930 12990 IF RKEY=&F1 THEN GOTO *MENUE 13000 IF RKEY=&F5 AND ANZAHLPUNKTE<3 THEN LINE (POS,0)-(POS,30),X,&HF0F0:IF ANZAHLPUNKTE=1 THEN GOSUB *RECH1 :GOTO 13010:ELSE IF ANZAHLPUNKTE=2 THEN GOSUB *RECH2 13010 LOCATE 0,0:PRINT USING "x =######.####";XWERT(POS-89) 13020 LOCATE 0,1:PRINT USING "y1=######.####";YWERT1(POS-89) 13030 LOCATE 0,2:PRINT USING "y2=######.####";YWERT2(POS-89) 13040 GOTO 12930 13050 *RECH1 13060 PUNKTE1=XWERT(POS-89) 13070 ANZAHLPUNKTE=ANZAHLPUNKTE+1:RETURN 13080 *RECH2 13090 PUNKT2=XWERT(POS-89) 13100 ANZAHLPUNKTE=ANZAHLPUNKTE+1:RETURN 13110 *YWERT 13120 YMINALT=YMIN:YMAXALT=YMAX:GOSUB *WINDOW= 13130 LINE (110,5)-(110,27):LOCATE 4,1:PRINT USING "Ymin=######.##";YMIN 13140 LOCATE 19,1:PRINT USING "Ymax=######.##";YMAX:LINE (20,15)-(200,15) 13150 LOCATE 4,2:INPUT "Ymin=";YMIN:LOCATE 4,1:PRINT USING "Ymin=######.##";YMIN:LINE (20,15)-(200,15) 13160 LOCATE 19,2:INPUT "Ymax=";YMAX:LOCATE 19,1:PRINT USING "Ymax=######.##";YMAX:LINE (20,15)-(200,15) 13170 IF YMIN=YMAX OR YMIN>YMAX THEN GOTO *YWERT 13180 RKEY=ASC INKEY$ &1 13190 IF RKEY=&0D THEN GOTO *ZEICHNEN ELSE IF RKEY=&0C THEN LET YMIN=YMINALT:YMAX=YMAXALT:GOTO *MENUE 13200 *ZOOM 13210 IF ANZAHLPUNKTE<>3 THEN GOTO *MENUE 13220 IF PUNKTE1>PUNKTE2 THEN LET XMAX=PUNKT1:XMIN=PUNKT2:GOTO 11900 ELSE LET XMAX=PUNKT2:XMIN=PUNKT1:GOTO 11900 13230 *NULLSTELLE1 13240 IF NULLST=2 AND MENGE=1 THEN GOTO *MENUE 13250 GOSUB *WINDOW 13260 GCURSOR (40,15):GOSUB *UHR 13270 GCURSOR (85,26):GOSUB *BYSVEN 13280 LINE (20,18)-(200,18) 13290 F=0.000001:G=0.00001:H=30 13300 J=XWERT(POS-89) 13310 K=J 13320 IF NULLST=1 THEN LET B$= FUNKTION1$ ELSE LET B$=FUNKTION2$ 13330 IF B$="Differenzial" THEN LET B$=FUNKTION1$:GOTO *NULLSTELLE2 13340 FOR I=1 TO H 13350 X=K:L=EVAL B$:X=G+K:M=EVAL B$:X=K-L*G/(M-L) 13360 K=X:NEXT I 13370 LOCATE 4,1:PRINT USING "x0=######.######";X 13380 EGAL$=INPUT $(1) 13390 GOTO *MENUE 13400 *NULLSTELLE2 13410 DEFDBL 13420 FOR I=1 TO H 13430 X=K 13440 Y1#=EVAL B$:X=X+DIFF:Y2#=EVAL B$:X=X-DIFF:LL#(Y2#-Y1#)/DIFF 13450 X=G+K 13460 Y3#=EVAL B$:X=X+DIFF:Y4#=EVAL B$:X=X-DIFF:MM#=(Y4#-Y3#)/DIFF 13470 X=K-LL#*G/(MM#-LL#):K=X:NEXT I:DEFSNG :GOTO 13370 13480 R=EVAL FUNKTION1$ 13490 S=EVAL FUNKTION2$ 13500 IF FUNKTION2$="Differenzial THEN GOTO 11090 ELSE 11130 13510 X=X+DIFF 13520 Y1=EVAL FUNKTION$ 13530 S=(Y1-R)/DIFF 13540 X=X-DIFF 13550 T=R-S:RETURN 13560 X=X-CC:CC=CC/10:IF CCDD THEN GOTO *MENUE 13580 GOSUB 13480 13590 IF T=0 THEN 13610 13600 IF SGN (T)<>N THEN 13560 13610 GOTO 13570 13620 LOCATE 4,1:PRINT USING "Xschn=######.######";X:LINE (20,15)-(200,15) 13630 LOCATE 4,2:PRINT USING "Yschn=######.######";R:EGAL$=INPUT $(1):GCURSOR (70,15):GOSUB *UHR 13640 X=X-0.0008:GOSUB 13480 13650 X=X-0.0008:X=INT (X/L)*L+L:CC=L:N=-N:GOTO 13570 13660 *SCHNITTPUNKT:IF PUNKT13 OR MENGE<>2 THEN GOTO *MENUE 13680 GOSUB *WINDOW:LINE (20,15)-(200,15):GCURSOR (70,15):GOSUB *UHR 13690 YY=1/(10^6):CC=0.2:L=0.2 13700 GOSUB 13480 13710 IF SGN (T)<>0 THEN LET N=SGN (T):GOTO 13570 13720 X=X-1:GOTO 13700 13730 GOTO 13480 13740 *UHR:GPRINT "81C3E5DDE5C381":RETURN 13750 *PFTASTEN 13760 GPRINT "1F05050004021F000A0A001F021F001F1515001F0E1F001F101F001F151500000000000000000000000000001F05050017151D000A0A0A001F0507001F111F00001F001F0E1F00011F01":RETURN 13770 *DEMO 13780 LINE (89,15)-(239,15) 13790 LINE (164,0)-(164,30) 13800 LINE (88,0)-(88,30),&H5555 13810 LINE (88,31)-(239,31),&H5555 13820 LOCATE 2,2:PRINT "MATHE - CAD" 13830 GCURSOR (18,32):GOSUB *BYSVEN 13840 RETURN 13850 *BYSVEN 13860 GPRINT "00007C5428000C700C000000485424004000000048542400384444007C107C00007C00007C141400047C04007C5454007C345C0000":RETURN 13870 *WINDOW 13880 FOR I=13 TO 21 STEP 8 13890 GCURSOR (21,I):GPRINT "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; 13900 GPRINT "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" 13910 NEXT I 13920 GCURSOR (21,26):GPRINT "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; 13930 GPRINT "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" 13940 LINE (20,5)-(200,27),BF 13950 LINE (24,27)-(202,29),BF 13960 LINE (200,9)-(202,26),BF 13970 RETURN 13980 *ERROR 13990 IF ERL =130 THEN DIM A$(4),XWERT(151),YWERT1(151),YWERT2(151):BERECHNEN=1:POS=164:MAX=99999.999:DIFF=0.00000001:RESUME 10130 14000 IF ERL =11990 THEN LET YWERT1(NUMMER)=0:RESUME NEXT 14010 IF ERL =12060 THEN LET YWERT2(NUMMER)=0:RESUME NEXT 14020 IF ERL =12070 OR ERL = 12090 THEN LET YWERT2(NUMMER)=0:RESUME 12120 14030 IF ERL = 10690 OR ERL =960 OR ERL =11260 THEN OPEN "F:DATEI.00$"FOR OUTPUT AS #1 :CLOSE #1:RESUME