Impressum
GoTo:
Home
 
Domain erwerben Akazien Verlag   
 
Lesezeichen [ Info # QR-Code # Software ]Mo 18 Dez 2017 00:22:25


 huecker.com # Grundlagen der Programmierung.
--

 

. PHP L e k t i o n e n ( Mon Dec 18 00:22:24 2017 ) .

07 . Mathematik.

Rechnen mit PHP ist geradezu ein Kinderspiel. - Dort finden sich sowohl Funktionen für die Nutzung der elementaren Grundrechenarten - als auch wissenschaftliche Funktionen für Anwendungen (nahezu) jeder Art, die kaum noch Wünsche offen lassen dürften.

 

. Rechenbeispiele .


<?

$math = array ( 25, 12, 49, 10, 255, ff );

echo "<p>$math[0] + $math[1] = " . ( $math[0] + $math[1] );
echo "<br>$math[0] - $math[1] = " . ( $math[0] - $math[1] );

echo "<p>$math[0] * $math[1] = " . ( $math[0] * $math[1] );
echo "<br>$math[0] / $math[1] = " . ( $math[0] / $math[1] );
printf("<p>$math[0] / $math[1] = " . '%0.2f', $math[0] / $math[1] ); // Format

echo "<p>Quadrat von $math[1] = " . pow( $math[1], 2 ); // Quadrat
echo "<p>Wurzel aus $math[2] = " . sqrt( $math[2] ); // Wurzel

$wurzel = sqrt( $math[2] );
echo ( "<br>Wurzel aus $math[2] = $wurzel" ); // Wurzel

echo "<p>$math[4] in Hex = " . dechex ( $math[4] );
echo "<br>$math[5] in Dec = " . hexdec ( $math[5] );

echo "<p>Modulo ( $math[0] / $math[3] ) = " . $math[0] % $math[3];

?>
 

Wer beklagt, dass seine Programme oftmals nicht das machen, was er möchte, sollte stets bedenken, dass Computer, - ganz ähnlich wie die Menschen -, in der Regel nicht machen, was man gerne möchte, - sondern genau das tun, was man ihnen sagt.

Testen ( . Syntax Dateiname: name.php, - bspw. mathe.php ! . )

 

. Zufallszahlen .


<?

mt_srand ((double)microtime()*1000000); // Zufallsgenerator aktivieren.
$digit = mt_rand ( 1, 10 ); // Zufallszahl aus 1 bis 10 generieren.

echo ( "Die Zufallszahl aus 1 bis 10 lautet: - $digit - !
| <a href=\"random.php\">Reload</a>" );
 
?>
 

Funktionen für die Generierung von Zufallszahlen werden sowohl für die Gestaltung dynamischer Web-Seiten als auch für den Betrieb eines Servers benötigt, zum Beispiel um zeitsparend und ökonomisch sichere Passwörter für die Benutzer zu erzeugen.

Testen ( . Syntax Dateiname: name.php, - bspw. random.php ! . )

 

. Ziehung der Lottozahlen .


<?

$digits = array ();
while ( count( $digits ) <= 6 ) {
  mt_srand((double)microtime()*1000000);
  $digit = mt_rand( 1, 49 );
  if ( in_array($digit, $digits) == 0 ) {
   if ($digit < 10) { $digit = "0$digit"; };
   $digits[] = $digit;
  }
};

sort ( $digits );
echo ( "<p>6 aus 49: " );
for ($i=1; $i <= 6; $i++) { echo $digits[$i] . " "; };
echo ( " | <a href=\"lotto.php\">Reload</a>" );
 
?>
 

Ein Mausklick auf Testen erzeugt die Glückszahlen für die kommende Ziehung der Lottozahlen. Wird damit auch noch der Jackpot geknackt, - erwartet der begnadete Programmierer natürlich auch einen wirklich angemessenen Anteil vom Gewinn.

Testen ( . Syntax Dateiname: name.php, - bspw. lotto.php ! . )

 

. dem Zufall auf der Spur .


<?

mt_srand((double)microtime()*1000000);

while ( ++$n <= 3 ) {

 unset( $x, $rand, $sum );
 while ( ++$x <= 30000 ) {
  $i = mt_rand( 1, 7 );
  $rand[$i] += 1;
 };

 ksort ( $rand );
 for ($i=1; $i <= 7; $i++) {
  echo $rand[$i] . " "; $sum += $rand[$i];
 }; echo ( " ( = $sum ) <br>" );

};

echo ( "<p># <a href=\"zufall.php\">Reload</a>" );
 
?>
 

Das Beispiel demonstriert, dass sich die Zufallszahlen - auch bei Wiederholung - annähernd gleich auf die Zahlen des gewählten Wertebereichs 1 (min) bis 7 (max) verteilen und somit innerhalb des Wertebereichs nahezu ausbalanciert sind.

Testen ( . Syntax Dateiname: name.php, - bspw. zufall.php ! . )


Die Zufallszahlen eines Computers sind als Ergebnis von Algorithmen, von exakten Berechnungen, keineswegs zufällig. Es sind Pseudo-Zufallszahlen. - Zufallszahlen existieren nur in unserer Umwelt, beim Zerfall von Stoffen oder beim Wetter.


--
[ Home | Top ]
[ . Forward . ]
Der Inhalt dieser Seite wurde am 24.05.2016 um 12.16 Uhr aktualisiert.
Navigation Seminare Magic Software Projekte Publikationen Kontakt Home
 
   huecker dot com * Germany
© 1999, 2017 Franz-Josef Hücker. All Rights Reserved.
Send Page Print Page LinkedIn follow me on twitter RSS Feeds & Podcasts