Processing math: 13%

Primzahlalgorithmus

Ein Beispiel für Algorithmen
Ermittlung der Teiler einer Zahl, damit im Zusammenhang wird getestet, ob eine Zahl prim ist oder nicht.
Das Programm selber ist in Aktion --> hier <-- zu finden.
Der Quelltext des Programms (bzw. der Seite, in der das Programm eingebunden ist) wird im folgenden aufgezeigt. In der rechten Spalte ist die Erklärung zu finden.

<hmtl> Einleitender Befehl für alle Internetseiten
 <head> Beginn des "Kopfes" einer Seite
 <title>Teiler einer Zahl</title>  Titel einer Seite - nicht mit dem Dateinamen verwechsen
 </head>  Endes des Kopfes
 <body> Beginn des  "Körpers" der Seite - das was direkt im Browserfenster sieht.
 <H1>Teiler einer Zahl</H1>
Hat eine nat&uuml;rliche Zahl nur 1 und sich selbst als Teiler, dann ist es eine Primzahl. Somit ist dies auch ein Primzahltest.<br>
Wer realistische Ergebnisse m&ouml;chte sollte auch nur nat&uuml;rliche Zahlen eingeben.
<br>Dieser Test ist geeignet f&uuml;r Zahlen bis 1 000 000 000.
<p>
<h1> Überschrift</h1>
<br> auch <br /> ezwingt einen Zeilenumbruch
<p> Neuer Absatz, sollte mit /p> beendet werden.
<form action="" method="get">
<input type="real" name="ein" size="8" value="">  Zahl eingeben<br>
<input type="submit" name="submit" value=" Teiler ermitteln" >
</form> 
Formular: action - wo werden die Daten verarbeitet (hier auf der Seite selbst) wie werden die daten übergeben: hier "get"
<inpute type="real" ... Eingabefeldfür die Variable ein 8 Stellen breit und es wird der zuletzt eingegebene Wert wieder angezeigt
<input type="submit" ... Button zur Verarbeitung mit der Beschriftung "Teiler ermitteln"
 <?php
extract ($_GET);
Beginn des PHP-Programmes
Bereitstellen der Variable des aus dem Formular hier ist das: $ein
 if ((ein>1000000000)or(ein < 0))

Abfrage ob keine zulässige Zahl eingeben wurde (statt or kann || stehen)
echo "andere Zahl w&auml;hlen";  falls ja wird "andere Zahl auswählen" ausgegeben
 else
{
sonst
{ leitet den Rest des Programms ein
  z=0;end= round(sqrt($ein),0); z=0 - z- zählt die Divisionen die keinen Rest ergeben haben end hier: abgerundet die Wurzel aus der eingegebenen Zahl
  for (c = 1; c<=end; c=$c+1)
    {
    test= ein%c;     if (test==0)
      {d = ein/c;       z=z +1;       echo "c und d sind Teiler von  ein <br>";
      }
    else
    echo " ";
    }
Eine Schleife - sich wiederholende Berechnung - die  die Werte von 1 bis end durchläuft
test = ein%c; % ist eine PHP-Funktion, die den Rest von ein : c ausgibt if ... ist der Rest Null, wird der zweite Teiler von ein ermittelt und es erhöht sich $z um 1 anschließend werden die Teiler ausgegeben
ist der Rest nicht Null, dann wird nichts ausgegeben - echo " "
   {if (z==1)     echo "<br> ein ist eine Primzahl";
    else echo "";
    }
Ist die Anzahl der Teilungen ohne Rest bei Eins geblieben wird $ein ist eine Primzahl ausgegeben.
}  Ende des ersten else
 ?> Ende des PHP - Programmes
 </body>  Ende des Bodyteiles
 </html>  Ende der Html- Seite


PAP kommt noch