Variablen und Namenskonventionen in PHP

19. Februar 2010



PHP-Variablen können ganze Zahlen, Gleitkommazahlen, Zeichenketten, boolsche Werte (true/false), Arrays, Objektreferenzen oder Funktionsreferenzen aufnehmen.

Variablennamen können in PHP beliebig lang sein und müssen immer mit einem Dollarzeichen ($) beginnen. Das zweite Zeichen muss ein Buchstabe sein. Alle weiteren Zeichen können Buchstaben, Ziffern oder Unterstriche (underscore) sein. Sonderzeichen, Leerzeichen oder Umlaute sind nicht erlaubt.

Die Namen von PHP-Anweisungen oder Funktionen dürfen natürlich nicht als Variablennamen verwendet werden.

Achtung: PHP unterscheidet bei Variablennamen streng zwischen Groß- und Kleinschreibung.


Kommentare in PHP

19. Februar 2010

Einzeilige Kommentare:

Einzeilige Kommentare werden meist für kurze Anmerkungen oder Erklärungen verwendet. Sie werden entweder durch zwei Schrägstriche ( // ) oder durch ein # eingeleitet und gehen jeweils bis zum Ende der Zeile.

Beispiel:

   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
    <html>
    <head>
       <title>Hello World</title>
    </head>
    <body>
       <?php
          echo "erste Anweisung";  // erste PHP-Anweisung
          echo "zweite Anweisung"; # zweite PHP-Anweisung
       ?>
    </body>
    </html>




Mehrzeilige Kommentare:

Mehrzeilige Kommentare werden üblicherweise für längere Erklärungen oder Erläuterungen benutzt, z.B. um den programmierten Algorithmus darzustellen oder um Nebenbedingungen aufzuführen. Sie werden wie auch in C/C++ durch die beiden Zeichen /* eingeleitet und durch */ abgeschlossen.

Beispiel:

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
    <html>
    <head>
       <title>Hello World</title>
    </head>
    <body>
       <?php
          echo "Hello World !";  // PHP-Anweisung
          /* diese Anweisung wird nicht ausgeführt
             echo "nächste Anweisung"; */
       ?>
    </body>
    </html>


Wertebereich von Zahlen in PHP

19. Februar 2010

Ganze Zahlen:

Ganze Zahlen (Integers) müssen im Bereich von -2.147.483.648 bis +2.147.483.647 liegen. Größere Zahlen werden vom Interpreter automatisch in eine Dezimalzahl gewandelt. Innerhalb des Programms können ganze Zahlen auch als Oktalzahlen (Basis 8 ) oder Hexadezimalzahlen (Basis 16) angegeben werden. Genau wie in C/C++ oder Java sieht der Interpreter Zahlen mit führender Null als Oktalzahl an und Zahlen, die mit 0x beginnen, als Hexadezimalzahlen.

Beispiele:

  	$Integer = 19;
    	$OktalZahl = 0712;
    	$HexZahl = 0xF7;



Gleitkommazahlen:

Der Wertebereich von Gleitkommazahlen (Floating Point Numbers) liegt zwischen 1,7E-308 und 1,7E+308. Als Trennzeichen muss in jedem Fall ein Punkt verwendet werden, das Dezimalkomma ist nicht zulässig. Neben der normalen Schreibweise kann auch die sog. wissenschaftliche Schreibweise verwendet werden.

Beispiele:

    	$OelPreis = 0.7994;
    	$Saldo = 41.22;
   	$OffSet = 17.5E-4;


Liste aller Tags in HTML 4.0

19. Februar 2010

Die folgende Tabelle listet alle TAGs auf, die im W3C-Standard HTML 4 (bzw. 4.01 vom 24. Dezember 1999) definiert sind.

Nach den Planungen des WWW-Consortiums stellt Version 4.01 den allerletzten SGML-basierten HTML-Standard dar der entwicklet wird. Für alle zukünftigen Entwicklungen und Standards in diesem Bereich wird die Extensible Markup Language (XML) als Grundlage verwendet. Dementsprechend tragen die Weiternetwicklungen von HTML die Bezeichnung XHTML. Der Standard XHTML 1.0 ist im Prinzip nur eine etwas striktere Neufassung von HTML 4.01 auf XML-Basis. Neue Features sind nicht hinzugekommen.


Die Tags, die in der Tabelle rot gekennzeichnet sind wurden im Standard als “deprecated” markiert und werden in späteren Versionen von XHTML nicht mehr enthalten sein. Die gelb markierten Tags sollten möglichst nicht mehr verwendet werden, sondern durch Stylesheets ersetzt werden.

Start-Tag End-Tag Bedeutung
<a> </a> definiert entweder einen Anchor (name) oder einen Verweis auf eine andere Ressource (href)
<acronym> </acronym> damit kann ein Akronym (Abkürzung) gekennzeichnet werden. Mit dem Attribute title wird der Abkürzung der ausgeschriebene Text zugeordnet, so dass Suchmaschinen darauf zugreifen können.
<address> </address> für Autor- und Kontaktinformation. Wird von Browser meist kursiv dargestellt
<applet> </applet> einbinden von Java-Applets
<area> dient dem definieren von Bereichen innerhalb einer Image-Map
<b> </b> Fettschrift
<base> definiert eine Basis-URL für relative Verweise
<basefont> damit kann die Größe der Standardschrift festgelegt werden.
<big> </big> der Text wird in einer größeren Schrift ausgegeben
<blockquote> </blockquote> markiert einen Zitalblock, der sich über mehrere Zeilen erstreckt. Der Block wird eingerückt.
<body> </body> markiert Anfang und Ende des Bereichs, in dem der Seiteninhalt festgelegt wird
<br> Zeilenumbruch
<button> </button> definiert eine Schaltfläche innerhalb eines Formulars
<caption> </caption> definiert eine Beschriftung einer Tabelle, die außerhalb der Tabelle dargestellt wird. Muss unmittelbar auf den Start-Tag der Tabelle folgen.
<center> </center> zentriert ein oder mehrere Elemente. An Stelle von <center> sollte <div align="center"> verwendet werden.
<cite> </cite> markiert ein Zitat oder eine Referenz. Wird vom Browser kursiv dargestellt.
<code> </code> damit wird Programmcode ausgezeichnet, der im Dokument erscheien soll. Wird vom Browser in einer Schriftart mit fester Breite (monospaced) dargestellt.
<col> kann verwendet werden, um Attribute für eine oder mehrere Tabellenspalten zu definieren
<colgroup> </colgroup> gruppiert eine Menge von Tabellenspalten, so dass dafür gemeinsame Attribute festgelegt werden können.
<dd> </dd> Definition Data (Definition eines definition Terms)
<del> </del> damit wird Text gekennzeichnet, der zwar nicht mehr angezeigt, aber in dem Dokument erhalten werden soll
<dfn> </dfn> dient zum Auszeichnen von Begriffsdefinitionen
<dir> </dir> Verzeichnisliste
<div> </div> damit kann ein Block in kleinere Blöcke oder Bereiche unterteilt werden. Den einzelnen Bereichen können dann unterschiedliche Style-Attribute (CSS) zugewiesen werden
<dl> </dl> markiert Anfang und Ende einer definition List
<dt> </dt> Definition Term (innerhalb einer definition List)
<em> </em> hervorgehobener Text (emphasis). Wird vom Browser kursiv dargestellt.
<fieldset> </fieldset> wird benutzt um eine Menge von Formularelementen zu gruppieren
<font> </font> Text in einer bestimmten Größe oder Farbe ausgeben
<form> </form> legt Anfang und Ende einer Formulardefinition fest
<frame> </frame> legt fest, was ein einem bestimmten Frame dargestellt wird
<frameset> </frameset> unterteilt das Browserfenster in verschiedene unabhängige Bereiche (Frames)
<h1> </h1> Überschrift Level 1 (größte Schrift)
<h2> </h2> Überschrift Level 2
<h3> </h3> Überschrift Level 3
<h4> </h4> Überschrift Level 4
<h5> </h5> Überschrift Level 5
<h6> </h6> Überschrift Level 6 (kleinste Schrift)
<head> </head> markiert Anfang und Ende des Head-Bereichs
<hr> fügt eine horizontale Linie ein
<html> </html> markiert Beginn und Ende des HTML-Dokumets
<i> </i> der von dem TAG eingeschlossene Text wird kursiv ausgegeben
<iframe> </iframe> fügt innerhalb eines Textblocks einen Inline-Frame ein, in dem ein beliebiges anderes Dokument angezeigt werden kann.
<img> Bilder (gif, jpeg, png) in das Dokument einbinden
<input> </input> definiert ein Formularelement (Eingabefeld, Checkbox, …)
<ins> </ins> kann verwendet werden um Text zu markieren, der nachträglich in das Dokument eingefügt wurde
<isindex> ermöglicht die Suche nach einem Schlüsselwort
<kbd> </kbd> kennzeichnen von Text, der vom User als Kommando oder in ein Textfeld eingegeben werden soll. Wird vom Browser in einer Schrift mit fester Breite (monospaced) angezeigt.
<label> </label> definiert ein Beschriftungsfeld, das mit einem anderen Formularelement assoziiert wird
<legend> </legend> wird benutzt um einer mit <fieldset> erzeugten Gruppe von Formularelementen eine Beschriftung zu geben
<li> </li> List Item (Listeneintrag)
<link> verbindet das Dokument mit einem Style-Sheet oder mit einem Font-File. Kann nur innerhalb des Head-Bereichs verwendet werden.
<map> </map> definieren von Client-Side Image-Maps
<menu> </menu> erzeugt eine Liste mit einer Zeile pro Element
<meta> damit können Metainformationen über das Dokument spezifiziert werden, wie z.B. Verfallsdatum, Zeichensatz, Autor. Kann nur innerhalb des Head-Bereichs verwendet werden
<noframes> </noframes> legt fest, was angezeigt wird wenn der Browser keine Frames unterstützt
<noscript> </noscript> legt fest, was angezeigt wird wenn der Browser ein Skript nicht interpretieren kann
<object> </object> einbinden von Java-Applets, Multimedia-Objekten oder Skipts
<ol> </ol> markiert Anfang und Ende einer ordered list (Liste mit Nummerierung)
<option> </option> definiert eine Auswahlmöglichkeit in einer <select>-Auswahlliste
<p> </p> Anfang und Ende eines Absatzes
<param> definieren von Parametern für eingebettete Objekte. Kann nur innerhalb der Tags object oder applet verwendet werden.
<pre> </pre> vorformatierter Text (Zeilenumbrüche und Leerzeichen bleiben erhalten). Wird in einer Schrift mit fester Breite (monospaced) angezeigt.
<q> </q> damit werden kürzere Zitate innerhalb eines Textes (inline Zitate) gekennzeichnet.
<s> </s> durchgestrichener Text
<samp> </samp> damit werden Beispielausgaben von Programmen oder Skripten gekennzeichnet. Wird vom Browser in einer Schrift mit fester Breite (monospaced) angezeigt.
<script> </script> definiert ein Skript (z.B. JavaScript oder VBScript), das vom Browser abgearbeitet (interpretiert) werden soll
<select> </select> erzeugt innerhalb eines Formulars eines Auswahlliste
<small> </small> der Text wird in einer kleineren Schriftgröße ausgegeben
<span> </span> dient dem Zusammenfassen mehrerer Blöcke oder Tags zu einer größeren Gruppe, so dass dieser Gruppe gemeinsame Style-Attribute (CSS) zugewiesen werden können
<strike> </strike> durchgestrichener Text
<strong> </strong> stark hervorgehobener Text (strong emphasis). Wird vom Browser in fetter Schrift dargestellt.
<style> </style> damit kann innerhalb des Head-Bereichs des Dokuments ein inline-Style-Sheet definiert werden
<sub> </sub> kennzeichnet Text, der tiefergestellt dargestellt werden soll
<sup> </sup> kennzeichnet Text, der hochgestellt dargestellt werden soll
<table> </table> markiert Anfang und Ende einer Tabelle
<tbody> </tbody> definiert den Tabellenkörper
<td> </td> definiert den Inhalt einer Tabellenzelle. Kann nur innerhalb von <tr> verwendet werden
<textarea> </textarea> erzeugt ein multiline Eingabefeld. Kann nur innerhalb einer Formulardefinietion verwendet werden.
<tfoot> </tfoot> damit kann ein Fussbereich für ein Tabelle festgelegt werden (wird auf jeder Druckseite unten ausgegeben)
<th> </th> dient der Definition von Spaltenüberschriften in einer Tabelle. Kann nur innerhalb von <tr> verwendet werden.
<thead> </thead> damit wird der Kopfbereich einer Tabelle definiert (wird auf jeder Druckseite der Tabelle oben ausgegeben, z.B. für Spaltenüberschriften)
<title> </title> legt den Titel des HTML-Dokuments fest. Der Browser zeigt den Titel der Seite in der Regel in der Titelzeile des Browserfenster an. Kann nur innerhalb des Head-Bereichs verwendet werden.
<tr> </tr> definiert eine Tabellenzeile
<tt> </tt> mit diesem Tag kann Text in einer Schriftart mit festem Abstand (monospaced) ausgeben werden
<u> </u> unterstrichener Text
<ul> </ul> markiert Anfang und Ende einer unordered List (Liste mit Aufzählungszeichen)
<var> </var> kann verwendet werden, um Platzhalter oder Variablen zu kennzeichnen. Wird vom Browser in der Regel kursiv dargestellt.


Gauß Verfahren

19. Februar 2010

Das Gauß Verfahren zum Lösen von
Gleichungssystemen mit mehr als 2 Unbekannten

Zu Anfang wird das Ausgangsgleichungssystem in eine Koeffizienten-Matrix umgewandelt:
Bsp:
1×1 + 5×2 –   x3        = 5    —>        1  5  -1  |  5
5×1 – 4×2 +   x3        = 9    —>        5 -4  1   |  9
9×1 + 7×2 + 2×3      = 19    —>        9  7  2   |  19

Als erstes wird die erste Zahl der ersten Gleichung durch Multiplizieren der Gleichung mit einer Zahl auf 1 gesetzt.

Als nächstes wird die zweite Gleichung mit einem Vielfachen der ersten Gleichung addiert, so dass eine 0 an die erste Stelle der 2. Gleichung kommt.

Dies wird mit allen Gleichungen gemacht, so dass alle Gleichungen(bis auf die Erste) eine 0 an der ersten Stelle stehen haben.

Anschließend wird die zweite Stelle der zweiten Gleichung durch Multiplizieren der Gleichung mit einer Zahl auf 1 gesetzt.


In Folge dessen werden alle Gleichungen nacheinander mit einem Vielfachen der zweiten Gleichung Addiert, so dass alle Gleichungen(bis auf die Zweite) eine 0 an der Zweiten Stelle haben.

Nach diesem Schema wird weitergearbeitet, bis eine Einheitsmatrix entstanden ist.

Die Ergebnisse, die hinter der Einheitsmatrix stehen, bezeichnen von oben beginnend die Ergebnisse von x1 bis xn.

Mögliches Ergebnis:

1  0  0  0 | 4
0  1  0  0 | 6
0  0  1  0 | -4            x1 = 4        x2 = 6        x3 = -4    x4 = -1
0  0  0  1 | -1


Mein Erstes Flash Game

19. Februar 2010

Hi,
Vor 2 Jahren habe ich angefangen mein erstes eigenes Flash Game zu Programmieren, in der Zeit habe ich es immer Stück für Stück verbessert.
Jetzt ist es immernoch nicht perfekt und wird immernoch von mir verbessert=)

Hier der Link, wie es momentan aus sieht:

http://www.catch-the-boxes.de.vu


Das HTML Grundgerüst

19. Februar 2010

<html>
<head>
… Angaben im HEAD …
</head>
<body>
… Angaben im BODY …
</body>
</html>


Bestimmung von Funktionsvorschriften

19. Februar 2010

Bestimmung von Funktionsvorschriften

  • 1) Ansatz für die Funktionsgleichung
    • Als erstes wird ein allgemeiner Ansatz aufgestellt, welcher folgendermaßen aussieht:
      • 1. Grades: ax + b
      • 2. Grades: ax² + bx + c
      • 3. Grades: ax³ + bx² + cx + d
      • 4. Grades: ax4 + bx³ + cx² + dx + e
      • 5. Grades: ax5 + bx4 + cx³ + dx² + ex + f
      • usw.
    • Vorsorglich werden noch die ersten beiden Ableitungen erstellt.
      • Beispiel: Ableitungen des allgemeinen Ansatzes einer Funktion 3. Grades:
        • 1. Ableitung: 3ax² + 2bx + c
        • 2. Ableitung: 6ax + 2b

  • 2) Eigenschaften der Funktion
    • Meistens ist ein Graph vorgegeben, aus dem so viele Eigenschaften abgelesen werden müssen, wie unbekannte Variablen im allgemeinen Ansatz vorkommen. Zum Beispiel müssen bei einer Funktion 3. Grades vier Eigenschaften gefunden werden.
      • Bei einem Extremum (Höchst- oder Tiefpunkt) muss die 1. Ableitung der Funktion an der Stelle x null sein.
        • f ‘(x) = 0
      • Bei einem normalen Punkt muss die Funktion an der Stelle x y ergeben.
        • f (x) = y
      • Bei einem Wendepunkt muss die 2. Ableitung der Funktion an der Stelle x null sein.
        • f ”(x) = 0
      • Beispiele: (x|y)
        • Punkt (1| 4) → f (1) = 4
        • Tiefpunkt (4|3) → f ‘ (4) = 0
        • Höchstpunkt (9|1) → f ‘ (9) = 0
        • Wendepunkt (5|2) → f ” (5) = 0


  • 3) Umsetzen der Eigenschaften in Gleichungen
    • Als nächstes werden die Eigenschaften durch einfaches einsetzen in die Funktionen in Gleichungen umgewandelt.
      • Hier werden als Beispiel die oben genannten Beispiel-Eigenschaften in eine Funktion 3. Grades eingesetzt:
        • f (1) = 4 → 4 = a*1³ + b*1² + c*1 + d
        • f ‘ (4) = 0 → 0 = 3*a*4² + 2*b*4 + c
        • f ‘ (9) = 0 → 0 = 3*a*9² + 2*b*9 + c
        • f ” (5) = 0 → 0 = 6*a*5 + 2*b
    • Danach werden die Funktionen noch vereinfacht ( Es wird ausgerechnet, was ausgerechnet werden kann)
      • Hier wieder die Funktionen des Beispiels oben:
        • 4 = a + b + c + d
        • 0 = 48a + 8b + c
        • 0 = 243a + 18b + c
        • 0 = 30a + 2b
  • 4) Lösen des Gleichungssystems
    • Die Gleichungen werden mit dem Additionsverfahren oder den Gauß- Verfahren gelöst.
  • 5) Resultat
    • Als letztes werden die ausgerechneten Werte für a, b , c usw. in die Funktionsgleichung eingesetzt.