Übersicht. Einführung in Perl Datenstrukturen I. Datentypen Übersicht (1) Kernbegriffe. Kernbegriffe. Einführung der Datentypen.

Ähnliche Dokumente
Übersicht. Einführung in Perl Mustersuche III/ Datentypen II. Mehrzeiliges Matching (1) Mehrzeiliges Matching (2) chomp

Einführung in Perl Übersicht Operatoren Mustersuche I Autoinkrement und Autodekrement Autoinkrement und Autodekrement Bsp

MASCHINELLE SPRACHVERARBEITUNG Gertrud Faaß Basierend auf Folien von Dr. H Zinsmeister. Einführung in PERL

Übersicht. Einführung in Perl. Einleitung. Organisatorisches. Organisatorisches. Heike Zinsmeister

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

Einführung in PERL 2 Reguläre Ausdrücke

Übersicht Shell-Scripten

PostScript -Sprache. Frank Richter

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

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

System.out.println("TEXT");

Nachtrag: Funktionen ord und chr. Einführung in Perl für Linguisten Dateihandle, etc. Nachtrag: for und foreach (1) Nachtrag: for und foreach (2)

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

Wh.: for-schleife. Listen (1) Wh.: Schachtelung von for-schleifen. Listen (2) Bereichsoperator.. Programmierkurs für absolute Anfänger

Eine Beschreibung des Programms und der dahinter stehenden Philosophie.

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

Einführung in Perl. O'REILLY Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo. Randal L. Schwartz, Tom Phoenix & brian dfoy

Programmierkurs Python I

Grundlagen der Programmierung

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

Bash-Skripting Linux-Kurs der Unix-AG

Programmierkurs Python I

PERL. Eine Einführung. von Serap Tekke & Elif Öner

Referenz (1) Einführung in Perl Referenzen. Zwei Typen von Referenz. Referenz (2) Referenz = Verweis auf andere Daten

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

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

Vorlesung Unix-Praktikum

Shell-Scripting Linux-Kurs der Unix-AG

1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster

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

Eine Einführung in Perl

Bash-Skripting Linux-Kurs der Unix-AG

Python Variablen und Anweisungen

Lua - Erste Schritte in der Programmierung

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Perl-Workshop, Teil II

Shell-Scripting Linux-Kurs der Unix-AG

Eine JAVA Einführung ... Quellcode:... COMA Übung 3. T.Bosse. A.Griewank. Vorschau JAVA Programme Sprachen Kate

Programmierung in C. Grundlagen. Stefan Kallerhoff

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

Prinzipien der Softwareentwicklung S. Strahringer

Syntax der Sprache PASCAL

JAVA-Datentypen und deren Wertebereich

Java I Vorlesung Imperatives Programmieren

Einführung Unix Shell

Einstieg in die Informatik mit Java

Primitive Datentypen

EiP Übung

Unterlagen. CPP-Uebungen-08/

Programmieren mit PERL eine Einführung

Einstieg in die Informatik mit Java

Modul 122 VBA Scribt.docx

Einstieg in die Informatik mit Java

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

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Einführung in die Computerlinguistik Tokenizer und Textstatistik mit Perl

Sozialwissenschaftliche Fakultät der Universität Göttingen. Sommersemester Statistik mit SPSS

Kapitel 3: Variablen

Python Programmieren. Variablen, Ausdrücke und Anweisungen

Grundlagen der Informatik 2. Typen

Diana Lange. Generative Gestaltung Operatoren

Elementare Konzepte von

Sozialwissenschaftliche Fakultät der Universität Göttingen. Sommersemester 2009, Statistik mit SPSS

Java Einführung Operatoren Kapitel 2 und 3

Python als praktischer Helfer

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

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

Shell-Scripting Linux-Kurs der Unix-AG

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable

Algorithmen und Programmieren II Einführung in Python (Teil 2)

Einführung in die Programmierung mit VBA

GI Vektoren

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15

Arithmetik in der tcsh

Programmieren in C / C++ Grundlagen C 2

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Algorithmen und ihre Programmierung

Grundlagen der Programmierung

1. Definition. 2. Interne Speicherung der Zeichenketten. 3. Vereinbarung von Zeichenketten

PHP JavaScript Kapitel 4. Kommentare

Der Datentyp String. Stringvariable und -vergleiche

Intensivübung zu Algorithmen und Datenstrukturen

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Beispiele elementarer Datentypen Ganze Zahlen (integer) Unterbereiche Gleitkommazahlen Festkommazahlen

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 23

Informatik I - Einstiegskurs

Python für Linguisten

Programmierkurs C++ Variablen und Datentypen

Windows PowerShell. CmdLets. PipeLine / Filter. Variablen / Operatoren. Schleifen / Prüfmethoden. Funktionen / Skripte. Allgegenwärtige Parameter

C-Programmierung: Ausdrücke und Operatoren#Division.2F

Einführung in die Programmierung für NF. Algorithmen, Datentypen und Syntax

Kontrollstrukturen. Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue

Programmierkurs C++ Lösungen zum Übungsblatt 3. Nils Eissfeldt und Jürgen Gräfe. 2. November Aufgabe 5

Einstieg in die Informatik mit Java

Computer & GNU/Linux Einführung Teil 4

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

Lexikalische Struktur von Fortran 95. Normierte Zeichensätze

1 UNIX und die Kommandozeile. 2 C++ Tipps. 1.1 wichtige Befehle und Programme. 1.2 Umleiten der Standardein- und Ausgabe. 2.

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue

Transkript:

Ü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 Skalar einfacher Wert (Zahl, String) Liste geordnete Ansammlung von Werten Indizierung der Listenplätze mit 0... n Variable benannte skalaren Werten, keine festgelegte numerische Indizierung, sondern frei definierbare Label ( Schlüssel ) Behälter, der einen oder mehrere Werte enthalten kann Skalare Vbl. enthält einen Wert Array enthält Liste von skalaren Werten Hash enthält Ansammlung von eindeutig Perl, 24.10.03 Datentypen I 6 Einführung in Perl Datenstrukturen I Heike Zinsmeister Universität Stuttgart Institut für maschinelle Sprachverarbeitung http://www.ims.uni-stuttgart.de/lehre/teaching/2003-ws/perl/home.html Heike.Zinsmeister@ims.uni-stuttgart.de Wintersemester 03/04 Typeset by FoilTEX Kernbegriffe Variable $tiername Wert Dodo Skalar Singular Liste Plural Array Hash ( assoziatives Array ) Perl, 24.10.03 Datentypen I 5

Datentypen Skalar Zahl 123, -10, 1.25 String Max, Einspruch erheben 123 Perl, 24.10.03 Datentypen I 8 Skalar numerische Operatoren Operator Beispiel Bedeutung + 2 + 3 2 plus 3, bzw. 5-5.1-2.4 5,2 minus 2,4, bzw. 2,7 * 3 * 12 3 mal 12, bzw. 36 / 14 / 7 14 geteit durch 7, bzw. 2 ** 2**3 2 hoch 3, bzw. 8 % 6 % 4 Modulo-Operator, hier: 2 Perl, 24.10.03 Datentypen I 10 Datentypen Übersicht (2) Datentyp Beispiel Skalar 42, Douglas Variable $fisch, $x, $vbl 1 Liste (1,2,3), ( Dodo, Aye-Aye, Quastenflosser ) Array @array = ( Dodo, Aye-Aye, Quastenflosser ); Hash %hash = ( Dodo => Vogel, Aye-Aye => Fingertier ); Perl, 24.10.03 Datentypen I 7 Skalar Zahlen Typ Beispiel ganze Zahl, Integer 123, 0, -10, 67452389 67 452 389 (leserfreundliche Schreibweise) Fließkommazahl 1.25, 25.00, -0.003 Zehnerpotenz 1e2 oder 1 mal 10 hoch 2 = 100 7.25e45, -6.5e24, -12e-24 Bereich: mindestens 1e-100 bis 1e100 Perl, 24.10.03 Datentypen I 9

Skalar Strings Typ Beispiel leerer String Wort Max, DinA4 Zeichenkette Theoretisch kann der n Text eines ganzen Buches n als skalarer String n abgelegt werden. andere Zeichenkette 2 + 3 Perl, 24.10.03 Datentypen I 12 String Backslash-Escapes Zeichen Erklärung n Newline-Zeichen, Zeilenumbruch t Tabulator Backslash Doppeltes Anführungszeichen l den folgenden Buchstaben klein schreiben L alle folg. Buchstaben klein schreiben u den folg. Buchstaben groß schreiben U alle folg. Buchstaben groß schreiben Q alle nicht-alphanumerischen Zeichen mit einem Backslash schützen Q U und L, E hebt die Wirkung von wieder auf Perl, 24.10.03 Datentypen I 14 numerische Operatoren Modulo Rest einer ganzzahligen Division. Beispiele: 8%4 = 0 8%2 = 0 8%5 = 3 8%3 = 2 8.34 % 3.89 = 2 8.34 % -3.89 = -2 Perl, 24.10.03 Datentypen I 11 Skalar Zahl vs. String Im Programm: print 2 + 3; Ausgabe: 5 Im Programm: print 2 + 3 ; Ausgabe: 2 + 3 Perl, 24.10.03 Datentypen I 13

Test Operator Kommando Ausgabe. print 3. 4 x print 3 x 4 * print 3 * 4 Perl, 24.10.03 Datentypen I 16 Skalare Variablen (1) Schema: $Perl-Identifier Perl-Identifier = Folge aus Buchstaben, Zahlen, Unterstrichen; andere Zeichen sind nicht erlaubt z.b. $perl-identifier ist $perl - identifier unterscheidet Groß- und Kleinschreibung $Variable ist nicht gleich $variable transparente Namen sind gut, z.b. $tiername Perl, 24.10.03 Datentypen I 18 Operatoren für Strings Typ Erklärung. Verkettungsoperator Hallo. Welt hallowelt Hallo.. Welt Hallo Welt n n Hallo Welt Hallo Welt. x Wiederholungsoperator Fred x 3 FredFredFred Ei x (4+1) EiEiEiEiEi Perl, 24.10.03 Datentypen I 15 Zahlen und Strings Perl wandelt je nach Bedarf Zahlen in Strings um, und umgekehrt. print 3 * 4 ; Ausgabe: 3 * 4 Interpretation gesteuert durch Operatoren 36-3 36 12 * 3 Ei - 3 12Fred24 * 3 Perl, 24.10.03 Datentypen I 17

binäre Zuweisungen im Allgemeinen zugrundeliegendes Muster $variable = $variable + Wert; $variable += Wert; alle binären Operatoren **= += *= &=»= &&= -= /= = «= =.= %= = x= (Pokorra, 2001: 41) Perl, 24.10.03 Datentypen I 20 Variablen-Interpolation (2) $etwas = "Steak"; $barney = "Fred aß drei $etwass.\n"; Fred aß drei. # da $etwass nicht belegt. $barney = "Fred aß drei ${etwas}s.\n" Fred aß drei Steaks. Perl, 24.10.03 Datentypen I 22 Skalare Variablen (2) skalare Zuweisung: $vbl = Wert; binäre Zuweisung: $vbl += Wert; # entspricht: $vbl = $vbl + Wert; Beispiel: $vbl = 3; $vbl += 2; # entspricht: $vbl = 3 + 2 print "$vbl\n"; Ausgabe: 5 Perl, 24.10.03 Datentypen I 19 Variablen-Interpolation $essen = "Brontosaurier-Steak": $barney = "Fred aß ein $essen."; $barney = "Fred aß ein ". $essen; print "$barney"; # unnötige Anführungstriche print $barney; # besserer Stil print "$barney.\n"; # evt. noch besserer Stil Fred aß ein Brontosaurier-Steak. Perl, 24.10.03 Datentypen I 21

Vergleichsoperatoren (2) 35!= 30 + 5 # falsch 35 == 35.0 # wahr "35" eq "35.0" # falsch "fred" lt "barney" # falsch "fred" lt "free" # wahr "fred" eq "Fred" # falsch " " gt "" # wahr Perl, 24.10.03 Datentypen I 24 Vergleichsoperatoren (1) Vergleich Zahlen Strings gleich == eq (equal) ungleich!= ne (not equal) kleiner als < lt (less than) größer als > gt (greater than) kleiner als oder gleich <= le (less or equal) größer als oder gleich >= ge (greater or equal) Perl, 24.10.03 Datentypen I 23

Vergleichsoperatoren (4) $n = 4; $test = $n % 2; if ($test) { print "$n ist eine ungerade Zahl\n."; } else { print "$n ist eine gerade Zahl\n."; } Oder: if (! $test) { print "$n ist eine gerade Zahl\n."; }... Perl, 24.10.03 Datentypen I 28 Standardeingabe Zeileneingabe-Operator <STDIN> print "Bitte eine Zahl eingeben: "; $n = <STDIN>; chomp ($n); if (! ($n % 2)){ # Klammern sind wichtig print "$n ist eine gerade Zahl.\n"; } Beispielaufruf: perl programm.pl Ausgabe: Bitte eine Zahl eingeben: # Eingabe von z.b. 646 646 ist eine gerade Zahl. Perl, 24.10.03 Datentypen I 30 Vergleichsoperatoren (3) Boolsche Werte: falsch undef, 0,, 0 wahr alle anderen Zahlen, alle anderen Strings Umkehrung mit Nicht-Operator! Perl, 24.10.03 Datentypen I 27 chomp-operator Löscht Newline-Zeichen am Zeilenende. n ; $test = Eine Zeile Text. chomp($test); print $test ; Ausgabe ohne Zeilenumbruch: Eine Zeile Text. Funktion ist wichtig, wenn Text zeilenweise eingelesen wird. Perl, 24.10.03 Datentypen I 29

Referenzen Pokorra, Gerd, 2001. Perl. Eine Einführung. Hannover, RRZN- Handbuch. Schwartz, Randal L. & Tom Phoenix, 2002. Einführung in Perl. Köln, O Reilly: Kapitel 2, Ausblicke auf Kapitel 3 und 5. ASCII-Tabellen von http://www.torsten-horn.de/techdocs/ascii.htm Perl, 24.10.03 Datentypen I 32 while-schleife Wiederholt eine Anwendung so lange, wie eine Bedingung wahr ist, $zaehler = 0; while ($zaehler <= 10) { $zaehler += 1; print "Der Zaehler steht jetzt auf $zaehler.\n"; } Perl, 24.10.03 Datentypen I 31