blikk info infothek forum galerie sitemap

Test auf Primzahl

zur Aufgabenstellung
   

Autoren:

Ulrich R. und Julian F. 

Gewerbeoberschule'Max Valier'Bozen Kl.3IA

 

 

PSEUDOCODE:

 

{Die Funktion prüft ob eine Zahl eine Primzahl 

ist}                          

  wenn zahl=2 dann       

    prim:= richtig

  sonst

    wenn (zahl<=1) oder (zahl MOD 2=0) dann       

       prim:= falsch

     sonst                                         

       k:= 3;                                     

       prim:= richtig

       Solange (k*k <=zahl) und prim mache        

         wenn zahl MOD k=0 dann                   

           prim:= falsch

         sonst

           k:= k+2;

       ende Solange

    ende sonst

   ende sonst

   istprim:=prim;

 

{Hauptprogramm} 

 Schreibe(            ' Primzahlüberprüfung')

 Schreibe

 Schreibe

 Schreibe

 Schreibe('Bitte geben sie eine Zahl ein')

 Lese(n)                                           

 wenn istprim(n) dann                           

   Schreibe('Es ist eine Primzahl')             

 Sonst

   schreibe('Es ist keine Primzahl');           

 

 

QUELLCODE:

 

PROGRAM primzahl;  

                              

{Prüft ob eine Zahl eine Primzahl ist}

FUNCTION istprim (zahl: LONGINT): BOOLEAN;        

 VAR                                            

   k: LONGINT;                                  

   prim: BOOLEAN;

 BEGIN

   IF zahl = 2 THEN                                

     prim := TRUE

     ELSE BEGIN

     IF (zahl<=1) OR (zahl MOD 2=0) THEN        

           prim := FALSE

     ELSE BEGIN                                 

       k := 3;                                   

       prim :=TRUE;

       WHILE (k*k <= zahl) AND prim DO BEGIN     

         IF zahl MOD k = 0 THEN                   

           prim := FALSE

         ELSE

           k:= k + 2;

       END;

     END;

   END;

   istprim := prim;

 END;

 

{Beginn des Hauptprogrammes}

VAR

 n:INTEGER;

BEGIN

 Writeln(            ' Primzahlüberprüfung');

 Writeln;

 Writeln;

 Writeln;

 Writeln('Bitte geben sie eine Zahl ein');

 Readln(n);                                     

 IF istprim(n) THEN          

   Write('Es ist eine Primzahl')              

 ELSE

   Write('Es ist keine Primzahl');            

 Readln;

END.          

 

 

Zurück                                  

nach oben