Hallo Leute,
vor nen paar Tagenmeinte ich zu meiner Mathelehrerin ich würd noch ein Referat über das pascallsche Dreieck halten, so mit allem möglichem drum und dran, und so, dass die Mitschüler selbst ausprobieren können was für Muster dran kommen usw.. Hat alles funkltioniert, das Dreieck ist dynamisch aufgebaut (mit PHP ohne Db). Ausrechnen tut er mir auch alles bis ins unermessliche, kein Thema, aber sobald ich Durch x Teilbare Zahlen markieren lassen möchte macht er Probleme. Bis in die 30igste Reihe funktioniert alles wunderbar(oder n paar mehr). Anschließend setzen markierte Felder aus. betrachtet man es sich genau entsteht eine Parabel. Die aufm Kopf steht O.o ... Man sieht es aber nur wenn man die Einstellung auf Minimal stellt. Sja am besten mal selbst anschauen: http://pascal.topfkuchration.de . Wisst ihr woran das liegen könnte? Evtl. Serverleistung? Aber ausrechnen tut ers ja, und während es ausgerechnet wird, wird auch überprüft ob Farbig oder nicht ...
Naja, guckt mal falls interessiert.
Mfg, Felix.
Quellcode(Kompletter Inhalt in dieser Datei!):
<?
$tab=$_GET["tab"];// Übergabe der Aktuellen Pascal-Einstellungen
$pascal=$_GET["pascal"];// Übergabe der Aktuellen Seite
$c = $_POST["faktor"];// Übergabe der "Durch x Teilbare Zahl"
//Links (Wird immer ausgegeben)
echo "
<table border=0 width=$table_width><tr><td>
<body bgcolor=black link=#FFFFFF alink=#FFFFFF vlink=#FFFFFF text=#FFFFFF>
[url='?pascal=pascal&tab=$tab>Gewöhnliches'] | <a href=?pascal=faktorium&tab=$tab>Durch x Teilbare Zahlen markieren[/url] | [url='?pascal=fibonatschi&tab=$tab>Fibonatschi</a>']2er Potenz[/url] | <a href=?pascal=einstellungen&tab=$tab>Einstellungen</a>
";
// !!--!! Links
//Faktorium
if ($pascal == "faktorium")
{
echo"
<form action='' method='POST'>Durch <input type=text name=faktor size=5> Teilbare Zahlen (Natürliche)
<input type= \"submit\">
</form>
";
}
// !!--!! Faktorium
//Einstellungen
if ($pascal=="einstellungen")
{
echo"
<form action='' method='GET'>Größe:<select name=tab><option value=0>Minimalverbrauch</option><option value=1>Klein</option><option value=2>Normal</option></select>
<input type= \"submit\">
</form>
";
}
if ($tab=="")
{
$a=42;//Tabellenhöhe/breite
$d=3;//Schriftgröße
$e=22;//Reihenanzahl
$b = $a;//Tabellenhöhe/breite
$table_width = "1180";
$f = 1;
}
if ($tab=="0")
{
$a=15;//Tabellenhöhe/breite
$d=1;//Schriftgröße
$e=60;//Reihenanzahl
$b = $a;//Tabellenhöhe/breite
$table_width = "100%";
$f = 0;
}
if ($tab=="1")
{
$a=42;//Tabellenhöhe/breite
$d=1;//Schriftgröße
$e=30;//Reihenanzahl
$b = $a;//Tabellenhöhe/breite
$table_width = "1510";
$f = 1;
}
if ($tab=="2")
{
$a=42;//Tabellenhöhe/breite
$d=3;//Schriftgröße
$e=22;//Reihenanzahl
$b = $a;//Tabellenhöhe/breite
$table_width = "1180";
$f = 1;
}
// !!--!! Einstellungen
//
//Pascal
//
//Angezeigtes pascallsches Dreieck mit normalen Einstellungen
if($tab == "" OR $tab == "1" OR $tab == "2")
{
$id = 1;
$wert = 1;
$reihe = 1;
$platz = 1;
$zahl[$reihe][$platz] = $wert;
if($f==0){$wert=0;}
echo "
<div align=center><table border=1><tr width=100%><td width=$a height=$b align=center><font color=white size=$d>".$f*$wert."</td></tr></table>";
while ($platz == $reihe)
{
$id++;
$reihe++;
$platz=1;
$wert=1;
$zahl[$reihe][$platz] = $wert;
$zahl[$reihe][0] = 0;
if($f==0){$wert=0;}
echo "<table border=1><tr width=100%><td width=$a height=$b align=center><font color=white size=$d>".$wert*$f."</td>";
while ($platz < $reihe)
{
$id++;
$Nreihe = $reihe;
$Nreihe--;
$Aplatz = $platz;
$platz++;
$Bplatz = $platz;
$Azahl = $zahl[$Nreihe][$Aplatz];
$Bzahl= $zahl[$Nreihe][$Bplatz];
$wert = $Azahl+$Bzahl;
if($Aplatz == '0' OR $Bplatz == '0') $wert=1;
$zahl[$reihe][$platz] = $wert;
if($f==0){$wert=0;}
if ($c == "") {$color="white";}else{$x = $zahl[$reihe][$platz] / $c; $y = (int)$x; if($x==$y){$color="red";}else{$color="white";}}
echo "<td width=$a height=$b align=center><font color=".$color." size=$d> ".$wert*$f." </font></td>";
}
echo "</tr></table>";if($reihe > $e) exit;
}
echo "</td></tr></table>";
}
//Angezeigtes pascallsches Dreieck bei "Minimal-Einstellungen"
if ($tab == "0")
{
$id = 1;
$wert = 1;
$reihe = 1;
$platz = 1;
$zahl[$reihe][$platz] = $wert;
if($f==0){$wert=0;}
echo "
<div align=center><font color=white size=$d>".$f*$wert."
";
while ($platz == $reihe)
{
$id++;
$reihe++;
$platz=1;
$wert=1;
$zahl[$reihe][$platz] = $wert;
$zahl[$reihe][0] = 0;
if($f==0){$wert=0;}
echo "<font color=white size=$d>".$wert*$f."";
while ($platz < $reihe)
{
$id++;
$Nreihe = $reihe;
$Nreihe--;
$Aplatz = $platz;
$platz++;
$Bplatz = $platz;
$Azahl = $zahl[$Nreihe][$Aplatz];
$Bzahl= $zahl[$Nreihe][$Bplatz];
$wert = $Azahl+$Bzahl;
if($Aplatz == '0' OR $Bplatz == '0') $wert=1;
$zahl[$reihe][$platz] = $wert;
if($f==0){$wert=0;}
if ($c == "") {$color="white";}else{$x = $zahl[$reihe][$platz] / $c; $y = (int)$x; if($x==$y){$color="red";}else{$color="white";}}
echo "<font color=".$color." size=$d> ".$wert*$f." </font>";
}
echo "
";if($reihe > $e) exit;
}
echo "
";
}
//
// !!--!! Pascal
//
?>
Alles anzeigen