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