home *** CD-ROM | disk | FTP | other *** search
- 10 'Primzahlenberechnung
- 20 'Verfahren: Sieb des Eratosthenes
- 30 :
- 40 'von S. HÜbner
- 50 :
- 100 REM
- 110 DIM A(1000)
- 120 CLS:GOSUB 480
- 130 IF WAHL =4 THEN GOTO 1000
- 140 IF WAHL = 5 THEN GOTO 410
- 150 LOCATE 16,2
- 160 INPUT"Bitte Obergrenze eingeben : ",NMAX
- 170 PRINT" "
- 180 A(1) = 2
- 190 A(2) = 3
- 200 ZAEHLER = 2
- 210 IF WAHL = 4 THEN GOTO 1000
- 220 :
- 230 REM ********************************************
- 240 REM SCHLEIFE ZUR BERECHNUNG DER PRIMZAHLEN
- 250 FOR N = 5 TO NMAX STEP 2
- 260 PRIM = 0
- 270 I = 2
- 280 WHILE (I < ZAEHLER) AND (A(I) < SQR(N)) AND (PRIM = 0)
- 290 HILF = (N MOD I)
- 300 IF HILF = 0 THEN PRIM = 1
- 310 I = I + 1
- 320 WEND
- 330 IF PRIM = 0 THEN GOSUB 430
- 340 NEXT N
- 350 :
- 360 ON WAHL GOSUB 690,800,890
- 370 :
- 380 PRINT
- 390 PRINT"weiter mit RETURN... ";
- 395 LINE INPUT DUMMY$
- 400 GOTO 120
- 410 PRINT
- 420 END
- 430 ZAEHLER = ZAEHLER + 1
- 440 A(ZAEHLER) = N
- 450 RETURN
- 460 :
- 470 REM ********************************
- 480 REM Menue
- 490 REM
- 500 LOCATE 1,30
- 510 PRINT" PRIMZAHL"
- 520 LOCATE 2,30
- 530 PRINT" ********"
- 531 LOCATE 20,3,:PRINT" PD Version 1.0 by Siegfried Hübner, Obere Vorstadt 21, 8812 Windsbach"
- 540 LOCATE 4,10
- 550 PRINT"Nur berechnen : 1"
- 560 LOCATE 6,10
- 570 PRINT"Mit Ausgabe auf Drucker : 2"
- 580 LOCATE 8,10
- 590 PRINT"Speichern : 3"
- 600 LOCATE 10,10
- 610 PRINT"Einlesen und ausgeben : 4"
- 620 LOCATE 12,10
- 630 PRINT"Ende : 5"
- 640 LOCATE 14,2
- 650 INPUT"Ihre Wahl : ",WAHL
- 651 locate 20,3:print string$(70,32)
- 660 RETURN
- 670 :
- 680 REM ************************************
- 690 REM Ausgabe auf Monitor
- 700 PRINT" I P(I)"
- 710 PRINT" "
- 720 FOR I = 1 TO ZAEHLER STEP 1
- 730 U$ = "#### #####"
- 740 PRINT USING U$;I,A(I)
- 750 IF (I MOD 20) = 0 THEN PRINT"Weiter mit RETURN ... ";:LINE INPUT DUMMY$
- 760 NEXT I
- 770 RETURN
- 780 :
- 790 REM **************************************
- 800 REM Ausgabe auf dem Drucker
- 810 LPRINT " I P(I)"
- 820 LPRINT"-------------------------"
- 830 FOR I = 1 TO ZAEHLER STEP 1
- 840 LPRINT I,A(I)
- 850 NEXT I
- 860 RETURN
- 870 :
- 880 REM ***************************************
- 890 REM Speichern auf Datenträger
- 900 PRINT" "
- 910 INPUT"Bitte Laufwerk, Pfad und Dateiname eingeben :",PFAD$
- 920 OPEN "O",#1,PFAD$
- 930 FOR I = 1 TO ZAEHLER STEP 1
- 940 WRITE #1,A(I)
- 950 NEXT I
- 960 CLOSE #1
- 970 RETURN
- 980 :
- 990 REM *****************************************
- 1000 REM Lesen von Datenträger
- 1010 PRINT" "
- 1020 INPUT"Bitte Laufwerk, Pfad und Dateiname eingeben : ",PFAD$
- 1030 ZAEHLER = 0
- 1040 I = 1
- 1050 OPEN "I",#1,PFAD$
- 1060 WHILE NOT EOF(1)
- 1070 INPUT #1,A(I)
- 1080 I = I + 1
- 1090 ZAEHLER = ZAEHLER + 1
- 1100 WEND
- 1110 GOSUB 690
- 1120 GOTO 120
-