Übungsblatt 5: Funktionen und Dateizugriff

Aufgabe 1: Taschenrechner IV

Im ersten Teil des letzten Übungsblatts erweiterten Sie den Taschenrechner um zwei Funktionen zur Berechnung des Produkts und des Maximums einer Menge von Zahlen. Gliedern Sie den hierfür erforderlichen Code in eigene Funktionen prod($arr) und _max($arr) aus (der Unterstrich dient hier dazu, ihre max-Funktion von der PHP-Funktion zu unterscheiden), die jeweils ein Feld von Zahlen als Parameter erwarten und den Wert des Produkts bzw. Maximums zurückgeben. Aus den Funktionen heraus erfolgen keine Ausgaben in das Browserfenster. Die Funktionen werden innerhalb der if-elseif- bzw. switch-Anweisung der PHP-Datei des Taschenrechners aufgerufen.

Schreiben Sie den Code der Funktionen prod($arr) und _max($arr) nun in eigene PHP-Dateien, die im gleichen Verzeichnis wie die Originaldatei liegen und binden Sie diese Dateien mittels include()-Anweisungen in die Originaldatei ein.


Aufgabe 2: Taschenrechner V

Sollen längere Berechnungen durchgeführt werden, so ist eine Logbuch-Funktion nützlich, bei der alle bisher durchgeführten Rechnungen protokolliert und vor der Ausgabe des Ergebnisses der letzten Rechnung angezeigt werden. Implementieren Sie eine derartige Logbuch-Funktion mittels einer auf dem Server von ihrem PHP-Taschenrechner automatisch angelegten Datei.

Die Datei wird vor Durchführung der aktuellen Rechnung geöffnet und ihr bisheriger Inhalt angezeigt. Darunter - mit einer Leerzeile dazwischen - wird das aktuelle Rechenergebnis eingeblendet, wie im Beispiel in Abbildung 1.

Abb.1: Taschenrechner mit Logbuchfunktion

Das Ergebnis der Rechnung wird darauffolgend in die Logbuchdatei geschrieben, um die nächste Ausgabe vorzubereiten. Danach wird die Logbuch-Datei geschlossen. Realisieren Sie die zweifache Ausgabe - einmal für das Browserfenster, einmal für die Logbuch-Datei - mittels einer Funktion _echo(), die die Funktionalität der Originalfunktion echo() entsprechend erweitert. Ersetzen Sie dann die Aufrufe von echo() in ihrer PHP-Datei durch Aufrufe der neuen Funktion _echo().

Von Zeit zu Zeit ist es hilfreich, ein neues Rechenblatt beginnen zu können, damit in einer neuen Berechnung keine alten Ergebnisse stehen. Erweitern Sie zu diesem Zweck die Radio Buttons ihres Taschenrechners um eine Funktion Clear zum Löschen der Logbuch-Datei auf dem Server (Abb. 2). Überlegen Sie, wie sie diese Funktionalität mit den auf den Vorlesungsfolien aufgeführten Datei-Zugriffsmodi erreichen können.

Abb.2: Taschenrechner mit Clear-Funktion