Primzahlalgorithmus
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ü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öchte sollte auch nur natürliche Zahlen eingeben. <br>Dieser Test ist geeignet fü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ä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