diff --git a/PRIMZAHL/PRIM.BAS b/PRIMZAHL/PRIM.BAS new file mode 100644 index 0000000..03d204f --- /dev/null +++ b/PRIMZAHL/PRIM.BAS @@ -0,0 +1,88 @@ +5 STP=40 +6 DIM TIR(STP+1) +10 CLS +20 COLOR 15 +30 INPUT "Geben Sie den Anfangswert fr die Primzahlen an:", ANF +40 IF ANF = 0 THEN ANF = 1 +50 INPUT "Geben Sie den Maximalwert fr die Primzahlen an:", MAX +60 CLS +70 HOUR=VAL(LEFT$(TIME$,2)):MINU=VAL(MID$(TIME$,4,2)):SEC=VAL(RIGHT$(TIME$,2)):TI=MINU+(SEC/100)/.6 +80 DIM V(MAX - ANF) +90 B = 12 +100 C = 0 +110 L = 1 +120 G = 9 +130 H = 1 +140 A = ANF +150 U = ANF +160 FOR Z = 1 TO A +170 Y = A / Z +180 HOURD=VAL(LEFT$(TIME$,2)):MIND=VAL(MID$(TIME$,4,2)):SECD=VAL(RIGHT$(TIME$,2)) +181 MIND=MIND+((HOURD-HOUR)*60) +182 TID=MIND+(SECD/100)/.6 +190 TIDIFF=TID-TI:MN=INT(TIDIFF):SC=(TIDIFF-MN)*100*.6 +195 IF PER=0 THEN 260 +200 NOW=NOW+1 +210 TIR(NOW)=TIDIFF/(PER/100) +220 IF NOW=STP THEN NOW=0 ELSE 260 +230 FOR NUMM=1 TO STP +240 TIR=TIR+TIR(NUMM) +250 NEXT NUMM +251 TIR=TIR/STP +252 BM=INT(TIR):BS=((TIR)-BM)*100*.6 +260 LOCATE 1, 1: PRINT USING "Aktuelles Ergebnis: #####.###### Zeit: ##:##";Y;MN;SC +270 LOCATE 2, 1: PRINT USING "Momentaner Teiler : ##### noch: ##:##";Z;BM;BS +280 LOCATE 3, 1: PRINT USING " schon #####x geteilt"; X +290 LOCATE 4, 1: PRINT USING "Aktuelle Zeile : #####"; B - 11 +300 LOCATE 5, 1: PRINT USING "Primzahlen insges.: #####"; C +310 PER = ((A - ANF) * 100) / (MAX - ANF): IF ANF = 1 THEN PER = (A * 100) / MAX +320 LOCATE 6, 1: PRINT USING "Aktuelle Zahl : ##### von ##### das sind ###.##%"; A; MAX; PER +330 LOCATE 7, 1: PRINT USING " Noch ##### Werte"; MAX - A +340 LOCATE 11, 1: PRINT SPACE$(80) +350 IF Y = INT(Y) THEN GOSUB 750 +360 NEXT Z +370 LOCATE 9, 1: PRINT SPACE$(80) +380 LOCATE 10, 1: PRINT SPACE$(80) +390 G = 9 +400 H = 1 +410 IF X = 2 OR A = 1 THEN GOSUB 470 +420 X = 0 +430 A = A + 1 +440 IF A > MAX THEN LOCATE 23, 1: GOTO 560 +450 IF W = 1 THEN GOSUB 530: W = 0 +460 GOTO 160 +470 REM Unterroutine +480 LOCATE 3, 60: SOUND 2000, .5 +490 COLOR 12, 0, 0: PRINT "Primzahl gefunden...": COLOR 14, 0, 0: C = C + 1: X = 0 +500 LOCATE B, L: PRINT USING"#####";A: L = L + 6: IF L > 75 THEN L = 1: B = B + 1: IF B > 23 THEN B = 12: L = 1 +510 V(U) = A: U = U + 1: W = 1 +520 RETURN +530 REM Unterroutine +540 COLOR 15, 0, 0: LOCATE 3, 60: PRINT SPACE$(20) +550 RETURN +560 REM Endroutine +570 PRINT "Wenn fertig Taste drcken..." +580 A$ = INKEY$: IF A$ = "" THEN 580 +590 CLS +600 COLOR 14, 0, 0 +610 A = 1 +620 B = 1 +630 C = 1 +640 L = 1 +650 FOR Z = ANF TO MAX +660 IF V(Z) = 0 THEN GOTO 700 +670 LOCATE B, C: PRINT V(Z) +680 C = C + 5: IF L > 75 THEN B = B + 1: C = 1: IF B > 23 THEN B = 1 +690 NEXT Z +700 COLOR 10 +710 LOCATE 23, 1: PRINT "Wenn bereit Taste drcken..." +720 A$ = INKEY$: IF A$ = "" THEN 720 +730 CLS : COLOR 15, 0, 0 +740 END +750 REM Teiler in Q +760 X = X + 1 +770 LOCATE G, H: COLOR 10: PRINT USING "#####";Z: H = H + 6: IF H > 75 THEN G = G + 1: H = 1 +780 IF G > 10 THEN G = 9 +790 COLOR 15 +800 RETURN + \ No newline at end of file diff --git a/PRIMZAHL/PRIM1.BAS b/PRIMZAHL/PRIM1.BAS new file mode 100644 index 0000000..6a915f5 --- /dev/null +++ b/PRIMZAHL/PRIM1.BAS @@ -0,0 +1,13 @@ +10 CLS +20 B=5 +30 C=1 +40 A=1 +50 FOR Z=1 TO A +60 Y=A/Z +70 LOCATE 1,1:PRINT Y;" " +80 LOCATE 2,1:PRINT A;" " +90 IF Y=INT(Y) THEN X=X+1:IF A=D THEN 110 ELSE LOCATE B,C:PRINT A:D=A:C=C+3:IF C>75 THEN B=B+1:C=1 +110 NEXT Z +120 A=A+1 +130 GOTO 50 + \ No newline at end of file diff --git a/PRIMZAHL/PRIM2.BAS b/PRIMZAHL/PRIM2.BAS new file mode 100644 index 0000000..c314a67 --- /dev/null +++ b/PRIMZAHL/PRIM2.BAS @@ -0,0 +1,48 @@ +10 CLS +20 INPUT"Geben Sie den Maximalwert fr die Primzahlen an:",MAX +30 CLS +40 DIM V(MAX) +50 B=5 +60 C=1 +70 A=1 +80 U=1 +90 FOR Z=1 TO A +100 Y=A/Z +110 LOCATE 1,1:PRINT Y;" " +120 LOCATE 2,1:PRINT A;" " +130 IF Y=INT(Y) THEN X=X+1 +140 NEXT Z +150 IF X=2 OR A=1 THEN GOSUB 210 +160 X=0 +170 A=A+1 +180 IF A>MAX THEN LOCATE 23,1:GOTO 310 +190 IF W=1 THEN GOSUB 280:W=0 +200 GOTO 90 +210 REM Unterroutine +220 LOCATE 3,1:SOUND 2000,.5 +230 COLOR 12,0,0:PRINT"Primzahl gefunden...":COLOR 14,0,0 +240 X=0:LOCATE B,C:PRINT A:C=C+5:IF C>75 THEN C=1:B=B+1 +250 V(U)=A:U=U+1 +260 COLOR 15,0,0:LOCATE 3,1:PRINT"Primzahl gefunden..." +270 RETURN +280 REM Unterroutine +290 COLOR 15,0,0:LOCATE 3,1:PRINT"Primzahl gefunden..." +300 RETURN +310 REM Endroutine +320 PRINT"Wenn fertig Taste drcken..." +330 A$=INKEY$:IF A$="" THEN 330 +340 CLS +350 COLOR 14,0,0 +360 A=1 +370 B=1 +380 C=1 +390 FOR Z=1 TO MAX +400 IF V(Z)=0 THEN GOTO 430 +410 LOCATE B,C:PRINT V(Z) +420 C=C+5:IF C>75 THEN B=B+1:C=1 +430 NEXT Z +440 COLOR 10 +450 LOCATE 23,1:PRINT"Wenn bereit Taste drcken..." +460 A$=INKEY$:IF A$="" THEN 460 +470 CLS:COLOR 15,0,0 + \ No newline at end of file diff --git a/PRIMZAHL/PRIMF2.BAS b/PRIMZAHL/PRIMF2.BAS new file mode 100644 index 0000000..f77d4b7 --- /dev/null +++ b/PRIMZAHL/PRIMF2.BAS @@ -0,0 +1,70 @@ +10 CLS +20 COLOR 15 +30 INPUT"Geben Sie den Anfangswert fr die Primzahlen an:",ANF +40 IF ANF=0 THEN ANF=1 +50 INPUT"Geben Sie den Maximalwert fr die Primzahlen an:",MAX +60 CLS +70 DIM V(MAX) +80 B=12 +90 C=1 +100 G=9 +110 H=1 +120 A=ANF +130 U=1 +140 FOR Z=1 TO A +150 Y=A/Z +160 LOCATE 1,1:PRINT "Akt. Ergebnis: ";Y;" " +170 LOCATE 2,1:PRINT "Mom. Teiler : ";Z;" " +180 LOCATE 3,1:PRINT " schon ";X;"x geteilt " +190 LOCATE 4,1:PRINT "Akt. Zeile : ";B-11;" " +200 LOCATE 5,1:PRINT "Primzahlen : ";(C-1)/5;" " +210 LOCATE 6,1:PRINT "Akt. Zahl : ";A;"von ";MAX;" " +220 LOCATE 7,1:PRINT " Noch ";MAX-A;" Werte " +230 LOCATE 11,1:PRINT SPACE$(80) +240 IF Y=INT(Y) THEN GOSUB 630 +250 NEXT Z +260 LOCATE 9,1:PRINT SPACE$(80) +270 LOCATE 10,1:PRINT SPACE$(80) +280 G=9 +290 H=1 +300 IF X=2 OR A=1 THEN GOSUB 360 +310 X=0 +320 A=A+1 +330 IF A>MAX THEN LOCATE 23,1:GOTO 450 +340 IF W=1 THEN GOSUB 420:W=0 +350 GOTO 140 +360 REM Unterroutine +370 LOCATE 3,33:SOUND 2000,.5 +380 COLOR 12,0,0:PRINT"Primzahl gefunden...":COLOR 14,0,0 +390 X=0:LOCATE B,C:PRINT A:C=C+5:IF C>75 THEN C=1:B=B+1:IF B>23 THEN B=12:C=1 +400 V(U)=A:U=U+1:W=1 +410 RETURN +420 REM Unterroutine +430 COLOR 15,0,0:LOCATE 3,33:PRINT" " +440 RETURN +450 REM Endroutine +460 PRINT"Wenn fertig Taste drcken..." +470 A$=INKEY$:IF A$="" THEN 470 +480 CLS +490 COLOR 14,0,0 +500 A=1 +510 B=1 +520 C=1 +530 FOR Z=1 TO MAX +540 IF V(Z)=0 THEN GOTO 570 +550 LOCATE B,C:PRINT V(Z) +560 C=C+5:IF C>75 THEN B=B+1:C=1:IF B>23 THEN B=1 +570 NEXT Z +580 COLOR 10 +590 LOCATE 23,1:PRINT"Wenn bereit Taste drcken..." +600 A$=INKEY$:IF A$="" THEN 600 +610 CLS:COLOR 15,0,0 +620 END +630 REM Teiler in Q +640 X=X+1 +650 IF X>2 THEN 310 +660 IF X>=2 AND Z75 THEN G=G+1:H=1 +680 COLOR 15 +690 RETURN + \ No newline at end of file diff --git a/PRIMZAHL/PRIMFAST.BAS b/PRIMZAHL/PRIMFAST.BAS new file mode 100644 index 0000000..5fe8d71 --- /dev/null +++ b/PRIMZAHL/PRIMFAST.BAS @@ -0,0 +1,56 @@ +10 CLS +20 COLOR 15 +30 INPUT"Geben Sie den Maximalwert fr die Primzahlen an:",MAX +40 CLS +50 DIM V(MAX) +60 B=12 +70 C=1 +80 A=1 +90 U=1 +100 FOR Z=1 TO A +110 Y=A/Z +120 LOCATE 1,1:PRINT "Akt. Ergebnis: ";Y;" " +130 LOCATE 2,1:PRINT "Mom. Teiler : ";Z;" " +140 LOCATE 3,1:PRINT " schon ";X;"x geteilt " +150 LOCATE 4,1:PRINT "Akt. Zeile : ";B-11;" " +160 LOCATE 5,1:PRINT "Primzahlen : ";(C-1)/5;" " +170 LOCATE 6,1:PRINT "Akt. Zahl : ";A;"von ";MAX;" " +180 LOCATE 7,1:PRINT " Noch ";MAX-A;" Werte " +190 LOCATE 11,1:PRINT SPACE$(80) +200 IF Y=INT(Y) THEN X=X+1 +210 IF X>2 THEN 250 +220 IF X=2 AND ZMAX THEN LOCATE 23,1:GOTO 390 +280 IF W=1 THEN GOSUB 360:W=0 +290 GOTO 100 +300 REM Unterroutine +310 LOCATE 3,33:SOUND 2000,.5 +320 COLOR 12,0,0:PRINT"Primzahl gefunden...":COLOR 14,0,0 +330 X=0:LOCATE B,C:PRINT A:C=C+5:IF C>75 THEN C=1:B=B+1:IF B>23 THEN B=12:C=1 +340 V(U)=A:U=U+1:W=1 +350 RETURN +360 REM Unterroutine +370 COLOR 15,0,0:LOCATE 3,33:PRINT" " +380 RETURN +390 REM Endroutine +400 PRINT"Wenn fertig Taste drcken..." +410 A$=INKEY$:IF A$="" THEN 410 +420 CLS +430 COLOR 14,0,0 +440 A=1 +450 B=1 +460 C=1 +470 FOR Z=1 TO MAX +480 IF V(Z)=0 THEN GOTO 510 +490 LOCATE B,C:PRINT V(Z) +500 C=C+5:IF C>75 THEN B=B+1:C=1:IF B>23 THEN B=1 +510 NEXT Z +520 COLOR 10 +530 LOCATE 23,1:PRINT"Wenn bereit Taste drcken..." +540 A$=INKEY$:IF A$="" THEN 540 +550 CLS:COLOR 15,0,0 + \ No newline at end of file diff --git a/PRIMZAHL/PRIMZ.BAS b/PRIMZAHL/PRIMZ.BAS new file mode 100644 index 0000000..4141ca8 --- /dev/null +++ b/PRIMZAHL/PRIMZ.BAS @@ -0,0 +1,72 @@ +10 CLS +20 COLOR 15 +30 INPUT "Geben Sie den Anfangswert fr die Primzahlen an:", ANF +40 IF ANF = 0 THEN ANF = 1 +50 INPUT "Geben Sie den Maximalwert fr die Primzahlen an:", MAX +60 CLS +70 DIM V(MAX - ANF) +80 B = 12 +90 C = 0 +100 L = 1 +110 G = 9 +120 H = 1 +130 A = ANF +140 U = ANF +150 FOR Z = 1 TO A +160 Y = A / Z +170 LOCATE 1, 1: PRINT USING "Aktuelles Ergebnis: #####.######"; Y +180 LOCATE 2, 1: PRINT USING "Momentaner Teiler : #####"; Z +190 LOCATE 3, 1: PRINT USING " schon #####x geteilt"; X +200 LOCATE 4, 1: PRINT USING "Aktuelle Zeile : #####"; B - 11 +210 LOCATE 5, 1: PRINT USING "Primzahlen insges.: #####"; C +220 PER = ((A - ANF) * 100) / (MAX - ANF): IF ANF = 1 THEN PER = (A * 100) / MAX +230 LOCATE 6, 1: PRINT USING "Aktuelle Zahl : ##### von ##### das sind ###.##%"; A; MAX; PER +240 LOCATE 7, 1: PRINT USING " Noch ##### Werte"; MAX - A +250 LOCATE 11, 1: PRINT SPACE$(80) +260 IF Y = INT(Y) THEN GOSUB 660 +270 NEXT Z +280 LOCATE 9, 1: PRINT SPACE$(80) +290 LOCATE 10, 1: PRINT SPACE$(80) +300 G = 9 +310 H = 1 +320 IF X = 2 OR A = 1 THEN GOSUB 380 +330 X = 0 +340 A = A + 1 +350 IF A > MAX THEN LOCATE 23, 1: GOTO 470 +360 IF W = 1 THEN GOSUB 440: W = 0 +370 GOTO 150 +380 REM Unterroutine +390 LOCATE 3, 60: SOUND 2000, .5 +400 COLOR 12, 0, 0: PRINT "Primzahl gefunden...": COLOR 14, 0, 0: C = C + 1: X = 0 +410 LOCATE B, L: PRINT USING"#####";A: L = L + 6: IF L > 75 THEN L = 1: B = B + 1: IF B > 23 THEN B = 12: L = 1 +420 V(U) = A: U = U + 1: W = 1 +430 RETURN +440 REM Unterroutine +450 COLOR 15, 0, 0: LOCATE 3, 60: PRINT SPACE$(20) +460 RETURN +470 REM Endroutine +480 PRINT "Wenn fertig Taste drcken..." +490 A$ = INKEY$: IF A$ = "" THEN 490 +500 CLS +510 COLOR 14, 0, 0 +520 A = 1 +530 B = 1 +540 C = 1 +550 L = 1 +560 FOR Z = ANF TO MAX +570 IF V(Z) = 0 THEN GOTO 610 +580 LOCATE B, C: PRINT V(Z) +590 C = C + 5: IF L > 75 THEN B = B + 1: C = 1: IF B > 23 THEN B = 1 +600 NEXT Z +610 COLOR 10 +620 LOCATE 23, 1: PRINT "Wenn bereit Taste drcken..." +630 A$ = INKEY$: IF A$ = "" THEN 630 +640 CLS : COLOR 15, 0, 0 +650 END +660 REM Teiler in Q +670 X = X + 1 +680 LOCATE G, H: COLOR 10: PRINT USING "#####";Z: H = H + 6: IF H > 75 THEN G = G + 1: H = 1 +690 IF G > 10 THEN G = 9 +700 COLOR 15 +710 RETURN + \ No newline at end of file diff --git a/PRIMZAHL/PRIMZABF.BAS b/PRIMZAHL/PRIMZABF.BAS new file mode 100644 index 0000000..729b510 --- /dev/null +++ b/PRIMZAHL/PRIMZABF.BAS @@ -0,0 +1,28 @@ +10 CLS +20 INPUT"Geben Sie den Maximalwert fr die Primzahlen an:",MAX +30 CLS +40 B=5 +50 C=1 +60 A=1 +70 FOR Z=1 TO A +80 Y=A/Z +90 LOCATE 1,1:PRINT Y;" " +100 LOCATE 2,1:PRINT A;" " +110 IF Y=INT(Y) THEN X=X+1 +120 NEXT Z +130 IF X=2 OR A=1 THEN GOSUB 190 +140 X=0 +150 A=A+1 +160 IF A>MAX THEN LOCATE 23,1:END +170 IF W=1 THEN GOSUB 250:W=0 +180 GOTO 70 +190 REM Unterroutine +200 LOCATE 3,1:SOUND 2000,.5 +210 COLOR 12,0,0:PRINT"Primzahl gefunden...":COLOR 14,0,0 +220 X=0:LOCATE B,C:PRINT A:C=C+5:IF C>75 THEN C=1:B=B+1 +230 COLOR 15,0,0:LOCATE 3,1:PRINT"Primzahl gefunden..." +240 RETURN +250 REM Unterroutine +260 COLOR 15,0,0:LOCATE 3,1:PRINT"Primzahl gefunden..." +270 RETURN + \ No newline at end of file