Screenshot 1 Screenshot 2
2bc0 36b2 e000 B ... MATHE.B
Super - Arithmetik ******************** 1 ... Addition 2 ... Subtraktion 3 ... Multiplikation 4 ... Division 5 ... Potenzieren 6 ... Fakultaeten 7 ... Blocklaenge 8 ... GGT 9 ... Brüche add/sub
Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)

   10 GOTO 1000
  600 W$="Basis   ":GOSUB 1100:B=VAL(Z$)
  610 W$="Exponent":GOSUB 1100:N=VAL(Z$)
  620 R=INT(N*LN(B)/LN(10)/5)+1:U=0:E(1)=1
  630 FOR K=1 TO N:FOR I=1 TO R
  640 H=E(I)*B+U:IF H<-100000 THEN U=0:GOTO 660
  650 U=INT(H/100000):H=H-U*100000
  660 E(I)=INT(H+.5):NEXT:NEXT
  670 A$="":FOR A=1 TO R:B$=MID$(STR$(E(A)),2)
  680 A$=RIGHT$("0000"+B$,5)+A$:NEXT
  690 FOR A=1 TO LEN(A$):E(A)=VAL(MID$(A$,A,1)):NEXT:N=A-1
  700 PRINT "Ergebnis : ";:GOTO 1140
  710 W$="1. Faktor":GOSUB 1100:A$=Z$
  720 W$="2. Faktor":GOSUB 1100:B$=Z$:N=LEN(A$):M=LEN(B$)
  730 IF M>N THEN B$=A$:A$=Z$:J=M:M=N:N=J
  740 FOR I=0 TO N+M:E(I)=0:NEXT
  750 FOR J=M TO 1 STEP-1:V=VAL(MID$(B$,J,1))
  760 K=0:IF V=0 THEN NEXT:GOTO 800
  770 FOR I=N TO 1 STEP-1:U=VAL(MID$(A$,I,1))
  780 T=U*V+E(I+J)+K:K=INT(T/10)
  790 E(I+J)=T-K*10:NEXT:E(I+J)=K:NEXT
  800 A1=1:A2=N+M:PRINT "Produkt   : ";:GOTO 1150
  810 W$="Minuend   ":GOSUB 1100:A$=Z$
  820 W$="Subtrahend":GOSUB 1100:B$=Z$:GOSUB 900
  830 IF J=1 THEN PRINT "Minuend < Subtrahend !":GOTO 1200
  840 J=0:FOR A=N TO 1 STEP-1:A1=VAL(MID$(A$,A,1)):B1=VAL(MID$(B$,A,1))+J
  850 J=0:IF A1-B1<0 THEN J=1:A1=A1+10
  860 E(A)=A1-B1:NEXT:IF J=1 THEN PRINT "Minuend < Subtrahend !":GOTO 1200
  870 PRINT "Differenz  : ";:GOTO 1140
  880 W$="1. Summand":GOSUB 1100:A$=Z$
  890 W$="2. Summand":GOSUB 1100:B$=Z$:GOSUB 900:GOTO 930
  900 J=0:N=LEN(A$):M=LEN(B$):Z=M:IF M>N THEN M=N:N=Z:B$=A$:A$=Z$:J=1
  910 IF N>M THEN B$=STRING$(N-M,"0")+B$
  920 RETURN
  930 J=0:FOR A=N TO 1 STEP-1:E=VAL(MID$(A$,A,1))+VAL(MID$(B$,A,1))+J:J=0
  940 IF E<10 THEN E(A)=E:NEXT:E(0)=J:PRINT "Summe      : ";:GOTO 1140
  950 J=1:E=E-10:E(A)=E:GOTO 940
  960 INPUT "Neue Blocklaenge :";BL:PRINT:IF BL<0 OR BL>INT(BL)THEN 960:ELSE RETURN
 1000 CLEAR 800:FOR A=0 TO 9:READ W$(A):NEXT:DIM E(500):BL=3
 1010 N=0:GOSUB 1060:FOR N=1 TO 9:PRINT "  "N "... "W$(N):PRINT:NEXT
 1020 PRINT:PRINT:PRINT "Tipp die Ziffer deiner Wahl."
 1030 I$=INKEY$:IF I$=""THEN 1030
 1040 IF I$<"1"OR I$>"9"THEN WINDOW:CLS:END
 1050 N=VAL(I$):GOSUB 1060:ON N GOSUB 880,810,710,4,600,6,960,1300,1400:GOTO 1010 
 1060 WINDOW:CLS:L=LEN(W$(N)):L2=16-INT(L/2+.5):PRINT AT(0,L2);W$(N)
 1070 PRINT AT(1,L2-1);STRING$(L+2,"*"):WINDOW 4,31,0,31:RETURN
 1080 DATA Super - Arithmetik,Addition,Subtraktion,Multiplikation
 1090 DATA Division,Potenzieren,Fakultaeten,Blocklaenge,GGT,"Br}che add/sub"
 1100 PRINT W$;:INPUT " :";Z$:PRINT:A=0:IF Z$=""THEN 1100
 1110 A=A+1:IF A>LEN(Z$)THEN RETURN
 1120 IF MID$(Z$,A,1)>" "THEN 1110
 1130 Z$=LEFT$(Z$,A-1)+MID$(Z$,A+1):A=A-1:GOTO 1110
 1140 A1=0:A2=N
 1150 J=0:FOR A=A1 TO A2
 1160 IF E(A)=0 AND J=0 THEN NEXT
 1170 IF BL=0 OR J=0 THEN 1190
 1180 IF INT((A2-A+1)/BL)=(A2-A+1)/BL THEN PRINT " ";
 1190 J=1:PRINT MID$(STR$(E(A)),2);:NEXT
 1200 PRINT:PRINT:PRINT:PRINT TAB(23);">RETURN<"
 1210 I$=INKEY$:IF I$<>CHR$(13)THEN 1210:ELSE RETURN
 1300 CLS:INPUT "1. Zahl :";A
 1310 INPUT "2. Zahl :";B:GOSUB 1350:PRINT
 1320 PRINT "GGT     :";GT:PRINT
 1330 PRINT "Z1/GGT  :";A:PRINT "Z2/GGT  :";B
 1340 GOTO 1200
 1350 A=ABS(A):B=ABS(B):AS=A:BS=B
 1360 R=A-B*INT(A/B):IF R=0 THEN GT=B:A=AS/GT:B=BS/GT:RETURN
 1370 A=B:B=R:GOTO 1360
 1400 PRINT "Add. / Subtr. (+/-) : ";
 1410 A$=INKEY$:IF A$<>"+"AND A$<>"-"THEN 1410
 1420 PRINT A$:PRINT
 1430 INPUT "1.Bruch: Z{hler :";A
 1440 INPUT "         Nenner :";B
 1450 GOSUB 1350:A1=A:B1=B:PRINT
 1460 INPUT "2.Bruch: Z{hler :";A
 1470 INPUT "         Nenner :";B
 1480 GOSUB 1350:A2=A:B2=B:PRINT
 1490 IF A$="-"THEN 1510
 1500 Z=A1*B2+A2*B1:GOTO 1520
 1510 Z=A1*B2-A2*B1
 1520 S=SGN(Z):N=B1*B2:A=Z:B=N:GOSUB 1350
 1530 PRINT:X=A1:GOSUB 1700:PRINT "  ";:X=A2:GOSUB 1700
 1540 X=A*S:GOSUB 1700
 1550 PRINT "--------- ";A$;" ---------=---------"
 1560 X=B1:GOSUB 1700:PRINT "  ";:X=B2:GOSUB 1700:X=B:GOSUB 1700:PRINT:GOTO 1200
 1700 Z$=RIGHT$("        "+STR$(X),9):PRINT Z$;" ";:RETURN