Webtechnologien Teil 6: Einführung in PHP

Größe: px
Ab Seite anzeigen:

Download "Webtechnologien Teil 6: Einführung in PHP"

Transkript

1 Webtechnologien Teil 6: Einführung in PHP

2 Literatur [6-1] Lubkowitz, Mark: Webseiten programmieren und gestalten. Galileo, 2003 [6-2] Möhrke, Carsten: Besser PHP programmieren. Galileo, 4. Auflage, 2012 [6-3] Samar, Richard et al.: PHP de Luxe. mitp, 4. Auflage, 2004 [6-4] Möhrke, Carsten: PHP PEAR. Galileo, 2005 [6-5] Lerdorf, Rasmus; Bergmann, Sebastian; Hicking, Garvin: PHP kurz&gut. O'Reilly, 3. Auflage, 2006 [6-6] Bergmann, Sebastian: PHPUnit kurz&gut. O'Reilly, 2006 [6-7] Reimers, Stefan; Thies, Gunnar: PHP 5.3 & MySQL Auflage 2009 [6-8] Sklar, David; Trachtenberg, Adam: PHP5 Kochbuch. O'Reilly, 3. Auflage, 2009 [6-9] Schmidt, Stephan: PHP Design Patterns. O'Reilly, 2. Auflage,

3 Literatur im Web [W1] Grundlegende Dokumentation: [W2] [W3] Tipps und Code-Schnipsel: [W4] Erstes Tutorial (Deutsch): [W5] Webtechnologien - WS SS 2018/19 - Teil - Teil 6/PHP I I 3

4 Übersicht Geschichte Datentypen Zugriff auf Formulardaten Kontrollstrukturen Funktionen 4

5 Geschichte PHP = Personal Home Page Tools (ursprünglicher Name) PHP = PHP Hypertext Processor (aktueller Name) 1994 PHP/FI von Rasmus Lerdorf 2009 PHP Version PHP/FI PHP Version PHP Version PHP Version PHP Version PHP Version PHP Version PHP Version PHP Version PHP Version 7.2 In diesen Foliensätzen wird die PHP-Version 7.2.* behandelt. 5

6 Ein paar Statistiken I November 2018 TIOBE Programming Community Index Aus: 6

7 Ein paar Statistiken II November 2018 TIOBE Programming Community Index Aus: 7

8 Ein paar Statistiken III Januar 2018 Aus: 8

9 Ein paar Statistiken IV November 2018 Sprachen im Browser Sprachen im Server Frameworks im Browser Server Server-Betriebssysteme Aus: 9

10 Einsatz von PHP Als eigenständiges Programm: Dies wird hier nicht behandelt. Zusammen mit HTML innerhalb des Webservers (Apache, Modul mod_php) als Skript in einem separierten Prozess (nicht behandelt) Die Skripte werden auf den Web-Server gebracht, indirekt vom Browser per HTTP aufgerufen und auf dem Server ausgeführt. Die Ausgabe der PHP-Routinen wird dann zum Browser geschickt. Einbinden von PHP in die html-datei <?php...php-code...?> 10

11 Syntax Jeder Befehl wird mit einem Semikolon abgeschlossen. Datei-Endung ist.php Groß-/Kleinschreibung spielt in den meisten Fällen eine Rolle. Kommentare: <?php?> <?php?> <?php?> # Kommentar bis Zeilenende // Kommentar bis Zeilenende /* Kommentar über mehrere Zeilen */ 11

12 Das erste Programm bzw. die erste Seite I <html>......<body> <?php echo "Hallo world!<br>";?> </body> </html> Alles außerhalb <?php?> geht direkt an den Browser. echo gibt den Parameter aus. Es ist auch eine durch Kommata getrennte Liste von Parametern möglich, die aneinander gereiht ausgegeben werden. echo kann mit oder ohne Klammern aufgerufen werden: mit Klammern ist aber nur ein Parameter möglich, keine Parameterliste. Z.B. echo("hallo world! <br>"); Zeichenketten werden in "" gestellt. Der Output aus PHP wird gemischt mit den HTML-Teilen in der Reihenfolge von vorn nach hinten an den Browser gesendet. 12

13 Das erste Programm bzw. die erste Seite II <html> <body> <p> Das ist mein erstes PHP-Skript <html> <body> <p> Das ist mein erstes PHP-Skript Hallo world!<br> <p> und das wars schon. </body> </html> PHP- Prozessor <?php echo "Hallo world!<br>";?> <p> und das wars schon. </body> </html> 13

14 Variablen und deren Deklaration Variablennamen beginnen immer mit "$" gefolgt von "_" oder einem Buchstaben. Dann folgen nur noch folgende Zeichen: "a-za-z0-9_" Groß-/Kleinschreibung unterscheidet! Variablen werden normalerweise nicht deklariert, es gibt aber Ausnahmen. Ab PHP 7 können auch Parameter mit einem Typ deklariert werden. Variablen haben den Typ aus der rechten Seite der letzten Zuweisung. Beispiele für Variablen $Vorname $a 14

15 Zuweisungen $Variable= Ausdruck; Zuweisungen wie in C, Java und JavaScript Beispiele: $Vorname= "Elvira"; $a= ; // $a hat dann den Wert 110 $a= $a+1; // $a hat nun den Wert 111 $a= $b." "; // $a hat den Wert von b mit // einem Blank angehängt Die Variable hat anschließend den Typ der rechten Seite der Zuweisung. Jede Zuweisung hat als Wert den Wert des Ausdrucks auf ihrer rechten Seite, die wiederum Teil eines umfassenden Ausdrucks sein kann. 15

16 Elementare Datentypen (Primitive Datentypen) Datentyp Beispiele für Werte Größe Integer 23, -4, 0377 (Oktal), 0xFF (Hexadezimal) 0b (Binär) 32 bit (Windows) 64 bit (falls möglich) Double Boolean , -2.2, 1.678e23, -2.4e-6 64 bit, IEEE754 Für alle Werte außer 0: true Für 0-Werte: false Operator Erläuterung + Addition - Subtraktion * Multiplikation / Division % Modulo 16

17 Strings I Strings werden mit " oder mit ' geklammert: " ": Interpretation der Variablen im String z.b. $a= 10; $b= "$a Flaschen"; $b enthält den String '10 Flaschen' ' ': Keine Interpretation des Inhaltes z.b. $a= 10; $b= '$a Flaschen'; $b enthält den String '$a Flaschen' Aneinanderreihung von Strings durch einen Punkt ("."): $a= "Hallo "."Welt"; // ergibt: 'Hallo Welt' 17

18 Strings II Namen von Variablen können und müssen manchmal mit {} geklammert werden, z. B. $typ= 'Hoch'; $HS= "$typschule" $HS= "${typ}schule" $typ= 'Grund'; $GS= "${typ}schule" $NN= '${typ}schule' ergibt '' ergibt 'Hochschule' ergibt 'Grundschule' ergibt '${typ}schule' Sonderzeichen "\" als Fluchtzeichen (Escape) nur in " ": Zeichen Erläuterung Zeichen Erläuterung \n Newline \$ $-Zeichen \r Return \" "-Zeichen \t Tabulator \077 Oktaler Wert \\ \ selbst \xff Hex-Wert Hinweis: Es gibt kein Backspace (\b). 18

19 Vergleichsoperatoren Operator Erläuterung ergibt wahr wichtig < kleiner 3<7 <= kleiner gleich 5.7<=10e4 > größer 3>2.9 >= größer gleich 3>=3.0 == gleich 9 == "9" Typanpassung!!= ungleich 9!="s" === identisch 9 === 9 Keine Anpassung!== nicht identisch 9!=="9" Keine Anpassung Beispiel Ergebnis 9 == "9" wahr 9 === "9" falsch 9 === 9 wahr 0x9 === 9 wahr 9.0 === 9 falsch Die Identität erfordert, dass neben dem Wert auch der Typ gleich sein muss. 19

20 Zuweisungen mit Operatoren Operator Beispiel Ergebnis nach $a= 9; += $a+= 1; 10 -= $a-= 1; 8 *= $a*= 2; 18 /= $a/= 2; 4,5 %= $a%= 2; 1.= $a.= "zig"; "9zig" Typisch: $a= "Guten Tag!"; $a.= "<br>"; Diese Form der String-Zusammensetzung ist sehr beliebt aber: Vermeiden Sie das! 20

21 Logische Operatoren PHP PHP Erläuterung Java and && Logisches Und && or Logisches Oder xor Logisches Exklusiv-Oder! Negation! Beispiel ($a!=0) and ($b=="evelyn") ($a!=0) && ($b=="evelyn") Achtung! Die gleichen Operatoren &&/and und /or haben eine unterschiedliche Bindungsstärke! Immer Klammern setzen! Siehe dazu: 21

22 Konvertierung von Typen Werte werden in den "erwarteten" Typ konvertiert. Innerhalb von Ausdrücken nach Integer, wenn ein Teil ein Integer ist, sonst Double, wenn ein Teil vom Typ Double ist. Ausdruck Ergebnis "3" + "4" 7 "3". "4" "34" "3" - "Eier" 3, da 3-0 "3 Äpfel"*"12 Birnen" 36 Bei der Konvertierung von String nach Integer wird von links nach rechts solange konvertiert wie eine sinnvolle Zahl von links nach rechts gelesen existiert. Startwert ist 0. 22

23 Konvertierung nach Boolean Bedeutung Werte anderer Typen Typ false 0 Integer 0.0 Double "0"(ist Integer 0 (!)) String ""(Leerer String) String ''(Leerer String) String Leeres Array Array Leeres Objekt Object Alles andere bedeutet true. 23

24 Abfragen des Typs I Funktionen zum Abfragen des Typs einer Variablen: Funktion is_long(variable) is_double(variable) is_string(variable) is_array(variable) is_object(variable) is_bool(variable) True, wenn Variable vom Typ long ist vom Typ double ist vom Typ string ist ein Array ist ein Object ist vom Typ bool ist gettype(variable) liefert den aktuellen Typ als String, bestimmt ihn aber nicht. Diese Funktion sollte eigentlich nicht verwendet werden, da der Rückgabewert in Zukunft geändert werden könnte. Siehe dazu: 24

25 Abfragen des Typs II Funktionen zum Abfragen von Werten einer Variablen: Funktion is_null(variable) isset(variable) True, wenn Variable den NULL-Wert hat Variable keinen NULL-Wert hat Der Null-Wert ist auch gleich der einzige Wert des Typs Null. Ein Zuweisung von null an ein Variable: erhält den Wert Null, bleibt aber erhalten an ein Objekt: Vernichtung diese Objekts an ein Array-Element: erhält den Wert Null, bleibt aber erhalten 25

26 Typumwandlungen / Cast cast-operatoren: Cast Umwandlung in (bool),(boolean) Boolean (int),(integer) Integer (real),(double),(float) Double (string) String (array) Array (object) Objekt Mit diesen Operatoren werden explizit die Typen innerhalb von Ausdrücken festgelegt. Siehe dazu: 26

27 Array Es gibt nur 1-dimensionale Felder mit einem positiven Integer- Index. Der Index läuft von 0 bis zur Größe -1. Auf Array-Elemente wird durch Name[Expression] zugegriffen. Arrays werden durch elementweises Zuweisen erstellt: $a[0]= "Hallo"; $a[1]= "Gerhardt"; $a[2]= "!"; $a[]= "Hallo"; $a[]= "Gerhardt"; $a[]= "!"; Das Weglassen der Indexe bewirkt ein hinten Anhängen mit einem gleichzeitigen Erhöhen des höchsten Indexes. Dasselbe in einem Stück und in gleichwertigen Versionen: $a= array("hallo","gerhardt","!"); $a= ["Hallo","Gerhardt","!"]; Verkürzte Form 27

28 Hash als spezielles Array Ein Hash ist ein Array, wobei der Index ein String ist. Oder anders formuliert: Die Elemente haben einen Namen. Auf Hash-Elemente wird durch Name['String'] zugegriffen. Ein Hash wird als Menge von Paaren (Index, Value) aufgefasst. Hashs werden durch elementweises Zuweisen erstellt: $b["anrede"] = "Frau"; $b["vorname"] = "Elvira"; $b["nachname"]= "Meier-Vormann"; Dasselbe in einem Stück: $b= array("anrede"=>"frau","vorname"=>"elvira", "Nachname"=>"Meier-Vormann"); $b= ["Anrede"=>"Frau","Vorname"=>"Elvira", "Nachname"=>"Meier-Vormann"]; Verkürzte Form 28

29 Array und Hash Der Typ von Array/Hash-Elementen kann innerhalb eines Arrays/Hashs beliebig verschieden sein. 2- oder mehrdimensionale Felder müssen wie in Java stückweise zusammengebaut werden, denn es gibt nur Vektoren. Arrays und Hashs werden intern gleich implementiert, d.h. es handelt sich um eine lineare Liste, die aus Paaren von einem Schlüssel (Key, Indexwert) und dem Wert bestehen genauso wie in JavaScript. Es können "Lücken" im Array vorhanden sein, die beim Zugriff in For-Schleifen beachtet werden müssen: wenn auf diese Lücken zugegriffen wird, gibt es eine Exception. 29

30 if if(ausdruck) {... } if(ausdruck) {... } else {... } Wenn nur ein Befehl im then- oder else-teil vorkommt, könnten auch die {} weggelassen werden (was zu vermeiden ist). 30

31 switch switch(ausdruck) { case Wert:... break; case Wert:... break;... default:... } switch(ausdruck) { case Wert: case Wert:... break;... default:... } Das Switch-Konstrukt ist wie in C/C++/Java. Fehlt das break, werden die direkt folgenden Statements ausgeführt. 31

32 while while(ausdruck) { } do { } while(ausdruck); Auch hier dieselbe Semantik wie in C/C++/Java. 32

33 for for(start; Ausdruck; Veränderung) { } Auch hier wieder dieselbe Semantik wie in C/C++/Java. break bricht die Schleife ab. continue springt zur Abbruchabfrage Ausdruck zurück. 33

34 foreach foreach(feld as $Variable) {... } foreach(feld as $key => $Variable) {... } Array Hash Hier wird die Schleife immer für jedes Element durchlaufen, wobei $Variable die Laufvariable bzw. $Key der "Schlüssel" zur Laufvariablen ist. Feld ist etwas, das als Array oder Hash interpretiert werden kann. Die erste Form wird bei Arrays, die zweite bei Hashs benutzt. Dies entspricht der For-In-Schleife bei JavaScript (und auch Java). Wenn ein Array Löcher haben kann, sollte möglichst diese Form der Schleife benutzt werden, da diese Schleife alle Löcher automatisch überspringt. 34

35 Funktionen I function Name($arg1, $arg2, $arg3,.., $argn) {... } function Name($arg1, $arg2, $arg3,.., $argn) {... return Ausdruck; } In PHP können Funktionen an beliebiger Stelle definiert werden Empfehlung: Deklarieren am Anfang an zentraler Stelle Parameter werden per Call-By-Value übergeben, d.h. die Werte der Parameter werden kopiert. Es ist aber möglich die Adresse des Parameters mit & zu übergeben - das gilt analog auch für das Funktionsresultat. Sonderregelung bei den Objekten! Objekte werden immer per Adresse übergeben, nie als Kopie also wie in Java. 35

36 Funktionen II function Hello($Name= "Helmut") { echo "Hallo ".$Name; } Hello(); // gibt "Hallo Helmut" aus Hello("Hanna"); // gibt "Hallo Hanna" aus Parameter mit Defaultwerten können dann beim Aufruf weggelassen werden. Wenn Parameter ohne Default-Werte beim Aufruf weggelassen werden, dann haben diese im Funktionskörper keinen Inhalt. Dies muss in der Funktion explizit geprüft werden. Jede Funktion kann mit beliebig vielen Parametern mit beliebigen Werttypen aufgerufen werden unabhängig von der Deklaration. Die aufgerufene Routine muss dies berücksichtigen. Es gibt aber einen Mechanismus, um dies zu verhindern: ab PHP 7 36

37 Type Hints ab PHP 7 I declare(strict_types=1); function add(int $a, int $b) { return $a + $b; } function sub(int $a, int $b): int { return $a - $b; } $u= add(10,20); $v= sub(26,9); echo '$u='.$u.' $v='.$v; Ausgabe: $u=30 $v=17 Es ist möglich, wie in anderen Programmiersprachen für die Parameter und Resultate von Funktionen Typen anzugeben. Folgende Typen sind möglich: string int float bool array Klassennamen Interface Dies ist aber nur möglich, wenn als erstes die declare-anweisung wie oben angegeben wird. 37

38 Type Hints ab PHP 7.1 II function writehw(bool $what):?string { if($what) { return 'Hallo World'; } else { return null; } } var_dump(writehw(true)); var_dump(writehw(false)); function write(?string $str) { var_dump($str); } write('hello'); write(null); string(11) "Hallo World" NULL string(5) "Hello" NULL Wenn statt eines Wertes vom erwarteten Typ ein Null auch geliefert bzw. übergeben werden kann, wird dies durch ein vorlaufendes? gekennzeichnet. 38

39 Type Hints ab PHP 7.1 III function swap(&$left, &$right): void { if ($left === $right) { return; } $tmp = $left; $left = $right; $right = $tmp; } $a = 1; $b = 2; var_dump(swap($a, $b), $a, $b); Die Routine swap tauscht die beiden Variablen, die mit Call-by-Reference übergeben wurden (&). Diese Routine liefert immer null. Quelle: migration71.new-features.php NULL int(2) int(1) Ist der Return-Typ mit void deklariert, so darf ein return-statement fehlen oder es wird ohne einen Parameter benutzt. 39

40 Ausgabe-Routinen echo $String print $String Gibt den String auf der Console aus. var_dump(expression) Gibt den Ausdruck samt Typ formatiert aus. var_export(expression) Gibt den Ausdruck samt Typ so formatiert aus, dass dieser der PHP-Syntax entspricht Zur Ausgabe von Arrays oder Hashs ist var_export() sehr gut. 40

41 Variablen als "Funktionen"! function func() {... } $fcall= "func"; $fcall(); Damit lassen sich eine Art Zeiger auf Routinen realisieren. Nur wenn es anders nicht oder nur sehr aufwendig geht, sollte diese Konstruktion benutzt werden. 41

42 Geltungsbereich von Variablen in PHP I function Ausgabe() { echo $str; } $str= "Hallo World!"; Ausgabe(); function Ausgabe() { global $str; echo $str; } $str= "Hallo World!"; Ausgabe(); Links wird nichts ausgegeben, denn die Variable $str in Ausgabe() ist lokal, rechts ist sie global; daher wird dort "Hallo World!" ausgegeben. Globale Variablen werden außerhalb von Funktionen deklariert und benutzt, aber nicht innerhalb von Funktionen - es sei denn sie werden dort mit dem Schlüsselwort global deklariert. Merke: Der erste Zugriff auf eine nicht vorhandene Variable erzeugt diese in dem Kontext dieses Zugriffs, also lokal oder global. Die Arrays $_GET[] oder $_POST[] sind überall global und können lokal ohne Deklaration benutzt werden.; daher heißen diese superglobal. 42

43 Geltungsbereich von Variablen in PHP II function Counter() { static $cnt= 0; if($cnt==0) { echo "Erster Aufruf!\n"; } else { echo "Schon $cnt mal aufgerufen.\n"; } $cnt++; } Counter(); Counter(); Counter(); Counter(); Erster Aufruf! Schon 1 mal aufgerufen. Schon 2 mal aufgerufen. Schon 3 mal aufgerufen. Mit static wird eine lokale Variable mit einer Lebenszeit des gesamten Skripts deklariert. 43

44 Bemerkung über Deklaration In PHP werden Variablen häufig nicht deklariert. Aber Sie sollten so viel wie möglich mit Type Hints, also der Deklaration von Funktionsparametern arbeiten! In folgenden Ausnahmen muss deklariert werden: Variablen als Parameter Globale Variablen sollen lokal verwendet werden. Lokale Variablen sollen static (statisch) sein. (Bei den den Klassen gibt es noch weitere Ausnahmen) 44

45 Einfügen externer Dateien I require(filename); include(filename); require("prefix.inc.php"); include("deklaration.inc.php"); An der Aufrufstelle werden die Dateien als dorthin kopiert betrachtet. Dies bedeutet, dass an allen Stellen im PHP-Skript, also auch in Kontrollkonstrukten, include bzw. require verwendet werden darf. Bei beiden Konstrukten wird zu Beginn der Datei Filename in den HTML-Modus gewechselt; daher sind die PHP-Start-/Ende-Tags (<?php...?>) in den angegebenen Dateien erforderlich. Besonderheit von include: Trotz Fehlern wird weiter gearbeitet Besonderheit von require: Bei Fehlern erfolgt Abbruch. Beide können mehrfach auch geschachtelt - ausgeführt werden. 45

46 Einfügen externer Dateien II require_once(filename); include_once(filename); require_once("prefix.inc.php"); include_once("deklaration.inc.php"); Varianten, die dafür sorgen, dass die angegebene Datei nur ein einziges Mal geladen und ausgeführt wird, unabhängig davon wie viele require/includes mit dieser Datei ausgeführt werden. Alles andere ist genauso wie bei den Versionen ohne "_once". 46

47 Die Schichten (Tiers) einer Web-Anwendung Schicht 1: Browser Schicht 2a: Web-Server Schicht 2b: Skripte, hier in PHP Schicht 3: Datenbank(-Server) Die Schichten werden manchmal auch Tiers genannt. CGI = Common Gateway Interface 47

48 Schnittstelle zwischen Server und Skript (CGI) Web- Server erstellt(2) Schnittstelle Die Schnittstelle besteht aus Hashs: read(1) ruft auf(3) benutzt(4) $_GET[] Formulardaten $_POST[] Formulardaten $_SERVER[] Daten über Webserver PHP- Processor $_COOKIE[] Cookies $_ENV[] Daten über Umgebung $_SESSION[] Session-Variablen $_FILES[] Hochgeladene Dateien Diese Hashs sind superglobal, d.h. sie brauchen nicht deklariert zu werden. 48

49 Beispiele für Server-Variablen Variable Bedeutung $_SERVER['PHP_SELF'] $_SERVER['HTTP_HOST'] $_SERVER['HTTP_USER_AGENT'] Browsernamen $_SERVER['HTTP_REFERER'] $_SERVER['REMOTE_ADDR'] Pfadname zum Skript selbst Name, IP-Adresse des Geräts mit dem Server Vorherige URL beim Browser Name, IP-Adresse des Browsers $_SERVER['SCRIPT_FILENAME'] Absoluter Pfadname des Skripts $_SERVER['HTTPS'] Wird gesetzt, wenn mit https zugegriffen wird Siehe dazu: 49

50 Daten aus Formularen I Der Name des INPUT-Tags ist Name des PHP-Hashs mit dem Inhalt des INPUT-Tags. Beispiel: <form action="id.php" method="get"> Name: <input type="text" name="user"/><br/> Passwort:<input type="text" name="password"/><br/> <input type="submit" value="login"/> </form> Im Skript ID.php sind damit die Variablen $_GET['user'] und $_GET['password'] gesetzt. Wird mit der Methode POST gearbeitet, so heißen die Variablen: $_POST['user '] und $_POST['password'] 50

51 Daten aus Formularen II Dies geht auch bei Mehrfachauswahl mit Feldern: <form action="pizza.php" method="post"> Pizza mit <select name="zutaten[]" size="3" multiple> <option>peperoni</option> <option>schnittlauch</option> <option>spaghetti</option> </select> <input type="submit" value="bestellen"/> </form > Dann existiert ein Array mit den selektierten Werten, auf das mit $_POST['Zutaten'] zugegriffen werden kann. Z.B. $zutaten= $_POST['Zutaten']; $zutaten[0] // Zugriff auf die 1. Zutat Aber auf die Array-Grenzen achten! 51

52 Daten aus Formularen III Variable Beispiel Erläuterung $_GET $_GET['Vorname'] Zugriff auf Formularelemente $_POST $_POST['PLZ'] Zugriff auf Formularelemente $_REQUEST $_REQUEST['Vorname'] Zusammenfassung von $_GET, $_POST und $_COOKIE $_FILES $_FILES['Datei'] Enthält Informationen über hoch geladene Dateien 52

53 Superglobal Die aufgeführten Hash/Variablen sind global und brauchen nicht deklariert zu werden. Dies wird als superglobal bezeichnet. Aus Sicherheitsgründen sollte der Zugriff auf die Formulardaten immer über den vorgestellten Mechanismus erfolgen. Noch besser ist der Zugriff über Filterfunktionen:

54 Nach dieser Anstrengung etwas Entspannung... 54

Literatur. [6-9] Schmidt, Stephan: PHP Design Patterns. O'Reilly, 2. Auflage, Webtechnologien WS 2017/18 - Teil 6/PHP I

Literatur. [6-9] Schmidt, Stephan: PHP Design Patterns. O'Reilly, 2. Auflage, Webtechnologien WS 2017/18 - Teil 6/PHP I Literatur [6-1] Lubkowitz, Mark: Webseiten programmieren und gestalten. Galileo, 2003 [6-2] Möhrke, Carsten: Besser PHP programmieren. Galileo, 4. Auflage, 2012 [6-3] Samar, Richard et al.: PHP de Luxe.

Mehr

Literatur I. [6-9] Schmidt, Stephan: PHP Design Patterns. O'Reilly, 2. Auflage, Webtechnologien SS Teil 6/PHP I

Literatur I. [6-9] Schmidt, Stephan: PHP Design Patterns. O'Reilly, 2. Auflage, Webtechnologien SS Teil 6/PHP I Literatur I [6-1] Lubkowitz, Mark: Webseiten programmieren und gestalten. Galileo, 2003 [6-2] Möhrke, Carsten: Besser PHP programmieren. Galileo, 4. Auflage, 2012 [6-3] Samar, Richard et al.: PHP de Luxe.

Mehr

Webtechnologien Teil 6: Einführung in PHP

Webtechnologien Teil 6: Einführung in PHP Webtechnologien Teil 6: Einführung in PHP 16.04.17 1 Literatur I [6-1] Lubkowitz, Mark: Webseiten programmieren und gestalten. Galileo, 2003 [6-2] Möhrke, Carsten: Besser PHP programmieren. Galileo, 4.

Mehr

Webtechnologien Teil 9: Einführung in PHP

Webtechnologien Teil 9: Einführung in PHP Webtechnologien Teil 9: Einführung in PHP 01.05.15 1 Literatur I [9-1] Lubkowitz, Mark: Webseiten programmieren und gestalten. Galileo, 2003 [9-2] Möhrke, Carsten: Besser PHP programmieren. Galileo, 4.

Mehr

Dynamische Webseiten mit PHP. Oder: LAMP - The open way

Dynamische Webseiten mit PHP. Oder: LAMP - The open way Dynamische Webseiten mit PHP Oder: LAMP - The open way Verbreitung Neben ASP verbreitetste Web-Scripting-Umgebung LAMP (Linux, Apache, mysql, PHP): freie Alternative zu M$ Überblick Dynamische Webseiten

Mehr

Übung zur Vorlesung Multimedia im Netz

Übung zur Vorlesung Multimedia im Netz Übung zur Vorlesung Multimedia im Netz Doris Hausen Ludwig-Maximilians-Universität München Wintersemester 2009/2010 Ludwig-Maximilians-Universität München Multimedia im Netz Übung 1-1 Organisatorisches

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der

Mehr

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

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

Web-basierte Anwendungssysteme PHP-Einführung

Web-basierte Anwendungssysteme PHP-Einführung Web-basierte Anwendungssysteme PHP-Einführung Prof. Dr. Armin Lehmann (lehmann@e-technik.org) Fachbereich 2 Informatik und Ingenieurwissenschaften Wissen durch Praxis stärkt Seite 1 Prof. Dr. Armin Lehmann

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert

Mehr

Repetitorium Programmieren I + II

Repetitorium Programmieren I + II Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 6. März 2012 Agenda 1 Operatoren 2 Datentypen Gleitpunkt Zahl Typkonvertierung 3 Strommanipulatoren 4 Bedingungen if-else switch-case

Mehr

Grundlagen. Wie sind PHP-Dateien aufgebaut?

Grundlagen. Wie sind PHP-Dateien aufgebaut? Grundlagen PHP und MySQL PHP läuft serverseitig!! Wie sind PHP-Dateien aufgebaut? PHP-Dateien fangen mit an und hören mit auf. Sie müssen die Dateiendung *.php haben echo "So könnte eine Datei aussehen\n";

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage

Mehr

Herzlich Willkommen. Über mich Termine Literatur Über PHP

Herzlich Willkommen. Über mich Termine Literatur Über PHP Über mich Termine Literatur Über PHP Herzlich Willkommen Über mich Termine Literatur Über PHP Wer ist das da vorne? Mario Lipinski Über mich Termine Literatur Über PHP Wer ist das da vorne? Mario Lipinski

Mehr

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1 Fachhochschule Stralsund Fachbereich Maschinenbau Lehrgebiet Informatik Prof. Dr.-Ing. Ch.Wahmkow Arbeitsblätter für die Lehrveranstaltung OOP I. Aufbau eines Java-Programmes JAVA 1 Escape-Sequenzen zur

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3 Programmieren mit Java Modul 3 Arrays Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Eindimensionale Arrays 3 2.1 Arrays deklarieren.............................. 3 2.2 Arrays erzeugen................................

Mehr

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung C Sprachelemente für Übung 2 Typumwandlungen (type casts) Bei Ausdrücken, in denen Operanden mit unterschiedlichem Typ vorkommen, werden diese vom Compiler vor der Ausführung automatisch in einen gemeinsamen

Mehr

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen . Gleitkommazahlen In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen Umrechnen von Einheiten und Währungen Jede Zahl x Q mit x 0 lässt sich folgendermaßen schreiben: x = s m e mit

Mehr

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2011/2012 1 / 25 Operatoren für elementare Datentypen Bedingte Schleifen 2 / 25 Zuweisungsoperator Die Zuweisung von Werten an Variablen

Mehr

JAVA-Datentypen und deren Wertebereich

JAVA-Datentypen und deren Wertebereich Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 1 - Variablen und Kontrollstrukturen main Methode Startpunkt jeder Java Anwendung String[] args ist ein Array aus Parametern, die beim Aufruf über die Kommandozeile

Mehr

JavaScript O'REILLY. Das umfassende Referenzwerk. Deutsche Übersetzung von Ralf Kuhnert, Gisbert W. Selke & Harald Selke

JavaScript O'REILLY. Das umfassende Referenzwerk. Deutsche Übersetzung von Ralf Kuhnert, Gisbert W. Selke & Harald Selke JavaScript Das umfassende Referenzwerk David Flanagan Deutsche Übersetzung von Ralf Kuhnert, Gisbert W. Selke & Harald Selke O'REILLY Cambridge Köln Paris Sebastopol Tokyo Vorwort xiii 1: Einführung in

Mehr

Einführung in C. EDV1-04C-Einführung 1

Einführung in C. EDV1-04C-Einführung 1 Einführung in C 1 Helmut Erlenkötter C Programmieren von Anfang an Rowohlt Taschenbuch Verlag ISBN 3-4993 499-60074-9 19,90 DM http://www.erlenkoetter.de Walter Herglotz Das Einsteigerseminar C++ bhv Verlags

Mehr

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Einführung in den Einsatz von Objekt-Orientierung mit C++ I Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen

Mehr

Multimedia im Netz Wintersemester 2011/12

Multimedia im Netz Wintersemester 2011/12 Multimedia im Netz Wintersemester 2011/12 Übung 01 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 26.10.2011 MMN Übung 01 2 Inhalte der Übungen Vertiefung

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White

Mehr

Java I Vorlesung Imperatives Programmieren

Java I Vorlesung Imperatives Programmieren Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.

Mehr

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

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! Erste Zeile eines PERL-Scripts: #! /usr/bin/perl Variablen in PERL: Normale Variablen beginnen mit einem $-Zeichen Array-Variablen beginnen mit

Mehr

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015 Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen.

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen. Themen der Übung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 9.10.01 1 Bedingte Anweisungen Vergleiche und logische Operatoren 3 Fallunterscheidungen 4 Zeichen und Zeichenketten

Mehr

Programming 101. Carl Herrmann IPMB & DKFZ

Programming 101. Carl Herrmann IPMB & DKFZ Programming 101 Carl Herrmann IPMB & DKFZ Programmieren Kommandozeile Einfache Befehle Shell Skript aneinanderketten von Befehlen Schleifen Programmiersprache Komplexere Aufgaben Gemeinsamkeiten Alle Programmiersprachen

Mehr

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy PROCESSING EINE ZUSAMMENFASSUNG Created by Michael Kirsch & Beat Rossmy INHALT 1. Typen und Operatoren 1. Datentypen 3. Klassen und Objekte 1. Klassen und Objekte 2. Operatoren 2. Konstruktor 3. Typkonversion

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Einführung in die Programmierung by André Karge Übung - Operatoren, Methoden, Primitives 25. Oktober 2018 Einführung in die Programmierung WS18/19 André Karge 1/29 Notizen Standard Linux Befehle: http://images.linoxide.com/linux-cheat-sheet.pdf

Mehr

IT-Zertifikat: Allgemeine Informationstechnologien II PHP

IT-Zertifikat: Allgemeine Informationstechnologien II PHP IT-Zertifikat: Allgemeine Informationstechnologien II PHP PHP ( PHP: Hypertext Preprocessor ) ist eine serverseitige Skriptsprache: Der PHP-Code wird nicht wie bei JavaScript auf dem Clientrechner ausgeführt,

Mehr

Organisatorisches. Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, , 14 Uhr bis Do, , 8Uhr

Organisatorisches. Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, , 14 Uhr bis Do, , 8Uhr Organisatorisches Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, 14.10., 14 Uhr bis Do, 23.10., 8Uhr. 14.10.2014 IT I - VO 1 1 IT I: Heute Wiederholung CuP ctd: this Arrays, ArrayLists Schleifen:

Mehr

Funktionen nur wenn dann

Funktionen nur wenn dann Funktionen nur wenn dann Funktionen können auch nur in bestimmten Fällen angewendet werden. Code wird nur in einem bestimmten Fall ausgeführt Code Ja Code Block wahr if wahr? Nein else Code Block Alternative

Mehr

Thomas Theis PHP4. Webserver-Programmierung für Um- und Einsteiger. Galileo Press

Thomas Theis PHP4. Webserver-Programmierung für Um- und Einsteiger. Galileo Press Thomas Theis PHP4 Webserver-Programmierung für Um- und Einsteiger Galileo Press Inhalt Einführung 11 A.1 PHP-eine Beschreibung 11 A.2 Wie lerne ich PHP? 11 A.2.1 Grundlagen 12 A.2.2 Formulare und Datenbanken

Mehr

Mul$media im Netz Wintersemester 2012/13. Übung 01

Mul$media im Netz Wintersemester 2012/13. Übung 01 Mul$media im Netz Wintersemester 2012/13 Übung 01 Ludwig- Maximilians- Universität München Mul5media im Netz WS 2012/13 - Übung 1-1 Organisatorisches Ludwig- Maximilians- Universität München Mul5media

Mehr

PHP. M.Sc. Nadine Preuß Geographische Analyse- und Darstellungsmethoden WS 15/

PHP. M.Sc. Nadine Preuß Geographische Analyse- und Darstellungsmethoden WS 15/ PHP M.Sc. Nadine Preuß Geographische Analyse- und Darstellungsmethoden WS 15/16 1. PHP PHP = Personal Homepage Tools Scriptsprache, Standardsprache im Web Open Source Software z.b. um Besucherzähler oder

Mehr

Algorithmen zur Datenanalyse in C++

Algorithmen zur Datenanalyse in C++ Algorithmen zur Datenanalyse in C++ Hartmut Stadie 16.04.2012 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 1/ 39 Einführung Datentypen Operatoren Anweisungssyntax Algorithmen zur Datenanalyse in

Mehr

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

Organisatorisches. drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50 Organisatorisches Vorlesung Donnerstag 8:35 bis 10:05 Übung drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50 Tutorium (Mehr oder weniger) abwechselnd Mo und Mi 10-11:30 Termine

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016

Mehr

Institut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke Java 3 Markus Reschke 08.10.2014 Kommentare Kommentare nützlich zum späteren Verständnis Zwei Arten Einzeiliger Kommentar bis zum Zeilenende mit // Mehrzeiliger Kommentar mit /*Text*/ 1 double x = 5; //

Mehr

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg Sprachkonstrukte Einführung in Java Folie 1 von 20 12. Mai 2011 Ivo Kronenberg Inhalt Kommentare Identifier (Bezeichner) Variablen Numerische Ausdrücke und Typen Kontrollstrukturen Verzweigungen Bedingungen

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Schleifen und Arrays Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 06.10.2016 Technische Universität Braunschweig, IPS Überblick Kommentare Typen Kontrollstrukturen Arrays 06.10.2016 Dr. Werner

Mehr

C-Grundlagen. zur Programmierung des MicroControllersystems MiCoWi

C-Grundlagen. zur Programmierung des MicroControllersystems MiCoWi 1. Datentypen C-Grundlagen zur Programmierung des MicroControllersystems MiCoWi Die Grafiken und Beispiele wurden dem Buch C von A bis z von Jürgen Wolf entnommen. Es werden hier die ANSI-Festlegungen

Mehr

F Zeiger, Felder und Strukturen in C

F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F.1 Zeiger(-Variablen) 1 Einordnung Konstante: Bezeichnung für einen Wert a 0110 0001 Variable: Bezeichnung eines Datenobjekts

Mehr

Funktionen nur wenn dann

Funktionen nur wenn dann Funktionen nur wenn dann Funktionen können auch nur in bestimmten Fällen angewendet werden. Code wird nur in einem bestimmten Fall ausgeführt Code Ja Code Block wahr if wahr? Nein else Code Block Alternative

Mehr

Einführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin

Einführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin Fakutltät IV Technische Universität Berlin 5. Mai 2014 Inhaltsverzeichnis 1 2 3 4 5 6 7 Überblick Beispielprogramm in Java Beispielprogramm in C 1 2 3 4 5 6 7 Beispielprogramm in Java Beispielprogramm

Mehr

JavaScript und PHP-Merkhilfe

JavaScript und PHP-Merkhilfe JavaScript und PHP-Merkhilfe David Vajda 10. November 2016 1 JavaScript 1. Einbinden von JavaScript in das HTML-Dokument

Mehr

3. Anweisungen und Kontrollstrukturen

3. Anweisungen und Kontrollstrukturen 3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen

Mehr

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

Java: Eine kurze Einführung an Beispielen

Java: Eine kurze Einführung an Beispielen Java: Eine kurze Einführung an Beispielen Quellcode, javac und die JVM Der Quellcode eines einfachen Java-Programms besteht aus einer Datei mit dem Suffix.java. In einer solchen Datei wird eine Klasse

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe

Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe Informatik Vorlesung 03b Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik

Mehr

Multimedia im Netz. Übung zur Vorlesung. Ludwig-Maximilians-Universität Wintersemester 2010/2011

Multimedia im Netz. Übung zur Vorlesung. Ludwig-Maximilians-Universität Wintersemester 2010/2011 Übung zur Vorlesung Multimedia im Netz Ludwig-Maximilians-Universität Wintersemester 2010/2011 Ludwig-Maximilians-Universität München Multimedia im Netz - Übung - 1-1 Organisatorisches Informationen zur

Mehr

Einführung in die Programmierung mit VBA

Einführung in die Programmierung mit VBA Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen

Mehr

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen Variablen Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Variablen dienen zur Speicherung von Daten. Um Variablen

Mehr

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung in C Teil 2: Prof. Dr. Unser erstes C-Programm int main (int argc, char *argv[]) int i; int sum = 0; for (i = 0; i

Mehr

Programmieren I + II Regeln der Code-Formatierung

Programmieren I + II Regeln der Code-Formatierung Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2012/2013, SS 2013 Programmieren I + II Regeln der Code-Formatierung Die hier vorgestellten

Mehr

8. Ausdrücke, Operatoren (einfache Typen)

8. Ausdrücke, Operatoren (einfache Typen) 8. Ausdrücke, Operatoren (einfache Typen) Typumwandlung Cast-Operator Teil 2 Java-Beispiel: Unicode.java Version: 16. Nov. 2015 Unterschiedliche Typen Typumwandlung: Übersicht Zuweisung x = y; Ausdruck

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Programmiervorkurs Einführung in Java Tag 1

Programmiervorkurs Einführung in Java Tag 1 Programmiervorkurs Einführung in Java Tag 1 Sebastian Glutsch SS 2018 namen Inhaltsübersicht Vorkurs Tag 1:,, en,, Einführung Tag 2: Boolesche Ausdrücke,, If-Abfragen, Switch-Case Tag 3: Arrays, (Do-)While-Schleife,

Mehr

System.out.println("TEXT");

System.out.println(TEXT); Inhaltsübersicht - Erstes Beispiel - Datentypen - Ausdrücke und Operatoren - Schleifen / Bedinungen - Struktogramme - Grundgerüst eines Programms in JAVA - Einlesen von Daten Erstes Beispiel public class

Mehr

Programmieren 1 C Überblick

Programmieren 1 C Überblick Programmieren C Überblick. Einleitung 2. Graphische Darstellung von Algorithmen 3. Syntax und Semantik 4. Einstieg in C: Einfache Sprachkonstrukte und allgemeiner Programmaufbau 5. Skalare Standarddatentypen

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen

Mehr

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems 4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um

Mehr

8. Ausdrücke, Operatoren (einfache Typen)

8. Ausdrücke, Operatoren (einfache Typen) 8. Ausdrücke, Operatoren (einfache Typen) Teil 2 Java-Beispiel: Unicode.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 16. Nov. 2015 2 Typumwandlung Cast-Operator 3 Unterschiedliche

Mehr

Kapitel 2: Grundelemente der Programmierung

Kapitel 2: Grundelemente der Programmierung Kapitel 2: Grundelemente der Programmierung Variablen Variablen sind Speicherbereiche im Arbeitsspeicher Anhand eines Namens kann man Werte hineinschreiben und auch wieder auslesen Variablen besitzen ein

Mehr

Grundlagen der Programmierung Teil1 Einheit III Okt. 2010

Grundlagen der Programmierung Teil1 Einheit III Okt. 2010 Grundlagen der Programmierung Teil1 Einheit III - 22. Okt. 2010 GDP DDr. Karl D. Fritscher basierend auf der Vorlesung Grundlagen der Programmierung von DI Dr. Bernhard Pfeifer Einschub Bevor wir mit den

Mehr

Methoden und Wrapperklassen

Methoden und Wrapperklassen Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)

Mehr

Programmierkurs Python I

Programmierkurs Python I Programmierkurs Python I Michaela Regneri & Stefan Thater Universität des Saarlandes FR 4.7 Allgemeine Linguistik (Computerlinguistik) Winter 2010/11 Übersicht Variablen Datentypen Werte Ausdrücke Operatoren

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Funktionen Rückblick Operatoren logische Verknüpfungen Zusammengesetzte Operatoren ( Zuweisungsoperatoren ) Kontrollstrukturen Bedingte Anweisungen (if-abfrage, switch-konstrukt)

Mehr

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems 4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um

Mehr

Python Intro. Vorsemesterkurs Informatik Praktischer Teil WS2012/13. 2.Oktober Vorkurs Informatik - WS 2012/13

Python Intro. Vorsemesterkurs Informatik Praktischer Teil WS2012/13. 2.Oktober Vorkurs Informatik - WS 2012/13 Python Intro Vorsemesterkurs Informatik Praktischer Teil WS2012/13 2.Oktober 2012 Let's get started } Skript, Übungen, Folien... Alles zum Praxisteil auf http://vorkurs.cs.unifrankfurt.de Bücher: Fragen!

Mehr

Unterlagen. CPP-Uebungen-08/

Unterlagen.  CPP-Uebungen-08/ Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen

Mehr

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2 Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016

Mehr

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon

Mehr

01 Einführung in PHP. Einführung in PHP 1/13 PHP in Aktion

01 Einführung in PHP. Einführung in PHP 1/13 PHP in Aktion 01 Einführung in PHP Einführung in PHP 1/13 PHP in Aktion PHP ist eine Programmiersprache, die ganz verschiedene Dinge tun kann: von einem Browser gesendete Formularinhalte auswerten, angepasste Webinhalte

Mehr

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden Javaprogrammierung mit NetBeans Variablen, Datentypen, Methoden Programmieren 2 Java Bezeichner Bezeichner: Buchstabe _ $ Buchstabe _ $ Ziffer Groß- und Kleinbuchstaben werden strikt unterschieden. Schlüsselwörter

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 41 Einstieg in die Informatik mit Java Weitere Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick 2 Verbundanweisung 3 Bedingte Anweisung 4 Auswahlanweisung

Mehr

Einführung Java Programmieren in Java Arrays Schleifen Fehler. Einführung in Java. Arne Hüffmeier. Michelle Liebers, Dennis Hoffmann

Einführung Java Programmieren in Java Arrays Schleifen Fehler. Einführung in Java. Arne Hüffmeier. Michelle Liebers, Dennis Hoffmann Einführung in Java Arne Hüffmeier Michelle Liebers, Dennis Hoffmann Tilman Lüttje, Jean Wiele Angelehnt an Java-Vorkurs der Freitagsrunde 1 / 64 1 Einführung Java Geschichte 2 Programmieren in Java Einführung

Mehr

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Leibniz Universität IT Services Anja Aue Programmabläufe grafisch abbilden

Mehr

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22 C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven

Mehr

Multimedia im Netz Wintersemester 2013/14. Übung 01 (Hauptfach)

Multimedia im Netz Wintersemester 2013/14. Übung 01 (Hauptfach) Multimedia im Netz Wintersemester 2013/14 Übung 01 (Hauptfach) Ludwig-Maximilians-Universität München Multimedia im Netz WS 2013/14 - Übung 1-1 Organisatorisches Ludwig-Maximilians-Universität München

Mehr

Klausur Grundlagen der Programmierung

Klausur Grundlagen der Programmierung Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel

Mehr

Die Klasse MiniJava ist in der Datei MiniJava.java definiert:

Die Klasse MiniJava ist in der Datei MiniJava.java definiert: Die Klasse MiniJava ist in der Datei MiniJava.java definiert: import javax.swing.joptionpane; import javax.swing.jframe; public class MiniJava { public static int read () { JFrame f = new JFrame (); String

Mehr

Einführung in die Programmierung I. 2.4 Felder. Thomas R. Gross. Department Informatik ETH Zürich

Einführung in die Programmierung I. 2.4 Felder. Thomas R. Gross. Department Informatik ETH Zürich 252-0027 Einführung in die Programmierung I 2.4 Felder Thomas R. Gross Department Informatik ETH Zürich Uebersicht 2.4 Felder (Vektoren, "array"s) 2.5 Verschachtelte Schleifen 2.6 "if" Anweisungen 2.7

Mehr

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011 Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 Operatoren für elementare Datentypen 2 Bedingte Anweisungen 3 Schleifen Zuweisungsoperator Die Zuweisung von Werten an

Mehr

4.2 Programmiersprache C

4.2 Programmiersprache C 4.2.1. Elementare Datentypen (signed) int, unsigned int, (signed) short (int), unsigned short (int), (signed) long (int), unsigned long (int) Elementare Datentypen für ganze Zahlen mit oder ohne Vorzeichen.

Mehr