07 Funktionen (Teil I)

Ähnliche Dokumente
01 Einführung in PHP. Einführung in PHP 1/13 PHP in Aktion

<? $ZeilenMax = 9; $SpaltenMax = 9; echo "<pre>";

GI Vektoren

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Öffnen einer Datei. Programm mit einer Fehlermeldung beendet. open( IN, "datei.txt" ) or die( "open-fail: $!" );

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!

6. Zeiger Allgemeines Definition eines Zeigers

Arbeiten mit Arrays. 4.1 Eigenschaften Schlüssel und Element. Kapitel 4

Kommandozeileneingabe. Einführung in Perl Kommandozeileneingabe etc. Kommandozeileneingabe Optionen. Kommandozeileneingabe Bsp (1)

Wir arbeiten mit Zufallszahlen

Der Datentyp String. Stringvariable und -vergleiche

Kapitel 3: Variablen

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Greenfoot: Verzweigungen

entweder: zeilenweise fgets() oder: zeichenweise fgetc()

Institut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 1. Einführung in die Programmierung Erste Programme

Einführung in Python Übung 1

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

String s1, s2; Eine Zuweisung geschieht am einfachsten direkt durch Angabe des Strings eingeschlossen in doppelte Hochkommata:

Lua - Erste Schritte in der Programmierung

FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz

Vorkurs Informatik WiSe 16/17

Programmieren. Aufgabe 1 (Eine erste Datenstruktur)

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Institut für Informatik und Angewandte Kognitionswissenschaften

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Arrays (Felder/Vektoren)

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

Programmieren in C/C++ und MATLAB

Übungsblatt 2. Java Vorkurs (WS 2015)

Übung Datenstrukturen. Objektorientierung in C++

SQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT

PHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden.

Inhaltsverzeichnis Einleitung xi Kapitel 1: Die Vorbereitung aufs Abenteuer

M. Graefenhan Übungen zu C. Blatt 3. Musterlösung

Variablen und Datentypen

Übungen Programmieren 1 Felix Rohrer. Übungen

Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 5. Blatt Für den 26. und

Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder

Beispiele elementarer Datentypen Ganze Zahlen (integer) Unterbereiche Gleitkommazahlen Festkommazahlen

Makro + VBA 2007 effektiv

Verschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes

Übersicht Shell-Scripten

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Java Cheatsheet. Mehrzeiliger Kommentar (beginnt mit /* und endet mit */)

Probeklausur: BTI2 / Programmieren I Prof. Dr. H. Herold Erlaubte Hilfsmittel: Vorlesungsmitschrift; C-Bücher

Das sind unsere Themen

Programmierkurs Java

Variablen - %Hashes Was ist ein Hash? 'Assoziative Arrays'

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

Einführung in die Programmierung mit VBA

PIWIN 1 Übung Blatt 5

Tutoraufgabe 1 (Hoare-Kalkül):

1 Einleitung PHP. Hauptgebiete in den PHP genutzt wird. Eigenschaften PHP. Dokumentationen. PHP im Umfeld. Browser

M15 - Physical Computing mit dem Raspberry Pi I

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Arbeiten mit der Shell Teil 2

Organisatorisches. drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50

Processing Info zu Variablen und Bedingungen

Übung 9. Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9

Elementare Datentypen in C++

Übungen zur Vorlesung Computergrundlagen WS 2008/09 Fakultät Physik, Universität Stuttgart Jens Harting, Martin Hecht, Bibhu Biswal Blatt 14

10 Block 10: Verwendung von Modulen in Perl

Informatik I. Informatik I. 6.1 Programme. 6.2 Programme schreiben. 6.3 Programme starten. 6.4 Programme entwickeln. 6.1 Programme.

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

1 Vom Problem zum Programm

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST

Informatik B von Adrian Neumann

Benutzerfunktionen Was ist eine Funktion, was ist eine Prozedur?

Objektorientierte Programmierung

Prinzipien der Softwareentwicklung S. Strahringer

PHP/HTML-Exkurs_Aufgabe

Grundlagen der Programmierung

Einstieg in die Informatik mit Java

+ C - Array (Vektoren, Felder)

PHP 5.4 ISBN Stephan Heller, Andreas Dittfurth 1. Ausgabe, September Grundlagen zur Erstellung dynamischer Webseiten GPHP54

6 Ein- und Ausgabe. Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig (

Vorlesung Unix-Praktikum

Angewandte Mathematik und Programmierung

Objektorientierte Programmierung. Kapitel 10: Strings

6. Bearbeitung von Strings in C Bearbeitung von Strings in C

Die LogTrace-Bibliothek

Programmieren I + II Regeln der Code-Formatierung

Aufgabe 1 ZUFÄLLIGES ENGLISCH. »Programmieren«, WS 2006/2007. Nino Simunic M.A.

Institut fu r Informatik

Wie entwerfe ich ein Programm?

JavaScript und PHP-Merkhilfe

Programmieren mit Python

Excel VBA Arrays, Enumeration und benutzerdefinierte Typen

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free()

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch

Übungen zu C++ Kapitel 1

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein

C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue

Allgemeine Hinweise:

Technische Anleitung zur Reportgestaltung. Reportgestaltung. \SCAN(),WHILE (AKTIV)\ ( in dieser Schleife werden dann die Daten ausgegeben) \ENDSCAN\

Java programmieren mit JavaKara. Eine Zusammenfassung in Beispielen

Transkript:

07 Funktionen (Teil I) Funktionen (Teil I) 1/8 Einführung Funktionen sind wiederverwendbare Code-Stücke, die Du in einem Programm überall einsetzen kannst und dir somit viel Kopierarbeit ersparen. PHP besitzt schon viele eingebaute Funktionen und wir lernen einige von diesen in diesen Übungen kennen. Die erste Gruppe die wir uns näher anschauen, beinhaltet Funktionen zur Bearbeitung von Zeichenketten. strlen() ist eine der meistbenutzten Textfunktionen in PHP. Man übergibt ihr eine Zeichenkette (oder eine Variable welche ein solche beinhaltet) und sie gibt die Anzahl Zeichen dieses Strings zurück. Zum Beispiel: <?php // get the length of a string and // print it to the screen $length = strlen("david"); print $length;?> Verwende im Editor den Tab mit der Datei index.php um deinen Code hineinzuschreiben. Ermittle die Länge deines eigenen Namens so wie ich es mit meinem gemacht habe, und gib ihn auf dem Bildschirm aus.

Funktionen (Teil I) 2/8 String-Funktionen I Eine weitere sehr verbreitete String-Funktion ist substr(). Mit dieser Funktion kann ein Teil einer Zeichenkette ausgegeben werden. Man übergibt der Funktion jene Zeichenkette, von der man einen Teil erhalten möchte, die Nummer des Zeichens, bei dem gestartet werden soll, sowie die Anzahl gewünschter Zeichen. Z.B.: $myname = "David"; // you can manipulate strings easily // with built-in funtions too $partial = substr($myname, 0, 3); print $partial; // prints "dav" Denk daran, dass der zweite Parameter der Funktion (also die Nummer des Startzeichens) auf einem 0-indexierten Array basiert. Die Nummer des ersten Zeichens ist also die 0, nicht die 1. Sehr nützlich sind auch die Funktionen strtoupper() und strtolower(), welche die ganze Zeichenkette in GROSSBUCHSTABEN resp. kleinbuchstaben zurückgibt. Hier ein Beispiel mit diesen beiden Funktionen: $uppercase = strtoupper($myname); print $uppercase; // prints "DAVID" $lowercase = strtolower($uppercase); print $lowercase; // prints "david" Selbstverständlich geht das jeweils auch in einer einzigen Zeile: print strtolower("david"); // prints "david" Nimm einen Teil aus Deinem Namen und gib ihn aus. Gib danach den Namen einmal in Gross- und einmal in Kleinbuchstaben aus.

Funktionen (Teil I) 3/8 String-Funktionen II strpos() gibt zurück, ab welchem Zeichen man einen Teilstring das erste Mal in einem String findet. strpos("emily", "e"); // 0 strpos("emily", "i"); // 2 strpos("emily", "ily"); // 2 strpos("emily", "zxc"); // false Die Parameter, die man der Funktion strpos() übergibt kann man sich als Heuhaufen resp. als Nadel vorstellen. Die Funktion versucht, die Nadel im Heuhaufen zu finden. Falls sie den Teilstring gefunden hat, so gibt sie den Index des ersten Buchstabens zurück, ansonsten den Wert false. if (strpos("david","h") === false) { print "Sorry, no 'h' in 'david'"; } // gibt den "Sorry"-Text aus Verwende den Editor um deine eigenen Nadel und Heuhaufen-Kombinationen zu erstellen. Du kannst für beide Übergabewerte jeweils auch eine Variable verwenden. 01. Verwende in Zeile 6 die Funktion strpos() und übergib ihr einen Buchstaben deines Namens als Nadel und deinen Namen als Heuhaufen. 02. Teste in Zeile 13, ob strpos() den Wert false zurückgibt, also die Nadel sich nicht im Heuhaufen befindet. Gib im if-block eine entsprechende Fehlermeldung aus.

Funktionen (Teil I) 4/8 Mathematik-Funktionen I Gehen nun zu etwas Arithmetik über. Am häufigsten wirst Du wohl die Funktion round() benutzen. Diese Funktion rundet Fliesskommazahlen (z.b. 5.234) auf oder ab. Mit round() kannst Du die Zahl auf eine Ganzzahl oder auf eine Zahl mit vorgegebener Anzahl Nachkommastellen runden. Letzteres, indem man diese Anzahl Nachkommastellen als zweiten, optionalen Parameter übergibt. Beispiel: // Round pi down from 3.1416... $round = round(m_pi); print $round; // prints 3 // This time, round pi to 4 places $round_decimal = round(m_pi, 4); print $round_decimal; // prints 3.141 Bemerkung: M_PI ist eine vordefinierte Konstante, welche dem Wert der Kreiszahl π entspricht. Benutze das Übungsfenster um selber ein paar Zahlen runden zu lassen. Du kannst dabei auch die Konstante M_PI benutzen, meine Lieblingsdezimalzahl. 0ben: Runde eine beliebige Zahl auf eine Ganzzahl. Unten: Runde eine beliebige Zahl auf 3 Nachkommastellen.

Funktionen (Teil I) 5/8 Mathematik-Funktionen II Sehr häufig und nützlich ist die Funktion rand(). Diese liefert zufällige Zahl aus dem Bereich von 0 bis und mit 32767. (Hinweis: Das Maximum hängt von der Plattform ab und kann mit getrandmax() ermittelt werden, auf dieser Website wird es wohl 2147483647 = 2 31-1.) Andere Bereiche kann man mit zwei optionalen Parametern festlegen. // prints a number between 0 and 32767 print rand(); // prints a number between 1 and 10 print rand(1,10); 01. Verwende den Editor um eine Zufallszahl auszugeben. 02. Erstelle eine neue Variable $name und speichere darin deinen Namen ab. 03. Lass nun einen zufälligen Buchstaben deines Namens ausgeben. Benutze dazu dein Wissen über strlen(string), rand(min, max) und substr(string, start, length). Tipp: Denk daran, dass in Strings die Zeichennummerierung bei 0 beginnt und folglich bei lenght-1 endet.

Funktionen (Teil I) 6/8 Array-Funktionen I Arrays (Listen) sind beim Programmieren sehr praktisch. Übrigens: array() ist selbst eine Funktion. Du hast also schon eine Array-Funktion benutzt. Nebst array() selber ist wohl array_push() die meistgenutzte und hilfreichste Funktion im Umgang mit Arrays. array_push() benötigt zwei Argumente: Einen Array und ein Element, das am Ende des Arrays angehängt werden soll. Beispiel: $fav_bands = array(); array_push($fav_bands, "Maroon 5"); array_push($fav_bands, "Bruno Mars"); array_push($fav_bands, "Nickelback"); array_push($fav_bands, "Katy Perry"); array_push($fav_bands, "Macklemore"); Eine weitere coole Array-Funktion ist count(). Übergibt man ihr einen Array, so wird diese Funktion die Anzahl Elemente im Array zurückgeben: print count($fav_bands); // prints 5 Erstelle im Editor einen Array und nutze array_push(), um mindestens 5 Elemente einzufügen. Danach soll die Anzahl Elemente des Arrays ausgegeben werden.

Funktionen (Teil I) 7/8 Array-Funktionen II Häufig müssen Arrays sortiert werden. Praktischerweise gibt es genau dafür in PHP die Funktion sort(). $array = array(5, 3, 7, 1); sort($array); print join(", ", $array); // prints "1, 3, 5, 7" PHP besitzt auch eine Funktion fürs Rückwärts-Sortieren: rsort(). $array = array(5, 3, 7,1); rsort($array); print join(":", $array); // prints "7:5:3:1" Schliesslich verwenden wir noch join(glue, array), um auf ganz einfache Weise alle Elemente eines Arrays ausgeben zu können. In dieser Übung verwenden wir ein Komma als Trennzeichen (glue). 01. Erstelle in Zeile 6 einen Array mit mehreren Elementen und speichere ihn unter dem Namen $the_array. 02. Sortiere den Array. 03. Gib den Array mit Kommas als Trennzeichen aus. 04. Sortiere in Zeile 12 den Array nun rückwärts. 05. Gib danach den Array wieder aus.

Funktionen (Teil I) 8/8 Zeig nun was Du kannst! Nun verwenden wir, was wir über Strings, Mathematik-Funktionen und Arrays gelernt haben und erstellen ein Spiel. In diesem Spiel erstellen wir eine Liste unserer engsten Familie und Freunde und führen eine Lotterie durch. Wir werden das Glücksrad drehen und damit ein Familienmitglied oder einen Freund zufällig aus der Liste wählen. Schliesslich geben wir den Namen des Gewinners in GROSSBUCHSTABEN aus. Los geht s! Erstelle einen Array mit den Namen von Familienmitgliedern und Freunden. Je mehr Namen es sind, desto lustiger wird das Spiel. Sortiere nun diese Liste und wähle per Zufall einen Namen daraus. Wenn Du den Gewinnernamen hast, so gib ihn in Grossbuchstaben aus. Folgende Funktionen solltest Du hier mindestens benutzen: array(), array_push(), sort(), count(), rand() und strtoupper(). Spiel auch mit den anderen dir bekannten Funktionen etwas herum.