Einführung in Perl. Hashes, Referenzen, Listen von Listen
|
|
- Carl Kirchner
- vor 6 Jahren
- Abrufe
Transkript
1 Einführung in Perl Hashes, Referenzen, Listen von Listen Jörn Clausen Georg Fuellen
2 Übersicht Datentypen: Wiederholung: Skalare und Arrays Hashes Referenzen (Listen Hashes) von (Listen Hashes) Variablendeklaration, Sichtbarkeit
3 Wiederholung Skalare: $num = 1234; $string = "Hello World!" = qw{foo bar = (1,3, = Element eines Arrays: $words[1] Slice eines
4 Kontext bestimmt Verhalten von = (1, 2, 3, 2, $num $last = (4, 3, 2, 1); Überprüfung des Kontexts: wantarray sub func {... return(@foo) if wantarray;... return($foo); }
5 Tabelle von keys und values beliebiger String als Schlüssel: Hashes $days{ jan } = 31; $days{ feb } = 28; $hours = ($days{ jan } + $days{ feb }) * 24; Assoziatives Array Schlüssel ist ein String: $foo{1} = 1; $foo{1.0} = 2; $foo{ 1 } = 3; $foo{ 1.0 } = 4;
6 Definition von Hashes Zuweisung durch Liste: %days = ( jan, 31, feb, 28, mar, 31); schlecht lesbar fehleranfällig besser: %days = ( jan => 31, feb => 28, mar => 31 );
7 Zugriff auf Hashes Schlüssel eines Hashes: keys foreach $month (keys(%days)) { print $month," has ",$days{$month}," days\n"; } Reihenfolge der Schlüssel undefiniert lexikographisch sortiert: foreach $name (sort(keys(%people))) {... } values liefert Liste der Werte
8 Zugriff auf Hashes, cont. alternative Methode: while (($month,$days) = each(%days)) { print "$month has $days days\n"; } liefert in skalarem Kontext nur Schlüssel each, keys und values benutzen selben Zähler Verhalten bei Veränderung des Hashes undefiniert
9 Hash als Menge 6 aus 49, ohne Zusatzzahl: my %numbers = (); while (keys(%numbers) < 6) { my $randnum = int(rand(49)) + 1; $numbers{$randnum} = 1; } print join(", ", sort({$a <=> $b} keys(%numbers))),"\n";
10 Schlüssel oder Wert? Arten des "Vorhandenseins": %hash = ( a => 1, b => 0, c => undef ); foreach $x (qw{a b c d}) { print "$x is true\n" if $hash{$x}; print "$x is defined\n" if defined($hash{$x}); print "$x exists\n" if exists($hash{$x}); } delete($h{b})
11 Variablen-Deklaration zwei Arten von Variablen: globale und lexikalische globale Variablen von überall sichtbar lexikalische Variablen an aktuellen Block gebunden local legt neue Instanz einer globalen Variable an my deklariert lexikalische Variable lexikalische Variablen überdecken globale Variablen im Block
12 Variablen-Deklaration, cont. $foo = 42; { my $foo = 24; print $foo,"\n"; # gibt 24 aus printfoo(); } # 42 { local $foo = 84; print $foo,"\n"; # gibt 84 aus printfoo(); } # 84 print $foo,"\n"; # gibt 42 aus printfoo(); # 42 sub printfoo { print "printfoo says: $foo\n"; }
13 lokalisierte Variablen temporäres Überschreiben von defaults: foreach $x qw{ } { debug("division by zero ") if $x == 0; print 1/$x," " unless $x == 0; sleep(1); } sub debug { my ($msg) local $ = 1; print $msg; }
14 Referenzen zwei Arten: symbolische Referenzen harte, echte Referenzen Analogie zu symbolic links und hard links, link count komplexe Datenstrukturen Objekt-Orientierte Programmierung
15 symbolische Referenzen Beispiel: %joe = (name => Joe User, age => 26); %jane = (name => Jane User, age => 24); $chef = jane = keys(%$chef); print $$chef{name}," is the boss\n";
16 PSfrag replacements echte Referenzen $bar $foo = 42; $foo PSfrag replacements $foo 2 42 $bar = \$foo; $bar 1 $bar Skalar $baz = \$bar;
17 Referenzen, cont. Referenzen auf andere Datentypen: $scalar_ref = \$scalar; $array_ref = \@array; $hash_ref = \%hash; $sub_ref = \ Dereferenzierung: $scalar_value = %hash_value = %$hash_ref; $retval = &$sub_ref(@parameters);
18 Referenzen und Sichtbarkeiten link count zählt Verweise auf Variable Variable wird erst gelöscht, wenn link count Null ist Beispiel: { my $foo = 42; $bar = \$foo; } print "$foo, $$bar\n";
19 Referenzen auf Arrays und Hashes Arrays als Parameter: $prod = vectmult(\@vec1, \@vec2); Zugriff auf Elemente: $value = $$array_ref[4]; alternative Schreibweise: $value = $array_ref->[4]; Hashes: $value = $$hash_ref{foo}; $value = $hash_ref->{foo};
20 Anonyme Referenzen Arrays und Hashes: $array_ref = [ a, b, c, d ]; $word_ref = [ qw{foo bar baz} ]; $hash_ref = { jan => 31, feb => 28, mar => 31 }; [] bzw. {} statt () Referenz auf Block: my $code_ref = sub {... };
21 Listen von Listen = qw{h He Li Be B = qw{ = (\@symbols, \@amus); Zugriff: $elements[0]->[2] $elements[1]->[1] -> zwischen Klammern optional: $elements[0][2] $elements[1][1]
22 LoLs mit anonymen Referenzen = ( [ H, He, Li, Be, B, C ], [ 1, 4, 7, 9, 11, 12 ] = ( [1, 2, 3], [4, 5, 6], [7, 8, 9] = ( [ [1,2], [3,4], [5,6] ], [ [9,8], [7,6], [5,4] ] );
23 Listen von Hashes Beispiel: %joe = (name => Joe User, age => 26); %jane = (name => Jane User, age => = (\%joe, \%jane); Zugriff: $people[0]->{name} $people[1]{age}
24 LoH mit anonymen Referenzen = ( { name => Joe User, age => 26 }, { name => Jane User, age => 24 } );
25 beliebige Kombinationen: LoLs, HoHs, LoHs, HoLs %bands = ( beatles => { members => [ John, Paul, George, Ringo ], albums => [ Help, Revolver ] }, thewho => { members => [ Roger, Pete, John, Keith ], albums => [ Quadrophenia ] } ); $bands{thewho}{members}[3] = Zak
26 autovivification Zuweisung an bisher unbenutzte Struktur: $array[10] = hello ; alloziert Platz für 10 weitere Elemente $buffer[2**24] alloziert 64 MB auf einmal komplexere Datenstrukturen: $books{tolkien}{1954} = [ Lord of the Rings ]; push(@{$books{ Tolkien }{1937}}, The Hobbit );
27 Modul Data::Dumper Visualisierung use Data::Dumper; $books{tolkien}{1954} = [ Lord of the Rings ]; push(@{$books{ Tolkien }{1937}}, The Hobbit ); print Dumper \%books; Ausgabe: $VAR1 = { Tolkien => { } }; 1937 => [ The Hobbit ], 1954 => [ Lord of the Rings ]
28 Typeglobs globale Variablen werden in Symbol-Tabelle abgelegt %foo, &foo,... werden zu typeglob zusammengefaßt Schreibweise: *foo Zugriff auf einzelne Variablen: $foo = 42; print ${*foo},"\n"; filehandles als Parameter Export von Variablen in packages
29 Aliase mit Hilfe von Typeglobs: $a = 10; *b = *a; $b = 20; print $a,"\n"; Aliase für Variablen zur Erinnerung: foreach und Parameterübergabe Modul English: $OUTPUT_AUTOFLUSH statt $ selektive Aliase: *b = \$a; Konstanten: *PI = \ ; $PI = 3;
30 Referenzen auf Subroutinen Sprungtabellen: %options = ( -h => \&usage, -v => sub { $verbosity=1; }, -f => sub { $interactive=0; } ); Signalhandler: $SIG{INT} = \&cleanup; sub cleanup { # remove temporary files... exit; }
31 Closures Closure: Referenz auf Subroutine, die sich lexikalische Variablen merkt Belegung der Variablen bei der Definition der Subroutine sub greetings { my ($salutation) return sub { my ($salutant) print "$salutation $salutant\n"; } } $hello = greetings("hello"); $hi = greetings("hi"); &$hello("world!"); &$hi("bob");
32 Closures als Callback Perl/Tk: sub mkbutton { my ($parent, $title) =@_; my $button = $parent->button( -text => $title, -command => sub { print "$title pressed\n"; } ); $button->pack(); } $main->mkbutton("ok"); $main->mkbutton("cancel");
Komplexe Datenstrukturen
Perl-Praxis Komplexe Datenstrukturen Madis Rumming Jan Krüger {mrumming,jkrueger}@cebitec.uni-bielefeld.de Übersicht Hashes Referenzen komplexe Datenstrukturen Perl-Praxis Komplexe Datenstrukturen 2/23
MehrKomplexe Datenstrukturen
Perl-Praxis Komplexe Datenstrukturen Michael Beckstette Martin Mann, Steffen Heyne {mbeckste,mmann,sheyne@informatik.uni-freiburg.de 1 Übersicht Hashes Referenzen komplexe Datenstrukturen 2 Hashes dritter
MehrKomplexe Datenstrukturen
Perl-Praxis Komplexe Datenstrukturen Jörn Clausen, Jan Krüger Jens Reeder, Alex Sczyrba AG Praktische Informatik Technische Fakultät Universität Bielefeld {asczyrba,jkrueger@techfak.uni-bielefeld.de 1
MehrPerl-Praxis. Subroutinen. Jörn Clausen, Jan Krüger Jens Reeder, Alex Sczyrba. AG Praktische Informatik Technische Fakultät Universität Bielefeld
Perl-Praxis Subroutinen Jörn Clausen, Jan Krüger Jens Reeder, Alex Sczyrba AG Praktische Informatik Technische Fakultät Universität Bielefeld {asczyrba,jkrueger@techfak.uni-bielefeld.de Übersicht Subroutinen
MehrReferenz (1) Einführung in Perl Referenzen. Zwei Typen von Referenz. Referenz (2) Referenz = Verweis auf andere Daten
Referenz (1) Referenz = Verweis auf andere Daten Referenzierung = eine Referenz erzeugen Syntax: vorangestellter Backslash $str = "Das ist ein String\n"; # String $ref = \$str; # Referenz auf String @array
MehrEinführung in Perl. Packages, OO-Programmierung
Einführung in Perl Packages, OO-Programmierung Jörn Clausen Georg Fuellen Übersicht Modularisierung von Programmen Objekt-orientierte Programmierung Tugenden des Software-Designs Laziness Impatience Hubris
MehrThreads. Netzwerk - Programmierung. Alexander Sczyrba Jan Krüger
Netzwerk - Programmierung Threads Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Jan Krüger jkrueger@cebitec.uni-bielefeld.de Übersicht Probleme mit fork Threads Perl threads API Shared Data Mutexes
MehrObjektorientiertes Programmieren
Perl-Praxis Objektorientiertes Programmieren Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Objektorientierung in Perl Klassen, Objekte, Methoden Attribute Perl-Praxis Objektorientiertes Programmieren
MehrPerl-Praxis. Kontrollstrukturen. Jörn Clausen Daniel Hagemeier, Jan Krüger
Perl-Praxis Kontrollstrukturen Jörn Clausen Daniel Hagemeier, Jan Krüger {dhagemei,jkrueger}@cebitec.uni-bielefeld.de Übersicht Kommandozeilen-Parameter Vergleichsoperatoren Bedingungen Wahrheitswerte
MehrObjekterkennung auf Bildern mit OpenCV und Image::ObjectDetect
Objekterkennung auf Bildern mit OpenCV und Image::ObjectDetect Autor: EMail: Datum: Simon Wilper simon AT ruhr.pm.org http://ruhr.pm.org/ Template Version 0.3 The use of a camel image in association with
Mehrsecure beim NoName e.v. powered by L A TEX, of course 3. Dezember 2009
Go secure beim NoName e.v. powered by L A TEX, of course 3. Dezember 2009 Inhalt Syntax, Datentypen Funktionen Fehlerbehandlung Typsystem Interfaces Goroutinen Channels Beispiele 2 / 16 Syntax Sehr an
MehrPerl für Fortgeschrittene
Perl für Fortgeschrittene I. Inhalt der Vorlesung 2 I. Begleitmaterial zur Proseminarvorlesung 3 Subroutinen 16.10.2007 3 Subroutinen 3 Benannte Referenzen 16.10.2007 6 Referenzen auf Variablen: 6 Lokale
MehrArrays. Einleitung. Deklarieren einer Array Variablen
Arrays Einleitung bisher jede Variable einzeln deklariert: 12 3 14 12 32 32 3 32 5 3 double sum; int count; ÿ Sie können Zweck und Aufbau von Array-Datentypen erklären ÿ Sie können einen Array korrekt
MehrC++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen Leibniz Universität IT Services Anja Aue Zeiger (Pointer) Verweis auf eine Speicherstelle. Speicherung einer Speicheradresse.
MehrBeispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung
Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]
MehrBenutzerfunktionen Was ist eine Funktion, was ist eine Prozedur?
Was ist eine Funktion, was ist eine Prozedur? Aufbau einer "Prozedur" (d.h. ohne Rückgabewerte) sub FktName (Parameter) {Anweisungsblock sub ausgabe {print "Hallo Welt!" Aufbau einer "Funktion" (d.h. mit
MehrInstitut 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 6 Prof. R. Westermann, A. Lehmann, R.
MehrTHE GO PROGRAMMING LANGUAGE. Michael Karnutsch & Marko Sulejic
THE GO PROGRAMMING LANGUAGE Part 1: Michael Karnutsch & Marko Sulejic Gliederung Geschichte / Motivation Compiler Formatierung, Semikolons Variablen, eigene Typen Kontrollstrukturen Funktionen, Methoden
Mehr1 Klassen und Objekte
1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente
MehrC++ Teil 6. Sven Groß. 27. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 14
C++ Teil 6 Sven Groß 27. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 6 27. Mai 2016 1 / 14 Themen der letzten Vorlesung Musterlösung A2 Wdh.: Zeiger und Felder Kopieren von Feldern Dynamische Speicherverwaltung
Mehr10 Block 10: Verwendung von Modulen in Perl
10 Block 10: Verwendung von Modulen in Perl 10.1 Lernziele... 2 10.2 Theorie... 3 10.2.1 Warum Module?... 3 10.3 Praxis... 5 10.3.1 Module erstellen... 5 10.3.2 Module aufrufen... 6 10.3.3 Aufgabe... 8
MehrVariablen - %Hashes Was ist ein Hash? 'Assoziative Arrays'
Was ist ein Hash? 'Assoziative Arrays' Hashes sind array-ähnliche Datenstrukturen, die aus Schlüssel-Wert Paaren bestehen. Artikel + Preis Apfel 0,45 Banane 0,75 Ananas 1,49 Birne 0,59 %Artikel = Apfel
MehrImplementieren von Klassen
Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und
MehrDeklarationen in C. Prof. Dr. Margarita Esponda
Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte
Mehr5.4 Arrays. Oft müssen viele Werte gleichen Typs gespeichert werden. Idee: Lege sie konsekutiv ab! Greife auf einzelne Werte über ihren Index zu!
5.4 Arrays Oft müssen viele Werte gleichen Typs gespeichert werden. Idee: Lege sie konsekutiv ab! Greife auf einzelne Werte über ihren Index zu! Feld: Index: 17 3-2 9 0 1 0 1 2 3 4 5 Harald Räcke 114/656
MehrWeb-Techniken Einführung in JavaScript
Web-Techniken Einführung in JavaScript Prof. Dr. Axel Böttcher Winter 2012/13 15. September 2012 Ausführung von JavaScript Variante 1: Ausführung im Browser durch direktes Einbetten: 1 2
MehrEinführung in Perl. O'REILLY Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo. Randal L. Schwartz, Tom Phoenix & brian dfoy
Einführung in Perl Randal L. Schwartz, Tom Phoenix & brian dfoy Deutsche Übersetzung von Jörgen W. Lang O'REILLY Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo Inhalt Vorwort XI 1 Einleitung 1
MehrProgrammierung von Webapplikationen mit Perl / MySQL
Programmierung von Webapplikationen mit Perl / MySQL Markus Schade clt5@markusschade.com Matthias Szusdziara matthias.szusdziara@s1999.tu-chemnitz.de 2. März 2003 5. Chemnitzer LinuxTag Inhalt Für das
MehrDie Klasse Collection (gb) implementiert eine Hash-Tabelle, deren Elemente aus einem Wert-Schlüssel-Paar
7.5.0 Collection Die Klasse Collection (gb) implementiert eine Hash-Tabelle, deren Elemente aus einem Wert-Schlüssel-Paar bestehen. Die Schlüssel sind generell vom Typ String und die assoziierten Werte
MehrStatische und Nichtstatische Methoden Properties/ Eigenschaften
Statische und Nichtstatische Methoden Properties/ Eigenschaften Statische Methoden Definition und Merkmale von Properties Modifizierer Beispiele Nebeneffekte Dr. Beatrice Amrhein Statische / Nichtstatische
MehrC# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue
C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections Leibniz Universität IT Services Anja Aue Arrays... speichern mehrere Werte vom gleichen Datentyp. fassen zusammenhängende Werte
MehrKlassen als Datenstrukturen
Einstieg in die Informatik mit Java, Vorlesung vom 27.11.07 Übersicht 1 Klassen als Datenstruktur 2 Vereinbarung von Klassen 3 Erzeugen von Objekten - Instanzen einer Klasse 4 Zugriff auf Attribute 5 Initialisierung
MehrDynamische 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
MehrC++ - Objektorientierte Programmierung Konstante und statische Elemente
C++ - Objektorientierte Programmierung Konstante und statische Elemente hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja
MehrInfo B VL 11: Innere Klassen/Collections
Info B VL 11: Innere Klassen/Collections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 11: Innere Klassen/Collections
MehrII. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )
Technische Informatik für Ingenieure (TIfI) WS 2006/2007, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Rekursion Datenstrukturen Merge S ( split, s, merge ) Beispiel:
MehrPERL. Eine Einführung. von Serap Tekke & Elif Öner
PERL Eine Einführung von Serap Tekke & Elif Öner Inhalt 1. Allgemeines 2. Datentypen 3. Algorithmische Elemente 4. Module 5. Objektorientiertes Programmieren 6. Pattern Matching 2 Was ist Perl... Perl
Mehr8. Referenzen und Zeiger
8. Referenzen und Zeiger Motivation Variable werden in C++ an speziellen Positionen im Speicher abgelegt. An jeder Position befindet sich 1 Byte. Sie sind durchnummeriert beginnend bei 0. Diese Positionen
MehrEinstieg in die Informatik mit Java
1 / 16 Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 16 1 Einführung 2 Element-Klassen 3 Lokale Klassen 4 Anonyme Klassen
MehrObjektorientiertes Programmieren
Perl-Praxis Objektorientiertes Programmieren Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Objektorientierung in Perl Klassen, Objekte, Methoden Attribute Perl-Praxis Objektorientiertes Programmieren
MehrPerl-Praxis. Kontrollstrukturen. Madis Rumming Jan Krüger
Perl-Praxis Kontrollstrukturen Madis Rumming Jan Krüger {mrumming,jkrueger@cebitec.uni-bielefeld.de 1 Übersicht Kommandozeilen-Parameter Vergleichsoperatoren Bedingungen Wahrheitswerte bedingte und unbedingte
MehrProgrammierkurs Python I
Programmierkurs Python I Michaela Regneri & Stefan Thater Universität des Saarlandes FR 4.7 Allgemeine Linguistik (Computerlinguistik) Winter 2010/11 Übersicht Kurze Wiederholung: while Sammeltypen (kurz
MehrPerl-Praxis. Einführung. Jörn Clausen, Jan Krüger Jens Reeder, Alex Sczyrba. AG Praktische Informatik Technische Fakultät Universität Bielefeld
Perl-Praxis Einführung Jörn Clausen, Jan Krüger Jens Reeder, Alex Sczyrba AG Praktische Informatik Technische Fakultät Universität Bielefeld {asczyrba,jkrueger}@techfak.uni-bielefeld.de Übersicht Ursprünge
MehrEinstieg in die Informatik mit Java
1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung
MehrDie for -Schleife HEUTE. Schleifen. Arrays. Schleifen in JAVA. while, do reichen aus, um alle iterativen Algorithmen zu beschreiben
18.11.5 1 HEUTE 18.11.5 3 Schleifen Arrays while, do reichen aus, um alle iterativen Algorithmen zu beschreiben Nachteil: Steuermechanismus ist verteilt Übersicht nicht immer leicht dazu gibt es for (
MehrÜbungen Perlkurs 08: Referenzen
Übungen Perlkurs 08: Referenzen A: Handhabung von Referenzen A1 Erstelle einen Array aus drei Elementen (z.b. Namen) und eine Referenz darauf. Benutze die Referenz, um alle Werte des Arrays auszugeben.
MehrProgrammierung mit C Zeiger
Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch
Mehrstring: Beispiele: Test, test, `Seitentitel: ${document.title}`
JS Crashkurs Einige JavaScript spezifische Dinge zusammengefasst. Datentypen Javascript kennt folgende primitiven Datentypen: undefined number: Beispiele: 1 1.0.0 1. 0x1 1e0 boolean: true oder false string:
MehrProgrammierung und Angewandte Mathematik
Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Ablauf Was sind Funktionen/Methoden
MehrWas ist neu an Perl 6? Mein Weg Stolperfallen Perl 6 in Perl 5 Mehr Praktisches Grundkonzepte
Rundschau Perl 6 Was ist neu an Perl 6? Mein Weg Stolperfallen Perl 6 in Perl 5 Mehr Praktisches Grundkonzepte Herbert Breunung Perl Mansfelder Land Mansfelder Land Ägypten aka Khem Kephra 0.4.3.32 Großes
MehrFunktionen in Python
Funktionen in Python Prof. Dr. Rüdiger Weis Beuth Hochschule für Technik Berlin 1 / 31 1 def Anweisung 2 Argumentübergabe 3 Lokale Variablen 4 Default Argumente 5 Aufruf mit Schlüsselwort 6 Variable Argumente
MehrTag 8 Repetitorium Informatik (Java)
Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium
MehrC++11. exportieren ihre Aufzählungsbezeichner in den umgebenden Bereich (name clashes) schwach typisiert (z.b. keine forward Deklaration möglich)
C - enums mit Problemen: konvertierbar nach int C++11 exportieren ihre Aufzählungsbezeichner in den umgebenden Bereich (name clashes) schwach typisiert (z.b. keine forward Deklaration möglich) enum classes
MehrAdvanced Programming in C
Advanced Programming in C Pointer und Listen Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Oktober 2013 Überblick 1 Variablen vs. Pointer - Statischer und dynamischer
MehrGrundlagen 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
MehrRepetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
MehrÜbersicht. Einführung in Perl Datenstrukturen I. Datentypen Übersicht (1) Kernbegriffe. Kernbegriffe. Einführung der Datentypen.
Übersicht Kernbegriffe Einführung der Datentypen Skalare im Detail Vergleichsoperatoren Standardeingabe chomp-operator while-schleife Perl, 24.10.03 Datentypen I 1 Datentypen Übersicht (1) Datentyp Erklärung
MehrEinführung in die Programmierung Blockkurs Java
Michael Bader 8. 12. April 2002 Dienstag Inhaltsübersicht Variablen: Membervariablen und lokale Variablen Referenzvariablen: Arrays und Objekte anlegen Definition von Funktionen: Methoden Konstruktoren
MehrÜ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
MehrEine Beschreibung des Programms und der dahinter stehenden Philosophie.
1 Geschichte Larry Wall schrieb ein Konfigurationsmanagementsystem und benötigte dazu ein Berichtwerkzeug, das mehrere Dateien gleichzeitig öffnen konnte. Awk konnte es damals nicht, daher schrieb er eine
MehrJava Einführung Objekt-Datentypen und Strings. Kapitel 8 und 9
Java Einführung Objekt-Datentypen und Strings Kapitel 8 und 9 Inhalt Was sind Objekt-Datentypen Sonderheiten bei Zuweisung und Vergleich Zeichenketten (Strings) Zeichencodes Char, Char-Arrays und Strings
MehrObjektorientierte Programmierung und Modellierung
Objektorientierte Programmierung und Modellierung Einführung, Teil 2 24.10.17 - WS17/18 Hakan Aksu 1 Raumänderung beachten Dienstag 14:15-15:45 Uhr in M001 (anstatt K101) 2 Ausfalltermine 31.10 Vorlesung
MehrZeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach 10.
Zeiger C-Kurs 2012, 2. Vorlesung Tino Kutschbach tino.kutschbach@campus.tu-berlin.de http://wiki.freitagsrunde.org 10. September 2012 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrJavaScript 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
MehrHydroinformatik I: Klassen
Hydroinformatik I: Klassen Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 27. November 2015 1/13 Prof.
MehrFehlersuche. Einführung in Perl Debugger. Start des Debuggers (1) Beispiel (1) #! /usr/local/bin/perl -wd. (M-x perl-mode) - Menü: Perl - Debugger
Fehlersuche bisher Option -w oder pragma warnings Syntaxfehler schlechter Stil eingestreute print-anweisungen Verlaufskontrolle Variablenbelegung komfortabler Quellcode-Debugger Quelltextanzeige schrittweises
MehrEinführung in Python. Übung zur Vorlesung NLP Beate Krause, Dominik Benz NLP-Übung: Einführung in Python 1
Einführung in Python Übung zur Vorlesung NLP Beate Krause, Dominik Benz 22.04.2008 23.04.2008 NLP-Übung: Einführung in Python 1 Ablauf der Übung Klärung von aktuellen Fragen zur Vorlesung Kurze Einführung
MehrVariablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes
Variablen Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes v ist Stück im Speicher, der 4 Bytes lang ist Speicherzugriff? Über Adressen!
MehrEinstieg in die Informatik mit Java
1 / 24 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 24 1 Klassen als Datenstruktur 2 Vereinbarung von
MehrPerl 5. Grundlagen und CGI-Programmierung. Ralph Steyer, Peter Teich. 2. Ausgabe, Juli 2016 ISBN PRL5
Ralph Steyer, Peter Teich 2. Ausgabe, Juli 2016 ISBN 978-3-86249-587-0 Perl 5 Grundlagen und CGI-Programmierung PRL5 4 Perl 5 Grundlagen und CGI-Programmierung 4 Einfache Sprachelemente In diesem Kapitel
MehrGrundlagen der Informatik 12. Strukturen
12. Strukturen Strukturen und deren Komponenten Strukturen im Projekt Dynamisch erstellte Strukturen Strukturen und Operatoren Strukturen und Funktionen Einfach verkettete Liste Grundlagen der Informatik
MehrC++ - Objektorientierte Programmierung Konstruktoren und Destruktoren
C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C 4 Storage classes Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Compilation units Compilierung eines mehrteiligen Programms:
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C 4 Storage classes Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Compilation units Compilierung eines mehrteiligen Programms:
Mehr9 Block 9: Von der Idee zum Programm: Restrict.pl
9 Block 9: Von der Idee zum Programm: Restrict.pl 9.1 Lernziele... 2 9.2 Praxis... 3 9.2.1 Generelle Anforderungen an Restrict.pl... 3 9.2.2 Detaillierte Spezifizierung von Restrict.pl... 3 9.2.2.1 Datenquellen...
MehrGliederung der Folien
1 Gliederung der Folien 1. Einführung 1.1. Gliederung 1.2. Literatur 1.3. Einstieg in Java 1.3.1. Geschichte von Java 1.3.2. Hello World 1.3.3. Übersetzen eines Java-Programms 1.4. Die Entwicklungsumgebung
Mehrjavascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline.
javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline. Inhalts-Verzeichnis 1. Allgemeine Richtlinien...1 1.1 Anzahl
MehrProgrammierkurs Python I
Programmierkurs Python I Michaela Regneri & Stefan Thater Universität des Saarlandes FR 4.7 Allgemeine Linguistik (Computerlinguistik) Winter 200/ Übersicht Mehr zum Thema Iteratoren: List Comprehensions
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrInnere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java
Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Innere Klassen 13.06.07 1 / 11
MehrEinführung in das Programmieren mit Perl. Bernd Ulmann a 01-SEP-2004
Einführung in das Programmieren mit Perl Bernd Ulmann a 01-SEP-2004 Jede kommerzielle Nutzung der folgenden Folien ist untersagt. Die Veröffentlichung, auch auszugsweise, bedarf der Zustimmung des Autors.
MehrHydroinformatik I: Referenzen und Zeiger
Hydroinformatik I: Referenzen und Zeiger Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 08. Januar
MehrModul 122 VBA Scribt.docx
Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval
MehrOOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik
Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik WS 2011/12 Inhalt Test-Besprechung! Ziele verdeutlichen Große Bild von OOP Wiederholung: Einbettung als Technik
MehrAuD-Tafelübung T-B5b
6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit
MehrHydroinformatik I: Referenzen und Zeiger
Hydroinformatik I: Referenzen und Zeiger Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 06. Januar
MehrEinführung in Mathematica
Einführung in Mathematica Carsten Rezny Institut für Angewandte Mathematik Universität Bonn Pure Funktionen Das vorige Beispiel verwendet eine neue Schreibweise. Das erste Argument von Map oder Apply ist
MehrNachtrag: Funktionen ord und chr. Einführung in Perl für Linguisten Dateihandle, etc. Nachtrag: for und foreach (1) Nachtrag: for und foreach (2)
Nachtrag: Funktionen ord und chr die Funktion ord ermittelt den ASCII-Zahlenwert eines Zeichens; kann Zahlen zwischen 0 und 255 zurückgeben die Funktion chr ermittelt den Zeichenwert einer entsprechenden
MehrAssoziative Container in C++ Christian Poulter
Assoziative Container in C++ Christian Poulter Seminar: Die Sprache C++ Mat-Nr.: 53 03 129 EMail: inf@poulter.de Christian Poulter Assoziative Container in C++ Seite 1/10 Inhalt 1. Einleitung: Container...
MehrObject Oriented Perl. Wie man auch bei "einfachen" Skripts mit modernen Software Entwicklungs-Methoden Qualität und Produktivität verbessern kann
Object Oriented Perl -- oder -- Wie man auch bei "einfachen" Skripts mit modernen Software Entwicklungs-Methoden Qualität und Produktivität verbessern kann Gerd Aschemann, 22. April 2005 1 SelfGOL #!/usr/bin/perl
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen
5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens mit C++ und Matlab SS2013 Inhalt Bis jetzt: Heute: Entwicklungsumgebung
MehrKlassen und Objekte. Klassen und Objekte
Klassen und Objekte Klassen und Objekte Klassen Eine Klasse definiert die Eigenschaften (Instanzvariablen oder Felder) und das Verhalten (Methoden) von (gleichartigen) Objekten. In Perl sind Klassen als
MehrEinführung in die Programmiersprache Perl
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
Mehr14. Java Klassen. Klassen (Java) vs. Records (Pascal) Klassen - Konzeptuell. Klassen - Technisch
Klassen (Java) vs. Records (Pascal) 14. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung Pascal RECORDs in Pascal sind reine
MehrProgrammieren in Lua
Roberto lerusalimschy Programmieren in Lua 3. Auflage Open Source Press Inhaltsverzeichnis Vorwort 13 I Die Sprache 21 1 Einführung 23 1.1 Chunks 24 1.2 Einige lexikalische Konventionen 26 1.3 Globale
Mehr1 def Anweisung. 2 Argumentübergabe. 3 Lokale Variablen. 4 Default Argumente. 5 Aufruf mit Schlüsselwort. 6 Variable Argumente. Funktionen in Python
1 def Anweisung Sommersemester 2007 2 Argumentübergabe 3 Lokale Variablen 4 Default Argumente 5 Aufruf mit Schlüsselwort 6 Variable Argumente def Anweisung Beispiel: TuNix def def funktionsname([])
Mehr