Informatikwiki

Albert Einstein Gymnasium Reutlingen

Benutzer-Werkzeuge

Webseiten-Werkzeuge


funktionen:funktionen03

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
funktionen:funktionen03 [18.11.2011 14:27] Stefan Gaumfunktionen:funktionen03 [29.02.2012 13:56] (aktuell) Stefan Gaum
Zeile 1: Zeile 1:
-====== Lektion Vordefinierte Funktionen ======+====== Lektion Grundlagen zu vordefinierten Funktionen ======
  
 PHP kennt zahlreiche vordefinierte **Funktionen**: PHP kennt zahlreiche vordefinierte **Funktionen**:
Zeile 9: Zeile 9:
 Eine Funktion zeichnet sich meist dadurch aus, dass Sie ein oder mehrere Argumente entgegennimmt und einen Rückgabewert besitzt. Eine Funktion zeichnet sich meist dadurch aus, dass Sie ein oder mehrere Argumente entgegennimmt und einen Rückgabewert besitzt.
  
-Damit man Abläufe, die man in einem Programm häufig benötigt nicht mehrmals in einem Programm einbauen muss, kann man eigene Funktionen definieren. 
  
-====== Eigene Funktionen ====== +[[funktionen:funktionen01|Lektion - Übungen zu vordefinierten Funktionen]]
- +
-Eine **Funktion** besteht aus einem **Funktionskopf** und einem **Funktionsrumpf**. Der Funktionskopf seinerseits besteht aus dem Schlüsselwort ''function'', welches dem Interpreter sagt, dass eine Funtionsdefinition beginnt.  +
- +
-Dann folgt der frei wählbare **Name der Funktion**. Gültige Funktionsnamen müssen mit einem Unterstrich "_" (underscore) oder einem Buchstaben beginnen, danach können weitere Buchstaben, Ziffern oder der Unterstrich in beliebiger Reihenfolge kommen. +
- +
-Nach dem Namen folgt zwischen einem runden Klammernpaar eine mittels Kommata separierte **Parameterliste**, d.h. die Werte und Variablen, die an den Funktionsrumpf übergeben werden.  +
- +
-=== Beispiel === +
- +
-<code php> +
-  function fakultaet($zahl) { +
-      $fak = 1; +
-      for($i=1; $i<=$zahl; $i++) { +
-          $fak = $fak * $i;  +
-      } +
-      return $fak; +
-  } +
-</code> +
- +
-Dieses Beispiel definiert eine Funktion mit dem Namen ''fakultaet'', die beim Aufruf einen Parameter (''$zahl'') erwartet. Dieser wird im Funktionsrumpf verwendet, um die Fakultät der an die Funktion übergebenen Zahl zu berechnen. +
- +
-Der Funktionskopf bestimmt, wie die Funktion aufgerufen wird, nämlich ähnlich wie in der Funktionsdefinition aber ohne das Schlüsselwort ''function''+
- +
-Im Beispiel also +
- +
-<code php> +
-$ergebnis = fakultaet(5); +
-</code> +
- +
-Im Funktionsrumpf befindet sich der Code, der beim Aufruf der Funktion ausgeführt wird - und nur dann. Man kann also alle Funktionen am Beginn des PHP-Skripts definieren und unter den Funktionsdefinitionen das eigentliche Programm beginnen - der Programmcode in den Funktionskörpern wird erst ausgeführt, wenn die betreffende Funktion aufgerufen wird.  +
- +
-Eine Funktion kann (und sollte) einen Wert zurückgeben. Dies geschieht durch den ''return'' Befehl: Durch die Anweisung +
-<code php> +
-return $argument; +
-</code> +
- wird die Ausführung der Funktion an dieser Stelle beendet und das Program springt zurück zu der Stelle, von der die Funktion aufgerufen wurde. Der Wert von ''$argument'' wird dabei an die aufrufende Stelle übergeben und kann dort gespeichert, ausgegeben oder weiterverarbeitet werden. +
- +
-===== Übung 1 ===== +
-{{:htmlcss:work_64.png  |}} Schreibe ein php-Programm, das in einem Formular eine Zahl **X** entgegennimmt und für alle natürlichen Zahlen kleiner als **X** jeweils die Fakultät berechnet und ausgibt. Verwende zur Berechnung der Fakultät eine Funktion wie die obige.  +
- +
- +
-===== Arrays als Argument ===== +
- +
-Man kann als Argument auch ein Array an eine Funktion übergeben, also z.B. so: +
- +
-<code php> +
-$liste = array(10,21,13,19,1,23,2,4); +
-$sortiert = myselectionsort($liste); +
-</code> +
- +
-Hier wird ein Array an die Funktion ''myselectionsort'' übergeben, als Ergebnis sollte ein sortiertes Array zurückgegeben werden. +
- +
-===== Übung 2 ===== +
-{{:htmlcss:work_64.png  |}}  1. Kopiere dein Selection-Sort Programm und schreibe es so um, dass der Sortiervorgang in einer Funktion ausgelagert ist. +
- +
-2. Ergänze deine Funktion um einen zweiten Parameter, mit dem du beim Aufruf der Funktion bestimmen kannst, ob das Array aufsteigend oder absteigend sortiert werden soll. +
- +
-<code php> +
-function myselectionsort($unsortiert, $richtung) { +
- +
- [...] +
- +
-+
- +
-[...] +
-$aufsteigend_sortiert = myselectionsort($unsortiert, "ASC"); +
-$absteigend_sortiert =  myselectionsort($unsortiert, "DESC"); +
-[...] +
-</code>  +
- +
- +
-[[funktionen:funktionen01|Lektion - Übungen zu vordefinierten Funktionen]]+
funktionen/funktionen03.1321626458.txt.gz · Zuletzt geändert: 18.11.2011 14:27 von Stefan Gaum

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki