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