Einführung in die Programmiersprache Perl

Größe: px
Ab Seite anzeigen:

Download "Einführung in die Programmiersprache Perl"

Transkript

1 Einführung in die Programmiersprache Perl Teil 2: Binäre Stringoperatoren Zuweisungsoperatoren Zeichen und Zahlen Geordnete Listen und Arrays Assoziative Listen (Hashes) Kontext Referenzen auf Variablen /

2 Binäre Stringoperatoren (1) Der Punkt-Operator. verknüpft zwei Zeichenketten miteinander. Der Zeichenketten links und rechts des Punktes werden in dieser Reihenfolge miteinander verbunden. Beispiel: my $foo = "Hello"; my $bar = $foo. " World" $bar hat danach den Wert: "Hello World". Das Verketten von Zeichenketten wird in der Fachsprache Konkatenation (engl. concatenation) genannt.

3 Binäre Stringoperatoren (2) Der x-operator vervielfacht eine Zeichenkette. Links vom Operator x muss eine Zeichenkette stehen und rechts davon eine ganze Zahl n. Das Ergebnis besteht aus einer Verkettung von n Kopien der Zeichenkette. Beispiel: my $foo = "Bla" x 5; $foo hat danach den Wert: "BlaBlaBlaBlaBla". Achtung: Der x-operator ist nicht kommutativ!

4 Zuweisungsoperatoren (1) Wir kennen bereits den Zuweisungsoperator =. Beachte: Es handelt sich dabei nicht um ein Gleichheitszeichen im mathematischen Sinne. Der Zuweisungsoperator wertet zuerst den Ausdruck rechts aus (rvalue) und ordnet anschliessend diesen Wert der links stehenden Variable (lvalue) zu. Beispiel: $a = * 10**2; Übungsfrage: Wie interpretiert Perl den folgenden Ausdruck? 7 = $a; Perl wertet die Variable $a aus und möchte diesen Wert der Variable 7 zuordnen. Da 7 jedoch kein gültiger Variablenname ist, bricht Perl die Kompilierung mit einer Fehlermeldung ab.

5 Zuweisungsoperatoren (2) Perl und viele andere Programmiersprachen kennen Zuweisungsoperatoren, bei denen vor der Zuweisung noch eine Operation mit dem lvalue und dem rvalue ausgeführt wird. my $a = 5; $a += 3; # => $a = $a + 3 => $a = 8 my $b = 7; $b -= 3; # => $b = $b - 3 => $b = 4 my $c = 2; $c *= 3; # => $c = $c * 3 => $c = 6 my $d = 6; $d /= 3; # => $d = $d / 3 => $d = 2 my $e = 8; $e %= 3; # => $e = $e % 3 => $e = 2 my $f = 3; $f **= 3; # => $f = $f ** 3 => $f = 27 my $g = x ; $g.= y ; # =>... $g = xy Es gibt noch 8 weitere solcher Zuweisungsoperatoren, die jedoch erst bei Bedarf erläutert werden. Moral: Diese kombinierten Zuweisungsoperatoren machen den Code vielleicht etwas kürzer aber nicht unbedingt besser lesbar.

6 Vermischen von Zeichen und Zahlen (1) Da sowohl Zahlen als auch Zeichenketten von Perl als skalare Daten betrachtet werden, fragt man sich vielleicht, was geschieht, wenn man versucht, einen numerischen Operator auf Zeichenketten anzuwenden oder eine Stringoperator auf Zahlen anzuwenden? Perl behandelt das Problem in einer lockeren und naheliegenden Weise. Führe das Programm auf der folgenden Folie vom Perl-Interpreter aus.

7 prog pl 1 #!/ usr / bin / perl 2 3 use strict ; 4 # use warnings ; 5 6 print "7" + " 3", "\n"; 7 print "7" + "3 zahl ", "\n"; 8 print "7" + " zahl3 ", "\n"; 9 print 7 * "5-4", "\n"; 10 print 7. 3, "\n"; 11 print 7. 3, "\n"; Welche Regeln beim Operieren mit gemischten Daten vermutest du aufgrund der Ausgabe?

8 Vermischen von Zeichen und Zahlen (2) (a) Falls eine Zahl dort steht, wo eine Zeichenkette erwartet wird, wandelt Perl die Zahl in eine Zeichenkette um "2". "3" "23" (b) Falls ein String dort steht, wo eine Zahl erwartet wird, versucht Perl die Zeichenkette als Zahl zu interpretieren: Führende Leerzeichen oder Tabulatoren werden ignoriert. 5 + " 1.2" 5 + "1.2" Falls danach Zeichen folgen, die vernünftig als Zahlen gedeutet werden können (dazu gehören auch die Vorzeichen + oder -), wandelt Perl diese Zeichen bis zum nächsten nicht numerischen Zeichen in eine Zahl um. Die übrigen Zeichen im String werden ignoriert. 2 + "3.14abc" Falls am Anfang des Strings keine Zeichen stehen, die als Zahlen aufgefasst werden können, verwendet Perl den Wert "abc3.14"

9 Übung Welchen Wert haben die folgenden Perl-Ausdrücke? 1. "12" + 3; => "12". 3; => "123" 3. "7x" * "3y"; => 7 * 3 = "fun4you" - "5th Avenue"; => 0-5 = * "3 Musketiere"; => 12

10 Was sind Listen? Eine Liste ist eine geordnete Sammlung skalarer Werte. Darstellung im Quellcode: Eine durch Kommas getrennte Aufzählung skalarer Werte oder Ausdrücke, die von einem Paar runder Klammern eingeschlossen ist. Beispiele: (1, 2, 3, 4) Liste aus vier Werten ( a, 9, "blue") Liste aus drei Werten (4+5, $abc, 3) Liste aus drei Werten Beantworte die folgende Frage aufgrund der obigen Beispiele: Müssen die Elemente einer Perl-Liste homogen (d.h. vom gleichen Datenyp) sein? Nein, In einer Perl-Liste dürfen Gleitkommazahlen, ganze Zahlen, Zeichenketten, Referenzen und Ausdrücke gemischt auftreten.

11 Listen als Argument von print Im Zusammenhang mit der Funktion print() sind wir bereits mit Listen in Kontakt gekommen. print() nimmt als Argument eine Liste entgegen und gibt deren Argumente der Reihe nach aus: print("die Summe beträgt ", $x, " Fr.\n"); print() weiss, dass jetzt eine Liste kommen muss und erlaubt dem Programmierer, die äusseren runden Klammern wegzulassen. print "Die Summe beträgt ", $x, " Fr.\n"; Achtung: es gibt Fälle, wo man vorsichtig mit dieser Nachlässigkeit sein muss ( Übungen)

12 Verschachtelte Listen Eine verschachtelte Liste ist eine Liste innerhalb einer Liste. Perl löst innere Listen automatisch auf. Man spricht in diesem Zusammenhang auch vom Verflachen von Listen. Beispiel: (1, 2, (3, 4, 5), 6) wird automatisch zu (1, 2, 3, 4, 5, 6) Manchmal ist dieses Verhalten unerwünscht. Wir werden später erfahren, wie man dieses automatische Auflösen innerer Listen mit Hilfe von Referenzen verhindert.

13 Listen aus Wort-Strings Manchmal müssen Listen aus einfachen Zeichenketten mit Hochkommas gebildet werden. Beispiel: ( eins, zwei, drei, vier ) Bei längeren solchen Listen, kann der Code wegen der vielen Kommas und Hochkommas unleserlich werden und das Risiko von Tippfehlern steigt. Die Funktion quote() hilft dabei, dieses Problem etwas zu entschärfen. quote() nimmt als Argument eine Liste von Zeichenketten, die durch Leerzeichen (Space, Tabulator, Return) getrennt sind und macht damit eine Liste aus Zeichenketten in Hochkommas: qw(eins zwei drei vier) ist dasselbe wie ( eins, zwei, drei, vier )

14 Listenvariablen = Arrays Auch eine Liste kann in einer Variable gespeichert werden. Variablennamen für Listen beginnen mit dem Man denke an ein stilisiertes a wie array dem englischen Wort für Liste oder Vektor. Für Variablennamen von Listen gelten dieselben Regeln wie für skalare Variablen. Um eine Liste einer Listenvariable zuzuweisen, verwendet man den Zuweisungsoperator. = (1, 2, three = ($a, $b, In Perl bezeichnet man eine Listenvariable als Array.

15 Bildliche Darstellung = (42, 13, $array[1] Möchte man auf ein einzelnes Element des Arrays zugreifen, wird durch das $-Zeichen ersetzt (warum?) und der Index des betreffenden Elements in eckigen Klammern dahinter gesetzt. Achtung: Die Indizierung (=Nummerierung) der Arrayelemente beginnt bei Perl und den meisten anderen Programmiersprachen bei Null!

16 Übung my $a = 3; = ( x, 3.14, 5 * 8, $a); Welchen Wert hat der Ausdruck? 1. $b[1] => $b[2] => $b[0]. "yz" => "xyz" 4. $b[3]. "8" => "38" 5. $b[4] => Fehlermeldung 6. $b[-2] => 40 Ein negativer Index bedeut, dass die Position, vom Listenende in Richtung des Listenanfangs gezählt wird.

17 Namenskonflikte? Perl kann skalare Variablen und Listenvariablen mit gleichem Namen (aber entsprechendem Typensymbol) unterscheiden. Warum? = (5, 6, 7, 8, 9); my $foo = Liste (5, 6, 7, 8, 9); $foo Skalar 42; wegen $-Symbol $foo[3] Element 8 der Liste; wegen [...]

18 Mehrfachzuweisungen Listen können auch im Zusammenhang mit Zuweisungen auftreten. Was bewirken die folgenden Ausdrücke? my ($a, $b) = (35, 12); => my $a = 35; => my $b = 12; ($a, $b) = ($b, $a); => $a = 12 => $b = 35 Warum funktioniert das? Weil die Ausdrücke rechts vom Zuweisungsoperator vor der Zuweisung ausgewertet werden.

19 Der Bereichsoperator Einfache Folgen von Zahlen oder Buchstaben können in Perl mit dem Bereichsoperator.. (range operator) erzeugt werden: (3.. 7) => (3, 4, 5, 6, 7) ( a.. g ) => ( a, b, c, d, e, f, g ) (0.. 9, A.. F ) => (0, 1,..., 9, A, B,..., F ) ( aa.. zz ) => ( aa, ab,..., az, ba, bb,..., bz,... za, zb,..., zz ) (7.. 4) => () [da 7 > 4]

20 Slices (1) Führe das Programm prog pl aus und versuche die Ausgabe zu verstehen. = ( 1, 2, 3, 4, 5, 6 ) ; [ 1, 3, 4 ] ; [ ] ; = ( a.. z ) ; ] ; p r i n t a ; p r i n t b ; p r i n t c ; p r i n t d ; p r i n t e ;

21 Slices (2) Werden innerhalb der eckigen Klammern mehrere Indizes angegeben, so geht Perl davon aus, dass die entsprechenden Elemente aus dem Array ausgewählt werden. Da es sich bei der Auswahl von mehr als einem Element wieder um eine Liste handelt (Teilliste oder slice), muss als Typensymbol des Rückgabwerts verwendet werden. Der Bereichsoperator wird sinnvollerweise dort eingesetzt, wo ein zusammenhängender Bereich aus einem Array ausgwählt werden soll.

22 Übungen = (3, 4, 5, 6, 7, 8, 9); => (3, 5, 7) 2. ( a.. z, A.. Z ) => (a, b,..., z, A, B,... Z) -4] => keine Ausgabe, da (-2) > (-4) -2] => (6, 7, 8)

23 Arrayoperationen (1) shift ARRAY Diese Funktion bewirkt folgendes: Schiebt das erste (d. h. das nullte ) Element aus dem Array heraus und gibt es als Funktionswert zurück. Verkürzt das Array um ein Element und rückt alle Elemente um eine Position nach vorne. Beispiel: = (3, 4, 5, 6, 7); my $wert hat danach den Wert: (4, 5, 6, 7) $wert hat danach den Wert: 3

24 Arrayoperationen (2) unshift ARRAY, LIST Die Funktion unshift ist so etwas wie ein Gegenspieler von shift: unshift schiebt die Elemente von LIST von vorne in die Liste mit dem Variablennamen ARRAY Der Wert von unshift ist nicht der veränderte ARRAY sondern die neue Anzahl der Elemente in ARRAY. Beispiel: = ( x, y, z ); my $wert = ( a, b hat danach den Wert: ( a, b, x, y, z ) $wert hat danach den Wert: 5

25 Arrayoperationen (3) pop ARRAY Die Funktion pop bewirkt folgendes: Entfernt das letzte Element aus dem Array und gibt es als Funktionswert zurück. Verkürzt das Array um das letzte Element. Beispiel: = (3, 4, 5, 6, 7); my $wert hat danach den Wert: (3, 4, 5, 6) $wert hat danach den Wert: 7

26 Arrayoperationen (4) push ARRAY, LIST push ist so etwas wie ein Gegenspieler von pop: push hängt die Elemente von LIST an das Ende von ARRAY an. Der Wert von push ist die neue Anzahl der Elemente in ARRAY. Beispiel: = ( a, b ); my $wert = c hat danach den Wert: ( a, b, c ) $wert hat danach den Wert: 3

27 Zusammenfassung shift... unshift push

28 Übung Wie sieht das nach jeder Operation aus? = (4, 5, 6); 1. 11, 12); = (4, 5, 6, 11, 12) 2. = (5, 6, 11, 12) 3. = (5, 6, 11) 4. 13, 14, 15); = (13, 14, 15, 5, 6, 11)

29 Hashes (1) Es ist nicht immer sinnvoll, eine Sammlung von Daten in Form einer nummerierten Liste anzulegen. Beispiel: = ( Meier, Tim, Heimweg 7, 6370, Stans ); Mit $person[0] kann man auf den Familennamen oder mit $person[3] auf die Postleitzahl der Person zugreifen. Sind diese Bezeichnungen in einem Programm selbsterklärend?

30 Hashes (2) Es gibt Situationen, in denen man die Daten einer Datenmenge besser mit einem Etikett als mit einer Nummer identifiziert. Diese Art von Datenstruktur wird in der Informatik auch als assoziative Liste oder Menge von Schlüssel/Wert-Paaren genannt. Auf das Beispiel von vorhin angewendet: Schlüssel Wert name "Meier" vorname "Tim" strasse "Heimweg 7" plz "6370" ort "Stans"

31 Hashes (3) Perl kennt assoziative Listen als eigenen Datentyp. Im Gegensatz zu Listen müssen assoziative Listen jedoch an eine Variable gebunden werden. Aufgrund der Art und Weise, wie Perl assoziative Listen intern speichert, werden sie Hashes genannt. Das Typensymbol für eine Hash-Variable ist das Prozentzeichen (%). (Man kann sich das so merken, dass das Kreislein oben links den Schlüssel und das Kreislein unten rechts den Wert darstellt.)

32 Hashes (4) Hash-Variablen werden über den Umweg einer Liste definiert: my %person = ( name, "Meier", vorname, "Tim", strasse, "Heimweg 7", plz, "6370", ort, "Stans"); Jeweils zwei aufeinanderfolgende Elemente einer Liste bilden in dieser Reihenfolge ein Schlüssel/Wert-Paar. Man kann sich gut vorstellen, dass die oben gezeigte Art der Eingabe schnell zu Fehlern führt: Komma vergessen Apostroph vergessen Schlüssel vergessen Wert vergessen

33 Hashes (5) In Perl gibt es das Synonym => für das Komma. In diesem Fall dürfen auch die Hochkommas der Schlüssel weggelassen werden. my %person = (name => "Meier", vorname => "Tim", strasse => "Heimweg 7", plz => "6370", ort => "Stans"); Durch Leerzeichen und Zeilenschaltungen können wir die Eingabe noch übersichtlicher formatieren: my %person = (name => "Meier", vorname => "Tim", strasse => "Heimweg 7", plz => "6370", ort => "Stans");

34 Zugriff auf Hashes Um beispeilsweise auf den Vornamen in unserem Beispieldatensatz zuzugreifen, verwenden wir die folgende Syntax: $person{vorname} Wir geben den Schlüsselnamen in geschweiften Klammern hinter dem Variablennamen an. Aus dem Typensymbol % wird das Typensymbol $. Warum? Ein einzelner Werte ist in Perl ein Skalar und skalare Variablen haben das $-Zeichen als Typensymbol. Bemerkung: Die Hochkommas um den Schlüsselnamen können in der Regel weggelassen werden. Dieselbe Schreibweise wird auch dazu verwendet einem Schlüssel einen neuen Wert zuzuordnen: $person{vorname} = "Timothy";

35 Die Funktion keys keys HASH Liefert eine Liste, die aus allen Schlüsseln des angegebenen Hashes besteht. Im skalaren Kontext (dazu bald mehr) liefert die Funktion die Anzahl der Schlüssel. Achtung: Die Schlüssel werden in scheinbar zufälliger Reihenfolge ausgegeben. Beispiel: my %person = (name => "Meier", vorname => "Tim", strasse => "Heimweg 7", plz => "6370", ort => "Stans"); = keys(%person) print Ausgabe: ort vorname strasse plz name

36 Die Funktion values values HASH Liefert eine Liste, die aus allen Werten des angegebenen Hashes besteht. Im skalaren Kontext liefert die Funktion die Anzahl der Schlüssel (dazu bald mehr). Achtung: Die Werte werden in derselben zufälligen Reihenfolge wie bei keys ausgegeben. my %person = (name => "Meier", vorname => "Tim", strasse => "Heimweg 7", plz => "6370", ort => "Stans"); = values(%person) print Ausgabe: Stans Tim Heimweg Meier

37 Hash-Slices my %person = (name => "Meier", vorname => "Tim", strasse => "Heimweg 7", plz => "6370", ort => "Stans"); vorname, name }; print Ausgabe: Tim Meier

38 Die Funktion delete delete EXPRESSION Löscht das (oder die) Schlüssel/Wert-Paar(e) aus dem Hash, gemäss der EXPRESSION. Die Funktion liefert eine Liste mit den gelöschten Werten zurück. my %person = (name => "Meier", vorname => "Tim", strasse => "Heimweg 7", plz => "6370", ort => "Stans"); = delete $person{vorname}; print Ausgabe: "Tim"; [ genauer: ("Tim") ]

39 Kontext (1) Perl unterscheidet primär zwischen skalaren Werten und Listen. Diese Trennung geht über die Schreibweise von Variablen hinaus. Sie beeinflusst auch die Art und Weise, wie gewisse Ausdrücke ausgewertet werden. Dazu ein erstes = (7, 8, 9); $bar In der ersten Zeile erwartet das dass ihm eine Liste zugewiesen wird. Das Array erwartet eine Liste, also wird der Ausdruck (korrekt) im Listenkontext ausgewertet. Analog dazu erzeugt die skalare Variable $bar einen skalaren Kontext, weil sie rechts einen skalarer Wert erwartet. Nun steht dort aber eine Liste. Perl erzwingt nun diesen skalaren Kontext, indem er an Stelle der Liste die Anzahl der Elemente der Liste setzt.

40 Kontext (2) Was geschieht umgekehrt, wenn wir einem Array einen skalaren Wert zuweisen = 12; Da das Array einen Listenkontext erzeugt, verwandelt Perl den skalaren Wert 12 in die Liste (12), die nur aus einem Element besteht. Dasselbe hätten wir auch gleich mit der = (12); erledigen können.

41 Kontext (3) Offenbar liefern einige Perl-Funktionen unterschiedliche Werte zurück und zwar in Abhängigkeit davon, ob sie im skalaren- oder im Listenkontext aufgerufen werden. Als letztes Beispiel soll hier noch der Komma-Operator dargestellt werden. Listen-Kontext: Die Argumente links und rechts des Kommas werden ausgewertet und in eine Liste eingefügt. Bei mehr als einem Komma finden dieser Vorgang von links nach rechts = (1, 3 + 5, 4); # = (1, 8, 4) Skalarer Kontext: Der Komma-Operator wertet das linke Argument aus und wirft den Wert weg. Danach wird das rechte Argument ausgwertet und dessen Wert zurückgegeben. Bei mehreren Kommas verhält sich der Operator ebenfalls linksassoziativ. $foo = 1, 3 + 5, 4; # => $foo = 4

42 Referenzen auf Variablen (1) Wir haben früher bereits erwähnt, dass man in einer skalare Variable auch eine Referenz, d. h. die Adresse eines bestimmten Speicherplatzes ablegen kann. Wir haben aber nie erklärt, wie man das macht. Zunächst benötigen wir die Vorstellung, dass eine Variable ein Behälter (Speicherplatz) mit einem Namen und einer Adresse ist. Eine Referenz auf eine (skalare) Variable ist eine skalare Variable, die als Wert die Adresse des Speicherplatzes der Variable enthält, auf die sie verweist. Dazu ein Bild: $foo 42 $foo ref

43 Referenzen auf Variablen (2) Wann immer Perl auf einen Ausdruck wie $foo trifft, erwartet es nach dem $-Symbol etwas, was zu einer Adresse für eine skalare Grösse ausgewertet werden kann. Perl sucht in seiner internen Liste der skalaren Variablen nach dem Namen foo. Falls es ihn findet, wird foo durch die entsprechende Adresse ersetzt und der skalare Wert von dieser Stelle gelesen bzw. bei Zuweisungen an diese Stelle geschrieben. Perl erlaubt es uns nun, die Adressen, wo normale Variablen ihre Werte speichern, in einer weiteren skalaren Variable zu speichern. An die Adresse einer Variablen kommt man mit dem Backslash-Operator: my $foo = 42; my $bar = \$foo; # $bar bekommt die Adresse von $foo

44 Referenzen auf Variablen (3) Wir müssen uns bewusst sein, dass eine Referenz zunächst keinen direkten Zugang zu der Variablen ermöglicht, auf die sie zeigt. Möchte man den Wert einer Referenz ausgeben, so erhält man zunächst eine Adresse. Um nun indirekt an den Wert der Variablen zuzugreifen, auf den die Referenz zeigt, muss die Referenz dereferenziert werden, indem man das jeweiligen Typensymbol vor die Referenzvariable setzt. Zeigt die Referenz $bar auf die Variable $foo, so bekommt man mit $$bar den Wert von $foo: my $foo = 42; my $bar = \$foo; print $bar; # Ausgabe der Adresse SCALAR(0x18334e4) print $$bar; # Ausgabe des Wertes 42

45 Referenzen auf Variablen (4) Auch Referenzen auf Arrays sind skalare Variablen. In gewisser Weise genügt es, dass die Referenz auf das erste Element eines Arrays zeigt. = (5, 8, $array ref = $array ref Um eine Referenz auf einen Array zu dereferenzieren, muss das vor die Referenzvariable gesetzt werden.

46 Referenzen auf Variablen (5) Bis zu diesem Punkt ist es nur wichtig, das Konzept der Referenzen zu verstehen. Die Nützlichkeit von Referenzen wird erst in den folgenden Lektionen deutlich, wenn es darum geht, Parameter an Funktionen zu übergeben oder Datenstrukturen zu erzeugen.

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

Arbeiten mit Arrays. 4.1 Eigenschaften. 4.1.1 Schlüssel und Element. Kapitel 4 Arbeiten mit s Eine effiziente Programmierung mit PHP ohne seine s ist kaum vorstellbar. Diese Datenstruktur muss man verstanden haben, sonst brauchen wir mit weitergehenden Programmiertechniken wie der

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Programmieren in C. Operatoren, Variablen und deren Sichtbarkeit. Prof. Dr. Nikolaus Wulff

Programmieren in C. Operatoren, Variablen und deren Sichtbarkeit. Prof. Dr. Nikolaus Wulff Programmieren in C Operatoren, Variablen und deren Sichtbarkeit Prof. Dr. Nikolaus Wulff Auswertung von Ausdrücken Was passiert wenn ein Ausdruck wie z. B. int y,x=2; y = ++x * x++; im Computer abgearbeitet

Mehr

Meeting C++ C++11 R-Value Referenzen

Meeting C++ C++11 R-Value Referenzen Meeting C++ Detlef Wilkening http://www.wilkening-online.de 09.11.2012 Inhalt Motivation L-Values und R-Values R-Value Referenzen Move Semantik std::move Funktionen mit R-Value-Referenz Parametern Fazit

Mehr

3 Berechnungen und Variablen

3 Berechnungen und Variablen 3 Berechnungen und Variablen Du hast Python installiert und weißt, wie man die Python-Shell startet. Jetzt kannst Du etwas damit machen. Wir fangen mit ein paar einfachen Berechnungen an und wenden uns

Mehr

Java Einführung Operatoren Kapitel 2 und 3

Java Einführung Operatoren Kapitel 2 und 3 Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig

Mehr

Programmiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013

Programmiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013 Programmiervorkurs Wintersemester 2012/2013 Organisation: Steffen Gebert, Alexander Wolff Tutoren: Jürgen Zöller, Jonathan Stoll Kontakt (für Organisatorisches, Fehler auf Folien...): Steffen Gebert steffen.gebert@informatik.uni-wuerzburg.de

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Lua - Erste Schritte in der Programmierung

Lua - Erste Schritte in der Programmierung Lua - Erste Schritte in der Programmierung Knut Lickert 7. März 2007 Dieser Text zeigt einige einfache Lua-Anweisungen und welchen Effekt sie haben. Weitere Informationen oder eine aktuelle Version dieses

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

C++ - Operatoren. Eigene Klassen mit neuen Funktionen

C++ - Operatoren. Eigene Klassen mit neuen Funktionen C++ - Operatoren Eigene Klassen mit neuen Funktionen Übersicht Klassen bisher Eigene Operatoren definieren 2 Bisher Durch Kapselung, Vererbung und Polymorphy können nun eigene Klassen definiert werden,

Mehr

L6. Operatoren und Ausdrücke

L6. Operatoren und Ausdrücke L6. Operatoren und Ausdrücke 1. Arithmetische Operatoren: +, -, *, /, %, --, ++ 2. Zuweisung-Operatoren: =, +=, -=, *=, /= 3. Vergleichsoperatoren: =, ==,!= 4. Logische Operatoren:!, &&, 5.

Mehr

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 4 PHP

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 4 PHP VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer Kommunikation I (Internet) Übung 4 PHP SS 2004 Inhaltsverzeichnis 1. PHP die serverseitige Programmiersprache...1 1.1. PHP - Bereiche in HTML definieren...1

Mehr

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

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff Programmieren in C Felder, Schleifen und Fließkommaarithmetik Prof. Dr. Nikolaus Wulff Addition von Zahlen 1 2 3 4 5 #include int main() { int x,y,z,sum; x = 1; y = 2; z = 4; sum = x + y + z;

Mehr

Erwin Grüner 15.12.2005

Erwin Grüner 15.12.2005 FB Psychologie Uni Marburg 15.12.2005 Themenübersicht Mit Hilfe der Funktionen runif(), rnorm() usw. kann man (Pseudo-) erzeugen. Darüber hinaus gibt es in R noch zwei weitere interessante Zufallsfunktionen:

Mehr

Institut für Informatik

Institut für Informatik Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung WS 2010 Praktikum: Grundlagen der Programmierung Lösungsblatt 7 Prof. R. Westermann, A. Lehmann, R.

Mehr

syntax.tex Eine Übersicht

syntax.tex Eine Übersicht syntax.tex Eine Übersicht Bernd Worsch 7. Juli 1997 Inhaltsverzeichnis 1 Einleitung 1 2 Bevor es funktioniert... 1 3 Grundelemente von syntax.tex 1 4 Strukturelemente von syntax.tex 3 5 Setzen von Syntaxdiagrammen

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

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

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Programmierkurs: Delphi: Einstieg

Programmierkurs: Delphi: Einstieg Seite 1 von 6 Programmierkurs: Delphi: Einstieg Aus Wikibooks Inhaltsverzeichnis 1 Einstieg Einstieg Was ist Delphi Borland Delphi ist eine RAD-Programmierumgebung von Borland. Sie basiert auf der Programmiersprache

Mehr

Grundlagen. Kapitel 1

Grundlagen. Kapitel 1 Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

Mehr

Übung 9. Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9

Übung 9. Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9 Informatik I 2 Übung 9 Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9 Quellcode Strukturieren Wenn alle Funktionen in einer Datei zusammengefasst sind wird es schnell unübersichtlich Mehrere

Mehr

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die

Mehr

Einführung in die Computerlinguistik Einführung in Python (1)

Einführung in die Computerlinguistik Einführung in Python (1) Einführung in die Computerlinguistik Einführung in Python (1) Dozentin: Wiebke Petersen 10. Foliensatz Wiebke Petersen Einführung CL 1 Compiler Ein Compiler (auch Übersetzer oder Kompilierer genannt) ist

Mehr

1 Oberfläche zum Ausführen der PHP-Dateien

1 Oberfläche zum Ausführen der PHP-Dateien 1 Oberfläche zum Ausführen der PHP-Dateien PHP-Skripte werden vom Webserver ausgeführt. Wenn lokal am Rechner PHP-Dateien erstellt und getestet werden, dann ist es erforderlich, sie im Internet-Explorer

Mehr

10 Lesen und Schreiben von Dateien

10 Lesen und Schreiben von Dateien 10 Lesen und Schreiben von Dateien 10 Lesen und Schreiben von Dateien 135 10.1 Mit load und save Binäre Dateien Mit save können Variableninhalte binär im Matlab-Format abgespeichert werden. Syntax: save

Mehr

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 4: Einführung in JavaScript Stand: 03.11.2014. Übung WS 2014/2015. Benedikt Schumm M.Sc.

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 4: Einführung in JavaScript Stand: 03.11.2014. Übung WS 2014/2015. Benedikt Schumm M.Sc. Übung WS 2014/2015 E-Commerce: IT-Werkzeuge Web-Programmierung Kapitel 4: Stand: 03.11.2014 Benedikt Schumm M.Sc. Lehrstuhl für ABWL und Wirtschaftsinformatik Katholische Universität Eichstätt-Ingolstadt

Mehr

Übung 4: Schreiben eines Shell-Skripts

Übung 4: Schreiben eines Shell-Skripts Aufgabenteil 1 Ziel der Übung Übung 4: Schreiben eines Shell-Skripts Anhand eines einfachen Linux-Skripts sollen die Grundlagen der Shell-Programmierung vermittelt werden. Das für die Bash-Shell zu erstellende

Mehr

3 Variablen. 3.1 Allgemeines. 3.2 Definition und Verwendung von Variablen

3 Variablen. 3.1 Allgemeines. 3.2 Definition und Verwendung von Variablen 3 Variablen 3.1 Allgemeines Variablen werden in Prozeduren, Mustern und Parameter-Dokumenten definiert und verwendet und bei der Jobgenerierung durch die Werte, die ihnen zugewiesen werden, ersetzt. Variablen

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16 Kapitel 5 Arithmetische Operatoren Seite 1 von 16 Arithmetische Operatoren - Man unterscheidet unäre und binäre Operatoren. - Je nachdem, ob sie auf einen Operanden wirken, oder eine Verknüpfung zweier

Mehr

Kapitel 3 Das Projekt Bankkonto Seite 1

Kapitel 3 Das Projekt Bankkonto Seite 1 Kapitel 3 Das Projekt Bankkonto Seite 1 3 Das Projekt Bankkonto Nun wirst du dich etwas gründlicher mit dem Quelltext einer Klasse beschäftigen. Du lernst, wie zwei Objekte eine gemeinsame Aufgabe erledigen.

Mehr

Informatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum

Informatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum lausthal Beispiele Stammbaum Informatik II. Zachmann lausthal University, ermany zach@in.tu-clausthal.de. Zachmann Informatik - SS 06 Stammbaum Stammbaum / Parse tree, Rekursionsbaum Parse tree, Rekursionsbaum

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche Teile

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

Handbuch zum Mensurenprogramm

Handbuch zum Mensurenprogramm Handbuch zum Mensurenprogramm Von Reiner Janke March-Buchheim (bei Freiburg) Reiner Janke 1996 Was kann das Programm? Das Programm schreibt Mensurlisten (Weiten-, Längen-, Aufschnittmensuren etc.) von

Mehr

3 FORMELN. 3.1. Formeln erzeugen

3 FORMELN. 3.1. Formeln erzeugen Formeln Excel effektiv 3 FORMELN 3.1. Formeln erzeugen Übungen: Quittung... 136 Kalkulation... 138 Bestellung... 128 Kassenbuch.. 132 Aufmaß... 152 Zum Berechnen verwendet Excel Formeln. Diese sind in

Mehr

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v) Ein Baum T mit Knotengraden 2, dessen Knoten Schlüssel aus einer total geordneten Menge speichern, ist ein binärer Suchbaum (BST), wenn für jeden inneren Knoten v von T die Suchbaumeigenschaft gilt: Der

Mehr

2D22 Prinzipien der Softwareentwicklung. Prinzipien der Softwareentwicklung S. Strahringer 1

2D22 Prinzipien der Softwareentwicklung. Prinzipien der Softwareentwicklung S. Strahringer 1 2D22 1 Inhalte der Lehrveranstaltung Einführung in die Programmierung mit PHP Literatur: Theis, Thomas (2010): Einstieg in PHP 5.3 und MySQL 5.4. [für Programmieranfänger geeignet]. 6., aktualisierte Aufl.

Mehr

3 Datentypen, Variablen und Konstanten

3 Datentypen, Variablen und Konstanten 3 Datentypen, Variablen und Konstanten Das folgende Kapitel bildet die Voraussetzung für eine strukturierte Programmierung in Excel. Mit Variablen speichern Sie Informationen dauerhaft während der Laufzeit

Mehr

Eine Einführung in Perl

Eine Einführung in Perl Eine Einführung in Perl entstanden im Proseminar Unix-Tools Technische Universität München von Sebastian Vogl Inhaltsverzeichnis 1 Geschichte, Ursprung und Merkmale... 3 1.1 Wie ist Perl enstanden?...

Mehr

2 Darstellung von Zahlen und Zeichen

2 Darstellung von Zahlen und Zeichen 2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f

Mehr

Perl [BP]est Practices. Vorschläge für gute Programmierpraktiken für wartbaren, effizienten und robusten Code

Perl [BP]est Practices. Vorschläge für gute Programmierpraktiken für wartbaren, effizienten und robusten Code Perl [BP]est Practices Vorschläge für gute Programmierpraktiken für wartbaren, effizienten und robusten Code Deuscher Perl-Workshop 9.0 / 2007 Alvar C.H. Freude Perl-Code ist häßlich und unleserlich, nicht

Mehr

7 Die Reorganisation von DB2

7 Die Reorganisation von DB2 Ab und an sollte eine Tabelle reorganisiert werden. Besonders, nachdem größere Datenmengen eingefügt oder gelöscht wurden, muß über eine Reorganisation nachgedacht werden. Eine optimale Performance ist

Mehr

Grundlagen der Informatik - 6. Praktikum

Grundlagen der Informatik - 6. Praktikum Grundlagen der Informatik - 6. Praktikum In diesem Praktikum soll es neben der Anwendung von Funktionsdefinitionen auch um einfache Prinzipien der verteilten Quelltext-Strukturierung gehen. Diese spielt

Mehr

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

entweder: zeilenweise fgets() oder: zeichenweise fgetc() PHP stellt viele Funktionen zur Verfügung, um mit Dateien effektiv zu arbeiten. Die grundsätzliche Vorgehensweise beim Auslesen einer Datei sieht wie folgt aus: 1. Öffnen der Datei fopen() 2. schrittweises

Mehr

Numerische Datentypen. Simon Weidmann

Numerische Datentypen. Simon Weidmann Numerische Datentypen Simon Weidmann 08.05.2014 1 Ganzzahlige Typen 1.1 Generelles Bei Datentypen muss man immer zwei elementare Eigenschaften unterscheiden: Zuerst gibt es den Wertebereich, zweitens die

Mehr

C++ - Einführung in die Programmiersprache Objektorientierte Programmierung

C++ - Einführung in die Programmiersprache Objektorientierte Programmierung C++ - Einführung in die Programmiersprache Objektorientierte Programmierung hat Kanten hat eine Farbe hat eine Kantenfarbe Rechteck zeichnen Rechteck einfärben Rechteck drehen Modulare Programmierung Projekt

Mehr

Einführung in das Objektorientierte Programmieren mit C++

Einführung in das Objektorientierte Programmieren mit C++ BEREICH DATENTECHNIK I CP 500 00 TH 02 Einführung in das Objektorientierte Programmieren mit C++ Kapitel 5 5. Überladen von Operatoren 5.1. Allgemeines 5.2. Operator-Funktionen 5.3. Zuweisungs-Operator

Mehr

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Sven Willert Christian-Albrechts-Universität zu Kiel CAU 2-1 Datentypen und Formate Mit der Festlegung des Datentyps wird die Art bestimmt, mit der der Computer die Informationen

Mehr

Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.

Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. LIKE (Transact-SQL) SQL Server 2012 Dieser Artikel wurde noch nicht bewertet

Mehr

Ausarbeitung des Interpreter Referats

Ausarbeitung des Interpreter Referats Ausarbeitung des Interpreter Referats Gliederung 1. Programmiersprache 1.2. Syntax 1.2.1. Konkrete Syntax 1.2.2. Abstrakter Syntax Baum (Abstrakte Syntax) 2. Parser 2.1. Syntaktische Struktur einer Sprache

Mehr

Hello world. Sebastian Dyroff. 21. September 2009

Hello world. Sebastian Dyroff. 21. September 2009 Hello world Sebastian Dyroff 21. September 2009 1 / 35 Inhaltsverzeichnis Organisatorisches Hello World Typen und Operatoren Programmfluss Weitere Konstrukte Nützliche Tipps 2 / 35 Inhalte dieser Veranstaltung

Mehr

Binäre Bäume Darstellung und Traversierung

Binäre Bäume Darstellung und Traversierung Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail fb641378@inf.tu-dresden.de Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.

Mehr

Ziel, Inhalt. Programmieren in C++ Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind

Ziel, Inhalt. Programmieren in C++ Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind Templates und Containerklassen Ziel, Inhalt Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind Templates und Containerklassen 1 Ziel, Inhalt

Mehr

Einführung in C++ Operatoren überladen (Klassen)

Einführung in C++ Operatoren überladen (Klassen) Einführung in C++ Operatoren überladen (Klassen) Operatoren überladen Die Überladung von Operatoren ermöglicht es, vorhandene Operatoren (+,-,...) auch auf Objekte von Klassen anzuwenden. Die meisten der

Mehr

368 4 Algorithmen und Datenstrukturen

368 4 Algorithmen und Datenstrukturen Kap04.fm Seite 368 Dienstag, 7. September 2010 1:51 13 368 4 Algorithmen und Datenstrukturen Java-Klassen Die ist die Klasse Object, ein Pfeil von Klasse A nach Klasse B bedeutet Bextends A, d.h. B ist

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

MySql und PHP. Apache2: Konfigurieren für php4. ...\apache2\conf\httpd.conf aufrufen. Folgende Zeilen einfügen:

MySql und PHP. Apache2: Konfigurieren für php4. ...\apache2\conf\httpd.conf aufrufen. Folgende Zeilen einfügen: MySql und PHP Apache2: Konfigurieren für php4...\apache2\conf\httpd.conf aufrufen Folgende Zeilen einfügen: LoadModule php4_module "c:/php/php4apache2.dll" AddType application/x-httpd-php.php Wichtig!!

Mehr

Operatoren überladen. Grundsätzliches

Operatoren überladen. Grundsätzliches Operatoren überladen Grundsätzliches Die erste, allgemeinste und wichtigste Regel für das Überladen von Operatoren lautet: Tu s nicht. Das mag paradox klingen, aber der Grund dafür ist, daß sich die hinter

Mehr

Inhalt: Version 1.7.5

Inhalt: Version 1.7.5 Inhalt: Objekte ohne Methoden Objekte mit einfachen Methoden Objekte und Methoden mit Parametern Objekte und Methoden mit Rückgabewert Objekte mit einem Array als Attribut Beziehungen zwischen Objekten

Mehr

Zentrale Services Informationstechnologie. Serienbriefe mit Word 2010

Zentrale Services Informationstechnologie. Serienbriefe mit Word 2010 Serienbriefe mit Word 2010 Petra Rücker ruecker@rrzn.uni-hannover.de Seite 2 Themen Was ist ein Serienbrief? Welche Arbeitsschritte sind notwendig? Komponenten des Seriendrucks Briefumschläge und Etiketten

Mehr

PHP mit Dreamweaver MX bearbeiten 00

PHP mit Dreamweaver MX bearbeiten 00 teil03.fm Seite 360 Donnerstag, 5. Februar 2004 6:27 18 PHP mit Dreamweaver MX bearbeiten 00 Mit Dreamweaver MX 2004 und PHP effektiv arbeiten PHP kann ausschließlich grafisch im Layoutmodus programmiert

Mehr

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

Mehr

Verarbeitung der Eingangsmeldungen in einem Callcenter

Verarbeitung der Eingangsmeldungen in einem Callcenter Q-up ist ein Produkt der: Anwendungsbeispiele Verarbeitung der Eingangsmeldungen in einem Callcenter Der Testdatengenerator Der Testdatengenerator Verarbeitung der Eingangsmeldungen in einem Callcenter

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Übungen zu C++ Kapitel 1

Übungen zu C++ Kapitel 1 Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Sructred Query Language

Sructred Query Language Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen

Mehr

Erster Bug: eine Motte

Erster Bug: eine Motte SOFTWAREFEHLER Der erste Bug Erster Bug: eine Motte Der Begriff Bug (deutsch: Motte) stammt aus dem Jahre 1945, als Ingenieure in einem Schaltrelais eines Computers (Harvard Mark II-System) eine Motte

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

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

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST 2. Interaktive Web Seiten GET und POST Die Übertragungsmethoden GET und POST sind im http Protokoll definiert: POST: gibt an, dass sich weitere Daten im Körper der übertragenen Nachricht befinden: z.b.

Mehr

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

Mehr

1.4.12 Sin-Funktion vgl. Cos-Funktion

1.4.12 Sin-Funktion vgl. Cos-Funktion .4. Sgn-Funktion Informatik. Semester 36 36.4.2 Sin-Funktion vgl. Cos-Funktion Informatik. Semester 37 37 .4.3 Sqr-Funktion Informatik. Semester 38 38.4.4 Tan-Funktion Informatik. Semester 39 39 .5 Konstanten

Mehr

magnum PHP 5 & MySQL 4.1 kompakt komplett kompetent CHRISTINE PEYTON ANDRE MÖLLER

magnum PHP 5 & MySQL 4.1 kompakt komplett kompetent CHRISTINE PEYTON ANDRE MÖLLER magnum PHP 5 & MySQL 4.1 CHRISTINE PEYTON ANDRE MÖLLER kompakt komplett kompetent 3 PHP Die Grundlagen Eine neue Programmiersprache zu lernen, heißt, zu versuchen, zunächst die Grundlagen der Sprache zu

Mehr

1 Dein TI nspire CAS kann fast alles

1 Dein TI nspire CAS kann fast alles INHALT 1 Dein kann fast alles... 1 2 Erste Schritte... 1 2.1 Systemeinstellungen vornehmen... 1 2.2 Ein Problem... 1 3 Menü b... 3 4 Symbolisches Rechnen... 3 5 Physik... 4 6 Algebra... 5 7 Anbindung an

Mehr

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper Python Programmierung Kontaktdaten Homepage: http://wwwlehre.dhbw-stuttgart.de/~schepper/ Email: Volker. Schepper [A@T] yahoo.de Vorlesung Skriptsprachen Vorlesung: 06.03.2013 13.03.2013 20.03.2013 27.03.2013

Mehr

Microsoft Excel 2010 Matrix-Funktionen

Microsoft Excel 2010 Matrix-Funktionen Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft Excel 2010 Matrix-Funktionen Matrix-Funktionen in Excel 2010 Seite 1 von 7 Inhaltsverzeichnis Einleitung... 2 Integrierte Matrixfunktionen...

Mehr

2.4 Das erste C++-Programm *

2.4 Das erste C++-Programm * 2.4 Das erste C++-Programm * 11 2.4 Das erste C++-Programm * Den besten Lernerfolg erzielen Sie, wenn Sie alle Beispiele dieses Buchs selbst nachvollziehen. Sie können hierzu einen Compiler verwenden,

Mehr

Praktikum Funktionale Programmierung Teil 1: Lexen und Parsen

Praktikum Funktionale Programmierung Teil 1: Lexen und Parsen Praktikum Funktionale Programmierung Teil 1: Lexen und Parsen Professur für Künstliche Intelligenz und Softwaretechnologie Sommersemester 2009 Überblick Teil 1: Lexen und Parsen Die Sprache LFP +C Professur

Mehr

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert Inhalt Einführung 1. Arrays 1. Array unsortiert 2. Array sortiert 3. Heap 2. Listen 1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert 3. Bäume

Mehr

HEUTE. Effizienzbeispiel: bekannte Version (Übung 04.11.04) Mathematik: Was ist Effizienz? vollständige Induktion

HEUTE. Effizienzbeispiel: bekannte Version (Übung 04.11.04) Mathematik: Was ist Effizienz? vollständige Induktion 17.11.04 1 HEUTE 17.11.04 3 Effizienzbeispiel: bekannte Version (Übung 04.11.04) Mathematik: was ist Effizienz? vollständige Induktion JAVA: Arrays die for -Schleife die Sprunganweisungen break und continue

Mehr

Programmieren mit der Windows PowerShell. von. Nils Gutsche. (aka Vellas)

Programmieren mit der Windows PowerShell. von. Nils Gutsche. (aka Vellas) Programmieren mit der Windows PowerShell von Nils Gutsche (aka Vellas) Einleitung Im November 2006 erschien die finale Fassung der Windows PowerShell. Sie gilt als der Nachfolger der Eingabeaufforderung

Mehr

Perzentile mit Hadoop ermitteln

Perzentile mit Hadoop ermitteln Perzentile mit Hadoop ermitteln Ausgangspunkt Ziel dieses Projektes war, einen Hadoop Job zu entwickeln, der mit Hilfe gegebener Parameter Simulationen durchführt und aus den Ergebnissen die Perzentile

Mehr

select Einführung in Perl Dateien, Verzeichnisse und Prozesse II Autoflush - Bsp (1) Autoflush

select Einführung in Perl Dateien, Verzeichnisse und Prozesse II Autoflush - Bsp (1) Autoflush Einführung in Perl Dateien, Verzeichnisse und Prozesse II Dateihandle - select - ungepufferte Ausgabe - open, ergänzt - In-place Bearbeitung Dateien manipulieren - löschen - umbenennen Verzeichnisse manipulieren

Mehr

PHP Programmierung. Seminarunterlage. Version 1.02 vom

PHP Programmierung. Seminarunterlage. Version 1.02 vom Seminarunterlage Version: 1.02 Version 1.02 vom 27. August 2013 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

4. Relationen. Beschreibung einer binären Relation

4. Relationen. Beschreibung einer binären Relation 4. Relationen Relationen spielen bei Datenbanken eine wichtige Rolle. Die meisten Datenbanksysteme sind relational. 4.1 Binäre Relationen Eine binäre Relation (Beziehung) R zwischen zwei Mengen A und B

Mehr

Programmieren Tutorium

Programmieren Tutorium Programmieren Tutorium Tom Schildhauer Tutorium 12 Universität Karlsruhe (TH) Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by Tom Schildhauer,

Mehr

1 DAVINCI... 3 1.1 ALLGEMEIN... 3. 1.1.1 Ergonomie... 3. 1.1.2 Löschung von Menu Einträgen... 9. 1.1.3 Passwort Check... 10

1 DAVINCI... 3 1.1 ALLGEMEIN... 3. 1.1.1 Ergonomie... 3. 1.1.2 Löschung von Menu Einträgen... 9. 1.1.3 Passwort Check... 10 Release Notes 1049 Inhalt 1 DAVINCI... 3 1.1 ALLGEMEIN... 3 1.1.1 Ergonomie... 3 1.1.2 Löschung von Menu Einträgen... 9 1.1.3 Passwort Check... 10 1.1.4 Prüflogik von Kreditkartennummern... 12 1.1.5 Marken

Mehr

Grundlagen Programmierung

Grundlagen Programmierung 1. Aufgabe (Spielen mit Objekten) Gegeben sei der auch von der Veranstaltungsseite erhältliche Programmcode auf der rechten Seite, der im Detail zuerst nicht verstanden werden muss. a) Erzeugen Sie sich

Mehr

Einführung in VisualBasic for Applications. Stefan Mahlitz

Einführung in VisualBasic for Applications. Stefan Mahlitz Einführung in VisualBasic for Applications Stefan Mahlitz Stefan Mahlitz Einführung in VBA 27.08.00 Inhaltsverzeichnis 1. Grundlagen der VisualBasic for Applications (VBA) Programmierung...2 1.1 Variablen,

Mehr

Steht in der ersten Zeile #!/usr/bin/python und hat man die Ausführungsrechte gesetzt kann man es direkt ausführen.

Steht in der ersten Zeile #!/usr/bin/python und hat man die Ausführungsrechte gesetzt kann man es direkt ausführen. Python Unter Windows empfiehlt sich der Download von Python unter folgender URL, http:// www.python.org/download/. Linux Distributionen wie z.b. Ubuntu liefern Python direkt in Ihrer Paketverwaltung mit:

Mehr

Programmierung einer Windows Store App mit C# und XAML

Programmierung einer Windows Store App mit C# und XAML Neuer Abschnitt 1 Seite 1 Programmierung einer Windows Store App mit C# und XAML Einleitung In diesem Fachbericht der im Rahmen meines 8 Wochen langem Praktikums entstand geht es um die Programmierung

Mehr

9 T-SQL-Grundlagen. 9.1 Grundlegende Informationen. 9.1.1 T-SQL-Skripte erstellen und testen

9 T-SQL-Grundlagen. 9.1 Grundlegende Informationen. 9.1.1 T-SQL-Skripte erstellen und testen Leseprobe aus Access und SQL Server http://www.acciu.de/asqllesen 9 T-SQL-Grundlagen In gespeicherten Prozeduren, Triggern und benutzerdefinierten Funktionen kommen Sie teilweise mit den üblichen SQL-Anweisungen

Mehr

Tutorium Java Ein Überblick. Helge Janicke

Tutorium Java Ein Überblick. Helge Janicke Tutorium Java Ein Überblick Helge Janicke 26. Oktober 2000 1 VORRAUSSETZUNGEN ZUM PROGRAMMIEREN MIT JAVA. 1 1 Vorraussetzungen zum Programmieren mit Java. Was braucht man, wenn man mit Java programmieren

Mehr

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen C3: Structured Query Language Lernziele: Nach der Bearbeitung dieser Lektion haben Sie folgende Kenntnisse erworben: Sie können elementaren

Mehr

Ruby. Erfinder: Yukihiro Matsumoto Japan 1993 Einflüsse: Smalltalk Perl Eigenschaften: Objektorientiert Interpretiert

Ruby. Erfinder: Yukihiro Matsumoto Japan 1993 Einflüsse: Smalltalk Perl Eigenschaften: Objektorientiert Interpretiert Ruby Erfinder: Yukihiro Matsumoto Japan 1993 Einflüsse: Smalltalk Perl Eigenschaften: Objektorientiert Interpretiert I believe that the purpose of live is, at least in part, to be happy. Based on this

Mehr

DAP2-Programmierpraktikum Einführung in C++ (Teil 1)

DAP2-Programmierpraktikum Einführung in C++ (Teil 1) DAP2-Programmierpraktikum Einführung in C++ (Teil 1) Carsten Gutwenger 11. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Mein erstes C++-Programm Namensräume

Mehr