10 PRINT "READY"\DIM A$(70),B$(70),C$(70),D$(70),E(100),Y(550) 20 PRINT "PASSWORD: ";\INPUT A$\IF A$="OS/8" THEN 40 30 PRINT\PRINT "INVALID PASSWORD"\PRINT TAB(22);"CALL EXIT"\STOP 40 Z=0\PRINT "READY"\PRINT\INPUT A$\GOTO 300 70 L=0\FOR I=1 TO 70\B$=SEG$(A$,I,I) 75 IF B$<>"#" THEN 77\GOSUB 700\PRINT "ZWISCHENSUMME: ";Z\GOTO 270 77 IF B$<>" " THEN 80\GOSUB 700\Z=VAL(C$)\GOTO 270 80 IF B$<>"+" THEN 90\GOSUB 700\Z=Z+VAL(C$)\GOTO 270 90 IF B$<>"-" THEN 100\GOSUB 700\Z=Z-VAL(C$)\GOTO 270 100 IF B$<>"*" THEN 110\GOSUB 700\Z=Z*VAL(C$)\GOTO 270 110 IF B$<>"/" THEN130\GOSUB 700\IF VAL(C$)=0 THEN 720 120 Z=Z/VAL(C$)\GOTO 270 130 IF B$<>"^" THEN 140\GOSUB 700\Z=Z^VAL(C$) \GOTO 270 140 IF B$<>"W" THEN 150\GOSUB 700\Z=SQR(VAL(C$))\PRINT "=";Z\GOTO 40 150 IF B$<>"S" THEN 160\GOSUB 700\Z=SIN(VAL(C$))\PRINT "=";Z\GOTO 40 160 IF B$<>"C" THEN 170\GOSUB 700\Z=COS(VAL(C$))\PRINT "=";Z\GOTO 40 170 IF B$<>"R" THEN 190\GOSUB 700\INPUT X\Z=VAL(C$)^(1/X)\PRINT 180 PRINT X;"TE WURZEL AUS";VAL(C$);" IST";Z\GOTO 40 190 IF B$<>"L" THEN 200\GOSUB 700\Z=LOG(VAL(C$))*0.43429\PRINT 195 PRINT "DEKADISCHER LOGARITHMUS IST";Z\GOTO 40 200 IF B$<>"N" THEN 210\GOSUB 700\Z=2.71828^(VAL(C$)/0.43429) 205 PRINT "NATUERLICHER LOGARITHMUS IST";Z\PRINT\PRINT\GOTO 40 210 IF B$<>"T" THEN 220\GOSUB 700\Z=ATN(VAL(C$))\PRINT "=";Z\GOTO 40 220 IF B$<>"Q" THEN 230\FOR I1=1 TO 70\PRINT "*";\NEXT I1\PRINT\GOTO 40 230 IF B$<>"A" THEN 240\GOSUB 700\Z=ABS(VAL(C$))\PRINT "=";Z\GOTO 40 240 IF B$<>"=" THEN 250\PRINT "ENDERGEBNIS: ";Z\PRINT\GOTO 40 250 IF B$<>"M" THEN 270\PRINT "SPEICHERN+ ODER -";\INPUT D$ 260 IF D$="+" THEN 265\IF D$<>"-" THEN 267\PRINT "SPEICHER NR."; 262 INPUT H\Y(H)=Y(H)-Z\PRINT Z;" GESPEICHERT NR.";H\GOTO 40 265 PRINT "SPEICHER NR.";\INPUT H\Y(H)=Y(H)+Z\PRINT 266 PRINT Z;" GESPEICHERT NR.";H\GOTO 40 267 PRINT "ILLEGAL SYNTAX"\GOTO 40 270 NEXT I 280 PRINT "ILLEGAL STATEMENT"\GOTO 40 300 IF A$<>"FILE" THEN 305\GOTO 730 305 IF A$<>"RM" THEN 310\PRINT "SPEICHERNUMMER:";\INPUT D$ 306 IF D$<>"MA" THEN 309\PRINT "START,END";\INPUT E1,E2\FOR I1=E1 TO E2 307 PRINT "SPEICHER NR.";I1;Y(I1)\NEXT I1 308 PRINT\GOTO 40 309 INPUT E1\PRINT "SPEICHER NR.";E1,Y(E1)\GOTO 40 310 IF A$<>"STOP" THEN 320\PRINT TAB(22);"CALL EXIT"\STOP 320 IF A$<>"LOESCHEN" THEN 340\PRINT "SPEICHERLOESCHUNG NR."; 330 INPUT D$\IF D$<>"CA" THEN 335\FOR I1=1 TO 500\Y(I1)=0\NEXT I1\GOTO 40 335 D=VAL(D$)\IF D>500 THEN 337\IF D<1 THEN 337\Y(D)=0\PRINT 336 PRINT "SPEICHER MIT NUMMER:";D;" GELOESCHT"\D=0\GOTO 40 337 PRINT "ZU HOHE BZW. ZU TIEFE SPEICHERNUMMER 1-500"\GOTO 40 340 IF A$<>"GLEICHUNG" THEN 460\PRINT "GLEICHUNGSEINGABE IN" 350 PRINT "FOLGENDER FORM:Y=X^A+X*B+C"\PRINT 360 PRINT "EINGABEREIHENFOLGE: X-MIN, X-MAX, A, B, C" 370 INPUT R,S,T,U,V 380 IF R<-20 THEN 410\IF S>20 THEN 420\IF T>15 THEN 450 390 FOR I1=R TO S\E=(I1^T)+(I1*U)+V 400 PRINT "X =";I1,"Y =";E\NEXT I1\PRINT\GOTO 40 410 PRINT "X-MINIMUM LIEGT UNTER -20 NEUE EINGABE"\GOTO 360 420 PRINT "X-MAXIMUM LIEGT UEBER 20 NEUE EINGABEN"\GOTO 360 450 PRINT "HOCHZAHL A IST GROESSER 15 KLEINERE EINGABE"\GOTO 360 460 IF A$<>"KURVE" THEN 550 470 PRINT "GLEICHUNGSEINGABE FOLGENDERMASSEN:Y=X^A+X*B+C" 475 PRINT "X-MIN X-MAX A B C" 480 INPUT R,S,T,U,V 490 FOR I1=R TO S\L1=L1+1\E(L1)=(I1^T)+I1*U+V\NEXT I1\L1=0 500 FOR I1=R TO S\L1=L1+1\IF E(L1)>30 THEN 600\IF E(L1)<-30 THEN 600 505 IF I1>30 THEN 600\IF I1<-30 THEN 600\NEXT I1\L1=0 510 FOR I1=30 TO -30 STEP -1\FOR I2=R TO S 520 L1=L1+1\IF I1<>INT(E(L1)+0.5) THEN 530\PRINT TAB(35+I2);"*" 530 NEXT I2\L1=0\NEXT I1\GOTO 40 540 PRINT 550 GOTO 70 600 PRINT "FUER KURVENDRUCK ZU HOHE ERGEBNISSE ODER EINGABEN" 610 GOTO 470 700 REM SUBROUTINE BERECHNUNG AUS DER $ FUNTION 710 C$=SEG$(A$,L+1,I-1)\L=I\RETURN 720 PRINT "DIVISION DURCH 0 UNMOEGLICH"\GOTO 40 730 PRINT "READ OR WRITE FILE"; 735 INPUT D$\IF D$<>"WRITE" THEN 750 740 FILEV#1:"SYS:DATA3.BA" 742 FOR J=1 TO 500\PRINT#1:Y(J)\NEXT J\CLOSE#1 745 PRINT "SPEICHERINHALTE IN FILE:DATA3.BA GESCHRIEBEN"\GOTO 40 750 PRINT "LESEN VON DATA3"\FILE#2:"SYS:DATA3.BA" 760 FOR I1=1 TO 500\INPUT#2:Y(I1)\IF END#2 THEN 780 770 NEXT I1\PRINT "FILE GELESEN"\PRINT 780 CLOSE#2\PRINT "INHALT KANN AUF DEN SPEICHERN GELESEN WERDEN" 790 GOTO 40 800 PRINT TAB(10);"CALL EXIT"\END