Teil 7 Skript-Sprachen Perl Python Tcl/Tk

Größe: px
Ab Seite anzeigen:

Download "Teil 7 Skript-Sprachen Perl Python Tcl/Tk"

Transkript

1 Teil 7 Skript-Sprachen Perl Python Tcl/Tk Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 1

2 Aufgaben Historisch: (1) Textdateiverarbeitung (2) Steuerung und Kopplung von Programmen Zusätzlich heute: (a) Benutzerschnittstellenentwicklung (b) Prototypentwicklung (c) Softwarekonfiguration Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 2

3 Geschichte Zuerst: Steuerbefehle von Hand eingegeben (Operateur) oder am Beginn eines Programms (Kartenstapel) Job Description Language (JCL auf OS 360/MVS) ab 1963 Verkettung von Programmläufen (Chain-Jobs) gesteuert durch Ergebniswert Vorrangsteuerung,,System``-Variable (z.b. Cobol Dateinamen) zur Steuerung des EA-Verhaltens Flexibilisierung Wartbarkeit interaktive Benutzeroberfläche von Teilnehmersystemen (Multics, MTSS, TSOS, BS 2000) seit 1966/7 Bourne-Shell auf UNIX (1971ff.): interaktiv, Programme abspeicherbar als Skripten Skripten für Texteditoren wie ed, sed, awk,... Skripten für graphische Werkzeuge wie Tk Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 3

4 Prinzipien von Skript-Sprachen Einfache Programmiersprache Ziel: Dateibearbeitung Operation = Programm aus Effizienzgründen auch eingebaute Operationen Operand = Datei, Zahl, Text Variable: Behälter für beliebige Texte häufig nur flache Gültigkeitsbereiche, keine Schachtelung Ablaufsteuerung: sequentielle Ausführung asynchrone Ausführung (fork) mit/ohne Endemeldung Koroutinen (UNIX-pipe) Unterprogramm = Programm in eigener Datei parametrisiert mit Texten $1, $2,... von der Kommandozeile Prinzip der Standard-Eingabe/Ausgabe/Fehlerausgabe umlenkbar auf beliebige Dateien (Multics, UNIX) Ausführung interpretativ (neuerdings auch übersetzt, vorübersetzt) Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 4

5 (1) Eine MULTICS/UNIX-Errungenschaft: Universeller Dateityp Text Alle Dateien sind Bytefolgen, als Text interpretierbar also keine Systemunterstützung für index-sequentielle Organisation jedoch Zugriff auf Puffer (rohe EA) und byteweise Adressierung unterstützt bearbeitbar mit Texteditor + kein spezielles Werkzeug abhängig vom Dateityp nötig - semantische Konsistenz der Bearbeitung nicht überprüft Ein/Ausgaben mit wenigen Ausnahmen als Text, nicht binär plattformunabhängig, da ASCII/ISO-8859-*/Unicode-verschlüsselt die Microsoft-Errungenschaft: proprietäre Codierung des Zeilenwechsels Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 5

6 (1) Dateibearbeitung (ed) Kommandosyntax: [address[,address]]command [parameter] Semantik: Wende das Kommando auf die adressierten Zeilen (inklusive) an 1,$s/r/R/ # substitutiere R für erstes r auf jeder Zeile 1,$s/r/R/g # substituiere R für alle r /abc/p # suche vorwärts nach Zeile mit ''abc'' und drucke?abc?p # das gleiche rückwärts 5d # lösche Zeile 5 (mit Umnumerieren).,+3d # lösche aktuelle Zeile bis dritte nachfolgende Zeile.j # hänge nachfolgende Zeile hinten an aktuelle Zeile an Gebrauch des ed heute: einfachster, kleinster interaktivertexteditor unter UNIX Für Skripten sed oder awk benutzen Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 6

7 (1) Reguläre Ausdrücke In Suchmustern bedeuten. beliebiges Zeichen ^ Zeilenanfang $ Zeilenende \c Sonderzeichen, z.b. \$: das Dollarzeichen [... ] Menge alternativer Zeichen z.b. [124], [1-9],[A-Z0-9], [^0-9]: alle Zeichen außer 0-9 * beliebig häufiges Vorkommen des vorangehenden Zeichens \{m,n\} vorangehendes Zeichen mindestens m, maximal n-mal \(...\)Klammerung einer Teilfolge - 2-te Teilfolge ist anschließend \2 Posix: weitere Zusätze Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 7

8 (1) awk Bislang: Bearbeitung von Text als Folge von Zeichen Zeilenorientierte Sicht: reguläre Ausdrücke auf Zeile einzeln angewendet Tabellarisch abgespeicherte Daten erfordern Spaltenbegriff awk ermöglicht diese Sicht Zeilen-Zerteiler mit C-ähnliche Ausgabemöglichkeiten Beispiel: datei: Neumann Rainer Uni-Karlsruhe Löwe Welf Uni-Karlsruhe awk -F\t {print $2} datei Rainer Welf Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 8

9 (2) Filter und Ströme Spezielle Dateien: Standardeingabe, Standard- und Fehlerausgabe Kopplung von Programmen über Ströme von Puffern Abarbeitung der Programme mit Koroutinen Pufferung Dateibearbeitungswerkzeuge zur Bearbeitung der Ströme (eingeschränkt) einsetzbar Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 9

10 (1) und (2) Beispiel: Umlautersetzung Aufgabe: Umwandlung ae ä, AE Ä, Ae Ä, sz ß, usw. Aufruf (Skript): sed -n -f umpr $1 >/tmp/$$uml mv /tmp/$$uml $1 sed-skript umpr s/ae/ä/g s/\([ae]\)ü/\1ue/g s/öttinger/oettinger/g s/aßin/aszin/g s/oe/ö/g s/\([ae]\)ü/\1ue/g s/trü$/true/g s/\([aa]\)uß/\1uszu/g s/ue/ü/g s/tüll/tuell/g s/trü /true /g s/uß\(auo\)/usz\1/g s/ae/ä/g s/tüll/tuell/g s/\([aaeeqq]\)ü/\1ue/g s/\([b-df-hj-np-tv-z]\)ß/\1sz/g s/oe/ö/g s/\([zz]\)ürst/\1uerst/g s/ikröle/ikroele/g s/gß/gsz/g s/ue/ü/g s/\([nn]\)öther/\1oether/g s/ongrün/ongruen/g s/außu/aus\{\}zu/g s/ae/ä/g s/thü/thue/g s/ogün/oguen/g s/\([kk]\)öffiz/\1oeffiz/g s/oe/ö/g s/göthe/goethe/g s/logü/logue/g s/lß/ls"-z/g s/ue/ü/g s/göthe/goethe/g s/glü /glue /g s/ußei/us"-zei/g s/sz/ß/g s/\([ss]\)öben/\1oeben/g s/sgü/sgue/g p s/onflün/onfluen/g Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 10

11 (2) Shell-Programmierung Automatischer Ablauf von Programmfolgen Kopplung von Programmen (Bedingte Aufrufe, Ströme) Nebenläufigkeit Umgebungsvariablen Dynamische Befehlserzeugung (eval) Wiederverwendung? Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 11

12 (1) und (2) Perl - Practical Extraction and Report Language Ziele und Einsatzgebiete: Textfilter (wie sed, awk,...) Berichterstellung Common Gateway Interface (CGI) Programme (www Server) Komplexe Automatisierungsaufgaben (Konfiguration von Programmen) Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 12

13 Entwurfsgedanken zu Perl Grundlegende Programmierereigenschaften: Faulheit und Ungeduld Demnach müssen Programme: kurz und schnell zu erstellen sein keine überflüssigen Anweisungen enthalten schnell zu testen sein einfache Aufgaben leicht machen, ohne komplexe Aufgaben unmöglich zu machen Problem: Lesbarkeit und damit Wartbarkeit von Programmen Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 13

14 RSA Verschlüsselung #!/bin/perl -sp0777i<x+d*lmla^*lm%0]dsxx++lmln/dsm0<j] dsj$/=unpack( H*,$_);S_=`echo 16dio\U$k SK $/SM$n\EsN0p[1N*11K[d2%Sa2/d0$^Ixp dc`; s/\w//g;$_=pack( H*,/((..)*)$/) Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 14

15 Typen (Skalare) Werte - beginnend mit $ Reihungszugriffe - beginnend Assoziative Reihungen - beginnend mit % Beispiele: $a ist {x->1, ist a->1 %a = {x->1, y->2} Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 15

16 Operationen Operationen werden in einem Kontext ausgeführt Kontext: Skalarer Kontext (z.b. boolescher Kontext, Void-Kontext) Listenkontext Interpolativer Kontext Objektkontext Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 16

17 Standardmodule und -bibliotheken Modul Funktionen File Basename, ChckTree, Copy, Find, Path Term Cap, Complete Text Abbrev, ParseWords, Tabs Math BigFloat, BigInt, Complex Tie Hash, StdHash, SubstrHash, Socket, Net, Time, I18N, POSIX Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 17

18 Beliebte Fehler Operatoren können sich im Listenkontext anders verhalten als in skalarem Kontext Zuweisungen Vergleiche Namen können für Funktionen oder Literale stehen (kontextabhängig) Seiteneffekte von Operatoren, Funktionen Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 18

19 Erfahrungen Jedes Skript fängt einmal klein an (Kleine) Skripten sind selbsterklärend Jedes Skript wird größer... und noch größer Ein großes Skript führt zur Unkündbarkeit des Autors Skripten dürfen nur disziplinierte Profis schreiben Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 19

20 (1) und (2) Python Python angelehnt an Modula-3 wesentlich besser lesbar, daher wesentlich besser wartbare Programme sonst vergleichbare Leistung wie Perl: Module, Objektorientierung, umfangreiche Bibliotheken für Einführungen vgl. z.b. die Unterlagen in der Linux-Dokumentation Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 20

21 (a) und (b) Benutzerschnittstellen und Prototypen Problem: Erstellung von grafischen Benutzerschnittstellen mit X11 kompliziert Prototypen bestehen zu großen Teilen aus Benutzerschnittstellen (ohne echte Funktionalität) Ziel: Einfache Erstellung von X11 Anwendungen Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 21

22 (a) X11-Hauptprogramm Widget MyXApplicationShell; Widget *MyXApplicationShellWidgets = (Widget *) NULL; main(unsigned int argc, char * argv[]) MyXApplicationShell = XtInitialize(argv[0],argv[0],NULL,0,&argc,argv); MyXApplicationShellWidgets = MyXApplicationShellLayout(MyXApplicationShell); XtRealizeWidget(MyXApplicationShell); XtMainLoop(); Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 22

23 (a) X11-Argumentvektoren n = 0; XtSetArg(args[n],XmNleftAttachment,XmATTACH_FORM); n++; XtSetArg(args[n],XmNrightAttachment,XmATTACH_FORM); n++; XtSetArg(args[n],XmNtopWidget,fdEditField); n++; XtSetArg(args[n],XmNtopAttachment,XmATTACH_WIDGET); n++; XtSetArg(args[n],XmNtopOffset,5); n++; separator = XmCreateSeparator(fdEntryEditor,sepName,args,n); XtManageChild(separator); Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 23

24 (a) X11 Erzeugen von Dialogfenstern n = 0; XtSetArg(args[n],XmNdialogStyle,XmDIALOG_FULL_APPLICATION_MODAL);n++; XtSetArg(args[n],XmNdialogTitle,XmStringLtoRCreate ('Edit entry...', XmSTRING_DEFAULT_CHARSET));n++; XtSetArg(args[n],XmNnoResize,TRUE);n++; XtSetArg(args[n],XmNresizePolicy,XmRESIZE_NONE);n++; XtSetArg(args[n],XmNautoUnmanage,FALSE);n++; fdentryeditor = XmCreateFormDialog(MyXApplicationShell,fdEntryEditorRes,args,n); Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 24

25 (a) Tk - Tool Kit für X-Windows Tk was [also] born out of frustration (J. K. Ousterhout) Grundidee: Vereinfachung wiederkehrender X11-spezifischer Aufgaben label.l -text Label button.b -text Button checkbutton.c -text Checkbutton radiobutton.r -text Radiobutton pack.l.b.c.r update Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 25

26 (a) GUI-Programmierung Rückrufe(Callbacks) Ziel: Reaktion auf Benutzeraktionen Mögliche Implementierungen: Ereignisse (mit Warteschlangen, etc.) Prozedurvariable Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 26

27 (a) Rückrufe (Callbacks) in Tk Skripte anstelle von Prozedurvariablen Spezielle Text-Muster für Ereignis-Daten Beispiel: button.b -text Test; pack.b bind.b <Destroy> { puts stdout {Window %W destroyed} } bind.b <1> { puts stdout {Mouse pressed at %x,%y} } Berechnung von Variablen, Ausdrücken? Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 27

28 (b) Prototyp-Entwicklung Starte mit einem reinen Interpretierer Implementiere Funktionalität auf Basis der Skript-Sprache Stabile bzw. (in Tk) ineffiziente Funktionen in C, argc-argv-schnittstelle für Interpretierer Wiederhole letzteres bis zur Konvergenz Entferne Interpretiererkern und argc-argv-schnittstellen Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 28

29 (b) Tcl / Tk Tcl (Tool Command Language) Skriptsprache mit Operationen für Zeichenketten und Listen Prozedurkonzept Zugriff auf Ausführungsstapel und Interpretierer (Meta-Informationen) Idee: Relevante C-Fkt interaktiv verwendbar machen (argc-argv-schnittstelle) Vorteile: Interaktive Verwendbarkeit Einfaches Testen Möglichkeit zum Ausprobieren Nachteile: Verlust von Typinformationen Variableninterpretation (Typanpassung) Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 29

30 (b) und (c) Tcl-Interpretierermodell Kern besteht aus Funktionen zur Variablenverwaltung zur Zeichenketteninterpretation für die Aufrufkontextverwaltung zur Erzeugung von argc-argv-aufrufen an unbekannte Funktionen zum An-/Abmelden zusätzlicher Funktionen Möglichkeit zur Integration von Interpretierer in Anwendungen... zur Beschreibung der Benutzerschnittstelle... zur dynamischen Konfiguration der Anwendung Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 30

31 (a) und (b) Beispiel Sather-Tcl Sather bietet statische Typsicherheit effiziente Programme kaum Bibliotheken, insbesondere keine GUI-Bibliotheken Implementierung der Programmlogik in Sather Implementierung der GUI-Teile in Tcl/Tk Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 31

32 (c) Tcl und Systemkonfiguration Problem: Starres, übersetztes System Leicht variierende Kundenwünsche Entwickler: Konfiguration nicht zu verwalten Lösung: Exportiere Objekte/Funktionen in eine Interpretierer-Schnittstelle. Verwende den Interpretierer bzw. die Skript-Sprache als Konfigurationssprache Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 32

33 (a), (b) und (c) Beispiele Erweiterung einer Anwendung um interaktive (oder skriptbasierte) Steuerung Beispiel: TclOBST Integration eines Tcl-Interpreters in einen OBST-Datenbankbrowser Anwendungen: OBST-DB-Shell USE, die OBST Schema-Evolutionsumgebung Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 33

34 Perl, Tcl/Tk und Python am gleichen Beispiel: Perl Perl %map = ('1','Maier','2','Müller','3','Schmidt'); print "Eingabe einer Zahl (1, 2 oder 3):"; chop($x = <STDIN>); if (1 <= $x && $x <=3){ print "Name für $x ist $map{$x}\n" } else { print "Falsche Eingabe\n" } Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 34

35 Perl, Tcl/Tk und Python am gleichen Beispiel: Tcl/Tk Tcl/Tk wm title. "Auswahl" wm minsize frame.buttons -borderwidth 15 pack.buttons -side top -fill x button.buttons.quit -text Schließen -command exit button.buttons.input -text Eingabe -command Print pack.buttons.quit.buttons.input -side right frame.f; pack.f -side top label.f.l -text "Eingabe einer Zahl (1,2 oder 3)" entry.f.digit -width 5 -relief sunken pack.f.l.f.digit -side left text.output -width 50 -height 20 -bd 5 -relief raised pack.output -side top proc Print {} { set list {Maier Müller Schmidt} set c [.f.digit get] if {$c >= 1 && $c <= 3} {.output insert end [lindex $list [expr $c-1]].output insert end "\n" } else {.output insert end "falsche Eingabe\n" } } Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 35

36 Perl, Tcl/Tk und Python am gleichen Beispiel: Python Python map = { 1:"Maier", 2:"Müller", 3:"Schmidt"} print("eingabe einer Zahl (1, 2 oder 3):"), x = input() if map.has_key(x) : print(map[x]) else: print("falsche Eingabe") Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 36

37 (c) Anwendungen und Konfigurationssprachen R/3 -- ABAP/4 Microsoft Office - Visual Basic for Applications (VBA) StarOffice - StarBasic oder Java(Script) Rational Rose - Rose Basic Grundidee: Programmierbare Standardanwendungen Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 37

38 (c) VBA Objektorientierter Basic-Dialekt Entstanden aus Access-, Excel-, Word-Basic Anwendung ist Bibliothek lauffähiger Objekte (z.b. Document, Application, Database, Worksheet, etc.) Ereignisorientiert Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 38

39 (c) Power Point Macro Sub Beispiel() ActiveWindow.Selection.TextRange. ParagraphFormat.Bullet.Visible=msoFalse With ActiveWindow.Selection.ShapeRange.Fill.Visible = msotrue.fill.solid.fill.forecolor.rgb = RGB(255, 255, 153).Line.Visible = msotrue.line.forecolor.schemecolor = ppforeground.line.backcolor.rgb = RGB(255, 255, 255).TextFrame.TextRange.Font.Name = "Courier New".TextFrame.TextRange.Font.Size = 24 End With End Sub Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 39

40 Zusammenfassung zu Skript-Sprachen Zielsetzung: Steuerung und Kopplung Prototypenentwicklung Konfiguration Konzepte: Schwache Typisierung Typisierung durch kontextabhängige Interpretation Bibliotheken im Mittelpunkt Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 40

Skript-Sprachen. Teil 4. Aufgaben. Geschichte. Prinzipien von Skript-Sprachen. Historisch:

Skript-Sprachen. Teil 4. Aufgaben. Geschichte. Prinzipien von Skript-Sprachen. Historisch: Teil 4 Aufgaben Skript-Sprachen Historisch: (1) Textdateiverarbeitung (2) Steuerung und Kopplung von Programmen Zusätzlich heute: (a) Benutzerschnittstellenentwicklung (b) Prototypentwicklung (c) Softwarekonfiguration

Mehr

Skript-Sprachen. Teil 7. Aufgaben. Perl Python Tcl/Tk. Prinzipien von Skript-Sprachen. Geschichte. Historisch:

Skript-Sprachen. Teil 7. Aufgaben. Perl Python Tcl/Tk. Prinzipien von Skript-Sprachen. Geschichte. Historisch: Teil 7 Aufgaben Skript-Sprachen Perl Python Tcl/Tk Historisch: (1) Textdateiverarbeitung (2) Steuerung und Kopplung von Programmen Zusätzlich heute: (a) Benutzerschnittstellenentwicklung (b) Prototypentwicklung

Mehr

C für Java- Programmierer

C für Java- Programmierer Carsten Vogt C für Java- Programmierer mit 59 Bildern, 36 Tabellen und 35 Aufgaben HANSER Inhalt 1 Einführung 13 Schnelleinstieg 14 1.1 C und Java von den Anfängen bis heute 15 1.1.1 Die Entwicklung von

Mehr

C für Java-Programmierer

C für Java-Programmierer Carsten Vogt C für Java-Programmierer ISBN-10: 3-446-40797-9 ISBN-13: 978-3-446-40797-8 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-40797-8 sowie im

Mehr

Arithmetik in der tcsh

Arithmetik in der tcsh Arithmetik in der tcsh Variablen speichern Zeichenketten (also Strings/Wörter) @ statt set Interpretation als arithmetische Ausdrücke (aus Ziffern, (, ), +, -, *, /, % bestehend) Beispiele: @ var = (3

Mehr

Einführung in Perl O'REILLY" 2. Auflage. Randal L. Schwartz & Tom Christiansen. Deutsche Übersetzung von Matthias Kalle Dalheimer

Einführung in Perl O'REILLY 2. Auflage. Randal L. Schwartz & Tom Christiansen. Deutsche Übersetzung von Matthias Kalle Dalheimer Einführung in Perl 2. Auflage Randal L. Schwartz & Tom Christiansen Deutsche Übersetzung von Matthias Kalle Dalheimer O'REILLY" Cambridge Köln - Paris Sebastopol Tokyo Grußwort Vorwort xi xv 1: Einführung

Mehr

Perl Programmierung Grundlagen

Perl Programmierung Grundlagen Seminarunterlage Version: 4.06 Copyright Version 4.06 vom 17. Dezember 2018 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

III.1 Prinzipien der funktionalen Programmierung - 1 -

III.1 Prinzipien der funktionalen Programmierung - 1 - 1. Prinzipien der funktionalen Programmierung 2. Deklarationen 3. Ausdrücke 4. Muster (Patterns) 5. Typen und Datenstrukturen 6. Funktionale Programmiertechniken III.1 Prinzipien der funktionalen Programmierung

Mehr

6.3 Ereignisgesteuerte Programmierung

6.3 Ereignisgesteuerte Programmierung 6.3 Ereignisgesteuerte Programmierung Im Gegensatz zur klassischen Programmierung geht man bei der ereignisgesteuerten Programmierung davon aus, dass ein Programm immer aktiv bleibt, bis es explizit beendet

Mehr

Interdisziplinäre fachdidaktische Übung: Modelle für Sprachen in der Informatik. SS 2016: Grossmann, Jenko

Interdisziplinäre fachdidaktische Übung: Modelle für Sprachen in der Informatik. SS 2016: Grossmann, Jenko Interdisziplinäre fachdidaktische Übung: Modelle für Sprachen in der SS 2016: Grossmann, Jenko Die Beschreibung orientiert sich am Begriffssystem der Beschreibung natürlicher Sprachen Sprache in der steht

Mehr

EIGENSCHAFTEN VON SPRACHEN

EIGENSCHAFTEN VON SPRACHEN Vorlesung und Übung Universität Paderborn Wintersemester 2016/2017 Dr. Peter Pfahler EIGENSCHAFTEN VON SPRACHEN EWS, WS 2016/17, Pfahler C-1 Einführung Sprachen in der Informatik werden für bestimmte Zwecke

Mehr

Internet. HTML Programmierung Grundlagen HTML Programmierung für Fortgeschrittene CGI Programmierung PHP Programmierung Programmieren mit JavaScript

Internet. HTML Programmierung Grundlagen HTML Programmierung für Fortgeschrittene CGI Programmierung PHP Programmierung Programmieren mit JavaScript Internet Internet HTML Programmierung Grundlagen HTML Programmierung für Fortgeschrittene CGI Programmierung PHP Programmierung Programmieren mit JavaScript neu Impressum Herausgeber: LogIn S&C Gesellschaft

Mehr

E-/A-Funktionalität nicht Teil der Programmiersprache

E-/A-Funktionalität nicht Teil der Programmiersprache C Ein-/Ausgabe C Ein-/Ausgabe C.1 Überblick E-/A-Funktionalität nicht Teil der Programmiersprache Realisisierung durch "normale" Funktionen Bestandteil der Standard-Funktionsbibliothek einfache Programmierschnittstelle

Mehr

Systemverwaltung mittels Skripts

Systemverwaltung mittels Skripts Systemverwaltung mittels Skripts Sept. 2003 M. Rigling 1 / 1 Version 0.2 Inhaltsverzeichnis: Systemverwaltung mittels Skripts...1 Inhaltsverzeichnis:...2 1. Skriptsprachen...3 2. Zur Erstellung von Skripts...3

Mehr

Stream EDitor SED und Reguläre Ausdrücke

Stream EDitor SED und Reguläre Ausdrücke Stream EDitor SED und Reguläre Ausdrücke ExactCODE New Thinking Store 11. Mai 2006 Was ist SED? sed steht für Stream EDitor eine Variante des Unix Editors ed und arbeitet auf Streams keine interaktiven

Mehr

Inhalt 6 Vorwort 10 1 Warum Perl? 12 2 Grundlagen Variablen Spezial-Variablen Kontext Wahrheitswert 18 3 Skalare 20 3.

Inhalt 6 Vorwort 10 1 Warum Perl? 12 2 Grundlagen Variablen Spezial-Variablen Kontext Wahrheitswert 18 3 Skalare 20 3. Inhalt 6 Vorwort 10 1 Warum Perl? 12 2 Grundlagen 14 2.1 Variablen 14 2.2 Spezial-Variablen 16 2.3 Kontext 16 2.4 Wahrheitswert 18 3 Skalare 20 3.1 Zahlen 20 3.2 Operatoren 24 3.3 Mathematische Funktionen

Mehr

Michael Weigend. Python GE-PACKT

Michael Weigend. Python GE-PACKT Michael Weigend Python GE-PACKT E Einleitung 11 E.i Was ist Python? ai E.2 Einige besondere Merkmale von Python n E.3 Hinweise zum Lesen dieses Buches 13 1 Basiskonzepte von Python 15 1.1 Python im interaktiven

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Programmierparadigmen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Programmiersprachen-Paradigmen Eine Programmiersprache

Mehr

Vorlesung Programmieren. Programmiersprachen-Paradigmen. Programmierparadigmen. Eine Programmiersprache dient dem Aufschreiben von Algorithmen

Vorlesung Programmieren. Programmiersprachen-Paradigmen. Programmierparadigmen. Eine Programmiersprache dient dem Aufschreiben von Algorithmen Vorlesung Programmieren Programmierparadigmen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Programmiersprachen-Paradigmen Eine Programmiersprache

Mehr

Linux II. Reguläre Ausdrücke Editoren Scripting. 2 Linux II. Linux I II III Res WN/TT NLTK XML Weka E Reguläre Ausdrücke Editoren Scripting

Linux II. Reguläre Ausdrücke Editoren Scripting. 2 Linux II. Linux I II III Res WN/TT NLTK XML Weka E Reguläre Ausdrücke Editoren Scripting Linux II 2 Linux II Reguläre Ausdrücke Editoren Scripting Reguläre Ausdrücke Reguläre Ausdrücke beschreiben eine Menge von Zeichenfolgen und werden benutzt um m festzustellen, ob eine Zeichenkette Teil

Mehr

Python. Grundlagen, fortgeschrittene Programmierung und Praxis

Python. Grundlagen, fortgeschrittene Programmierung und Praxis Python Grundlagen, fortgeschrittene Programmierung und Praxis August 2011 I. Grundlagen 1 1. Einleitung 3 2. Verfügbarkeit und Installation 6 2.1. Windows..................................... 6 2.2. Unix/Linux/MacOSX...............................

Mehr

Vorlesung Unix-Praktikum

Vorlesung Unix-Praktikum 1/3 Vorlesung 5. und Rechnerbetriebsgruppe Technische Fakultät Universität Bielefeld 16. November 2015 2/3 Willkommen zur fünften Vorlesung Was gab es beim letzten Mal? Prozesse Dateiberechtigungen 3/3

Mehr

UNIX Power Tools. Helferlein für den Alltag. Maximilian Haupt

UNIX Power Tools. Helferlein für den Alltag. Maximilian Haupt UNIX Power Tools Helferlein für den Alltag Maximilian Haupt mhaupt@cs.uni-magdeburg.de Fakultät für Informatik, Otto-von-Guericke-Universität Magdeburg Magdeburg, 28. Oktober 2008 1 Reguläre Ausdrücke

Mehr

Python. Grundlagen und Praxis. Peter Walerowski ADDISON-WESLEY. An imprint of Pearson Education

Python. Grundlagen und Praxis. Peter Walerowski ADDISON-WESLEY. An imprint of Pearson Education Peter Walerowski Python Grundlagen und Praxis ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam Einleitung

Mehr

Programmieren 1 C Überblick

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

Mehr

Einstieg in die Informatik mit Java

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

Mehr

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung Gliederung n Teil I: Einleitung und Grundbegriffe l 1. Organisatorisches l 2. Grundlagen von Programmiersprachen n Teil II: Imperative und objektorientierte Programmierung l 1. Grundelemente der Programmierung

Mehr

Shell-Skripte in Unix

Shell-Skripte in Unix Shell-Skripte in Unix SHELL-SKRIPTE IN UNIX Alexander Mayer Computer & Literatur Verlag GmbH Die Deutsche Bibliothek CIP-Einheitsaufnahme Bibliografische Information Der Deutschen Bibliothek Ein Titeldatensatz

Mehr

Programmieren lernen mit Perl

Programmieren lernen mit Perl Xpert.press Programmieren lernen mit Perl Bearbeitet von Joachim Ziegler 1. Auflage 2002. Buch. XIV, 400 S. Hardcover ISBN 978 3 540 42685 1 Format (B x L): 15,5 x 23,5 cm Gewicht: 783 g Weitere Fachgebiete

Mehr

Programming 101. Carl Herrmann IPMB & DKFZ

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

Mehr

Programmieren in Lua

Programmieren 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

Mehr

Tag 2 Repetitorium Informatik (Java)

Tag 2 Repetitorium Informatik (Java) Tag 2 Repetitorium Informatik (Java) Dozent: Daniela Novac Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Zeichen und

Mehr

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

Einfü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

Mehr

Python als praktischer Helfer

Python als praktischer Helfer Python als praktischer Helfer Ulrich Schumann 01.02.2016 IEEE Student Branch Magdeburg Geschichte Geschichte Entwicklung gestartet durch Guido van Rossum 3/45 Guido van Rossum 4/45 Geschichte Entwicklung

Mehr

Elementare Unix-Befehle 11

Elementare Unix-Befehle 11 Elementare Unix-Befehle 11 beliebige Dateien vergleichen mit diff - diff datei1 datei2 listet die Unterschiede zwischen den beiden Dateien: d.h., welche Änderungen an den beiden Dateien ausgeführt werden

Mehr

Skriptsprachen: Python

Skriptsprachen: Python Skriptsprachen: Python Einführung Jan Krüger, Alexander Sczyrba Technische Fakultät Universität Bielefeld 30. September 2016 Python Einführung Eigenschaften, Erweiterungen, Erste Gehversuche 2 of 18 Python

Mehr

KLAUSUR ZUM BACHELORMODUL,,EINFÜHRUNG IN DIE PROGRAMMIERUNG WS 2011/12, DR. MAXIMILIAN HADERSBECK KLAUSUR AM

KLAUSUR ZUM BACHELORMODUL,,EINFÜHRUNG IN DIE PROGRAMMIERUNG WS 2011/12, DR. MAXIMILIAN HADERSBECK KLAUSUR AM KLAUSUR ZUM BACHELORMODUL,,EINFÜHRUNG IN DIE PROGRAMMIERUNG WS 2011/12, DR. MAXIMILIAN HADERSBECK KLAUSUR AM 06.02.2012 VOR NACH MATRIKELNUMMER: STUDIENGANG: B.Sc. Computerlinguistik, B.Sc. Informatik,

Mehr

Einführung in Perl 6. Referent : Gerd Pokorra Am Eicher Hang Freudenberg. (dienstlich): /

Einführung in Perl 6. Referent : Gerd Pokorra Am Eicher Hang Freudenberg. (dienstlich): / Einführung in Perl 6 Referent : Gerd Pokorra Am Eicher Hang 44 57258 Freudenberg (dienstlich): 02 71 / 7 40 43 79 Referent Studium der Elektrotecknik seit 1988 DV Systemspezialist im Hochschulrechenzentrum

Mehr

Inhalt. Einführung in die Strukturierte Programmierung 15

Inhalt. Einführung in die Strukturierte Programmierung 15 Inhalt Einführung in die Strukturierte Programmierung 15 1.1 Was bedeutet Programmieren? 17 1.2 Was bedeutet Strukturierte Programmierung? 18 1.3 Was ist Pascal? 19 1.4 Was ist PS/k? 20 1.5 Warum wird

Mehr

Perl. Unser erstes Programm. Grundaufbau eines Programms

Perl. Unser erstes Programm. Grundaufbau eines Programms Programmierkurs für absolute Anfänger erste Perl-Programme Caren Brinckmann Sommersemester 2005 http://www.coli.uni-saarland.de/~cabr/teaching.php Perl Entwickler: Larry Wall backronyms: Practical Extraction

Mehr

CADSTAR MRP-Link. MRP-Link ist erstellt von:

CADSTAR MRP-Link. MRP-Link ist erstellt von: CADSTAR MRP-Link MRP-Link ist erstellt von: CSK CAD Systeme Kluwetasch Zip: 2161 Town: Altenholz Street: Struckbrook 9 Tel: +9-31-32917-0 Fax: +9-31-32917-26 Web: http://www.cskl.de E-Mail: Kluwetasch@cskl.de

Mehr

Shell-Scripting Teil 2 - Reguläre Ausdrücke

Shell-Scripting Teil 2 - Reguläre Ausdrücke Shell-Scripting Teil 2 - Reguläre Ausdrücke Alexander Gordon Freie Universität Berlin 5. Vorlesung WS17/18 Outline Reguläre Ausdrücke Was sind reguläre Ausdrücke? Syntax Suchen mit grep/egrep Ersetzen

Mehr

Einstieg in die Informatik mit Java

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

Mehr

C und Linux HANSER. Martin Gräfe. Die Möglichkeiten des Betriebssystems mit eigenen Programmen nutzen. Z., erweiterte Auflage

C und Linux HANSER. Martin Gräfe. Die Möglichkeiten des Betriebssystems mit eigenen Programmen nutzen. Z., erweiterte Auflage 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Martin Gräfe C und Linux Die Möglichkeiten des Betriebssystems mit

Mehr

Einführung in die Programmierung II. 5. Zeiger

Einführung in die Programmierung II. 5. Zeiger Einführung in die Programmierung II 5. Zeiger Thomas Huckle, Stefan Zimmer 16. 5. 2007-1- Bezüge als Objekte Bisher kennen wir als Bezüge (Lvalues) nur Variablennamen Jetzt kommt eine neue Sorte dazu,

Mehr

SHELL-PROGRAMMIERUNG IN UNIX

SHELL-PROGRAMMIERUNG IN UNIX 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Alexander IVlayer SHELL-PROGRAMMIERUNG IN UNIX Computer & Literatur

Mehr

Java. Von den Grundlagen bis zu Threads und Netzen von Prof. Dr. Ernst-Wolfgang Dieterich Fachhochschule Ulm

Java. Von den Grundlagen bis zu Threads und Netzen von Prof. Dr. Ernst-Wolfgang Dieterich Fachhochschule Ulm Java Von den Grundlagen bis zu Threads und Netzen von Prof. Dr. Ernst-Wolfgang Dieterich Fachhochschule Ulm R.Oldenbourg Verlag München Wien 1999 1. Einleitung 11 2. Java-Entwicklungsumgebung 15 2.1 JDK

Mehr

17. Oktober Ubucon 2010, Universität Göttingen. Eine Einführung in Tcl. Dominik Wagenführ. Einleitung. Grundlagen. Strings.

17. Oktober Ubucon 2010, Universität Göttingen. Eine Einführung in Tcl. Dominik Wagenführ. Einleitung. Grundlagen. Strings. Ubucon 2010, Universität Göttingen 17. Oktober 2010 Seite 1/40 Übersicht 1 2 3 4 5 6 7 Seite 2/40 Tcl: Tool Command Language [1] in den 1980er von John K. Ousterhout entwickelt Interpretersprache für verschiede

Mehr

Algorithmik und Programmieren

Algorithmik und Programmieren Institut für Informatik Forschungsgruppe Datenbanken und Informationssysteme (DBIS) Universität Innsbruck Algorithmik und Programmieren Martin Pichl Datenbanken und Informationssysteme (DBIS) dbis.uibk.ac.at

Mehr

Kapitel 1: Informationsverarbeitung durch Programme

Kapitel 1: Informationsverarbeitung durch Programme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 1: Informationsverarbeitung

Mehr

Python zur Lösung von AvA Übung 1 VON MORITZ FEY

Python zur Lösung von AvA Übung 1 VON MORITZ FEY Python zur Lösung von AvA Übung 1 VON MORITZ FEY Übersicht 2 Einführung Socket-Schnittstellen Datei-Zugriff Aufbau der Nachrichten und Serialisierung Besonderheiten von Python Realisierung des Programms

Mehr

Datentypen. strukturierte. elementare. skalare reelle statische dynamische int. list. real float. set. record. inhomogen. homogen

Datentypen. strukturierte. elementare. skalare reelle statische dynamische int. list. real float. set. record. inhomogen. homogen Datentypen elementare strukturierte skalare reelle statische dynamische int real float list homogen set inhomogen record Der elementare Datentyp nat bestehend aus einer Objektmenge und den darauf definierten

Mehr

Informationsverarbeitung im Bauwesen

Informationsverarbeitung im Bauwesen 12 im Bauwesen Markus Uhlmann 1 Zusammenfassung der 11. Vorlesung Objektorientierte Programmierung (OOP) Wozu eigentlich? Was unterscheidet OOP von traditionellen Techniken? Verwendung von vordefinierten

Mehr

Das Einsteigerseminar Objektorientierte Programmierung in Java

Das Einsteigerseminar Objektorientierte Programmierung in Java Alexander Niemann Das Einsteigerseminar Objektorientierte Programmierung in Java -H-H Inhalt Vorwort 13 Einleitung 15 1 Java 21 1.1 Die Geschichte von Java 22 1.2 Das Konzept 24 Klassisch - Compiler und

Mehr

Ein- und Ausgabeumlenkung

Ein- und Ausgabeumlenkung Ein- und Ausgabeumlenkung Viele Prozesse lesen und/oder schreiben Daten (z.b. who, date, cat, rm -i,...) Zu jedem Kommando gibt es voreingestellte Dateien, von denen Daten gelesen und/oder in die Daten

Mehr

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2 iii Inhaltsverzeichnis Kurseinheit 1 1 Von der Aufgabenstellung zum Programm... 1 1.1 Motivation... 1 1.2 Softwareentwicklung... 2 1.3 EXKURS: Unified Modeling Language (UML)... 4 2 Anforderungsanalyse...

Mehr

Skriptum Bauinformatik SS 2013 (Vorlesung IV)

Skriptum Bauinformatik SS 2013 (Vorlesung IV) Skriptum Bauinformatik SS 2013 (Vorlesung IV) Stand: 23.04.2013 Dr. Johannes Lange 2 Inhalt Objektorientierte Programmierung Großes Beispiel... 2 Klasse erstellen... 2 Erzeugen eines Objekts der Klasse...

Mehr

1. Python Interpreter installieren (WinPython)

1. Python Interpreter installieren (WinPython) 1 Excel - User Defined Functions mit Python Um Python als Programmiersprache für Excel UDFs verwenden zu können muss ein Python Interpreter(z.B. WinPython) und xlwings installiert werden: Inhalt 1. Python

Mehr

Intensivübung zu Algorithmen und Datenstrukturen

Intensivübung zu Algorithmen und Datenstrukturen Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche

Mehr

Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe

Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 26. August 2009 1/17 Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe Prof. G. Kemnitz

Mehr

Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1

Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1 Inhaltsverzeichnis Grundlagen und Einführung (1. Band) 1 1 Einleitung und Vorwort 1 1.1 Vorwort zur 13. Auflage....................... 1 1.2 Vorwort zur 10. Auflage....................... 1 1.3 Voraussetzungen...........................

Mehr

Einführung in C# Teil 1. Matthias Nübling

Einführung in C# Teil 1. Matthias Nübling Einführung in C# Teil 1 Matthias Nübling Vorausgesetzte Grundkenntnisse Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,

Mehr

Übersicht Shell-Scripten

Übersicht Shell-Scripten !!!! Wichtig: Bei Shell-Scripten enden die Zeilen nicht mit einem Strichpunkt!!!! Erste Zeile eines Shell-Scripts: #! /bin/bash Variablen in Shell-Scripts: Variablennamen müssen mit einem Buchstaben beginnen,

Mehr

Vorbemerkung. Allgemeines zu Shell Scripts. Aufruf. Einfaches Beispiel

Vorbemerkung. Allgemeines zu Shell Scripts. Aufruf. Einfaches Beispiel Inhalt: Vorbemerkung...1 Allgemeines zu Shell Scripts...1 Aufruf...1 Einfaches Beispiel...1 Testen eines Shell-Scripts...2 Kommandozeilen-Parameter...2 Prozeßsteuerung...3 Bedingte Ausführung: if...3 Mehrfachentscheidung:

Mehr

Das Einsteigerseminar ASP

Das Einsteigerseminar ASP Hiroshi Nakanishi Das Einsteigerseminar ASP M - fy? Einleitung 13 Für wen wurde dieses Buch geschrieben? 13 Der des Einsteigerseminars 13 Das Konzept des Einsteigerseminars 14 Aufgeht's! 15 1 Das Konzept

Mehr

19. Vererbung und Polymorphie

19. Vererbung und Polymorphie 667 19. Vererbung und Polymorphie Ausdrucksbäume, Vererbung, Code-Wiederverwendung, virtuelle Funktionen, Polymorphie, Konzepte des objektorientierten Programmierens (Ausdrucks-)Bäume -(3-(4-5))*(3+4*5)/6

Mehr

Programmieren in Java -Eingangstest-

Programmieren in Java -Eingangstest- Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit

Mehr

<Insert Picture Here> MySQL Workbench für Einsteiger

<Insert Picture Here> MySQL Workbench für Einsteiger MySQL Workbench für Einsteiger Ralf Gebhardt Principal Sales Consultant MySQL Agenda MySQL Workbench 5.2 Design, Entwicklung, Administration MySQL Workbench Varianten Erweiterbarkeit

Mehr

1 EINLEITUNG Übersicht zum Buch... 5

1 EINLEITUNG Übersicht zum Buch... 5 Inhaltsverzeichnis Vorwort 1 1 EINLEITUNG 3 1.1 Übersicht zum Buch................................. 5 2 DAS UNIX-SYSTEM 7 2.1 Die UNIX-Entwicklung............................... 7 2.2 Die UNIX-Werkzeuge................................

Mehr

WS2018/ Oktober 2018

WS2018/ Oktober 2018 Einführung in die Programmierung Ronja Düffel WS2018/19 05. Oktober 2018 Rückblick Datentypen bool Zahlen (int und float) string Variablen Kontrollstrukturen Verzweigungen (if...: und if...else:) Schleifen

Mehr

Linux I II III Res/Pro WN/TT Reguläre Ausdrücke Editoren Scripting. Linux II. 2 Linux II. Reguläre Ausdrücke Editoren Scripting. Ressourcen-Vorkurs

Linux I II III Res/Pro WN/TT Reguläre Ausdrücke Editoren Scripting. Linux II. 2 Linux II. Reguläre Ausdrücke Editoren Scripting. Ressourcen-Vorkurs Linux II 2 Linux II Reguläre Ausdrücke Editoren Scripting POSIX POSIX POSIX ist ein UNIX-Standard, der bestimmte grundlegende Funktionen und Eigenschaften von UNIX-Systemen definiert. Dazu gehören auch

Mehr

Objektorientierte Programmierung (OOP)

Objektorientierte Programmierung (OOP) orientierte Programmierung (OOP) 1. Motivation Die objektorientierte Sichtweise der Welt Als Motivation für die OOP sieht man sich am besten die reale Welt an: Die reale Welt besteht aus "en", z. B.: Gegenstände,

Mehr

Der Computer arbeitet nur deshalb so schnell, weil er nicht denkt.

Der Computer arbeitet nur deshalb so schnell, weil er nicht denkt. Der Computer arbeitet nur deshalb so schnell, weil er nicht denkt. Gabriel Laub. Programmierung Nummer Titel Tage Preis* Juli Aug. 800 1.0 11.-1. 1.00 1.0 1.0 1.0 1.00 1.0 19.-. 1.70 1.900 1.70 1.900 1.70

Mehr

1 Einführung... 13. 2 Erste Schritte... 19. 3 Programmierkurs... 33. 4 Datentypen... 81. 5 Weiterführende Programmierung... 139

1 Einführung... 13. 2 Erste Schritte... 19. 3 Programmierkurs... 33. 4 Datentypen... 81. 5 Weiterführende Programmierung... 139 Auf einen Blick 1 Einführung... 13 2 Erste Schritte... 19 3 Programmierkurs... 33 4 Datentypen... 81 5 Weiterführende Programmierung... 139 6 Objektorientierte Programmierung... 191 7 Verschiedene Module...

Mehr

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

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Themen. Formatierte und unformatierte Eingabe Bedingungsoperator Namespaces Kommandozeilenargumente

Themen. Formatierte und unformatierte Eingabe Bedingungsoperator Namespaces Kommandozeilenargumente Themen Formatierte und unformatierte Eingabe Bedingungsoperator Namespaces Kommandozeilenargumente Formatierte Eingabe mit cin Die Formatierung der Eingabe ist der Ausgabe sehr ähnlich: Die Flags werden

Mehr

7. Vererbung und Polymorphie

7. Vererbung und Polymorphie 210 7. Vererbung und Polymorphie Ausdrucksbäume, Vererbung, Code-Wiederverwendung, virtuelle Funktionen, Polymorphie, Konzepte des objektorientierten Programmierens (Ausdrucks-)Bäume -(3-(4-5))*(3+4*5)/6

Mehr

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

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3 Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................

Mehr

C/C++-Programmierung

C/C++-Programmierung 1 C/C++-Programmierung Speicherverwaltung, 0, const Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Speicherverwaltung

Mehr

Perl-Praxis. CGI-Skripte. Madis Rumming, Jan Krüger.

Perl-Praxis. CGI-Skripte. Madis Rumming, Jan Krüger. Perl-Praxis CGI-Skripte Madis Rumming, Jan Krüger {mrumming,jkrueger}@cebitec.uni-bielefeld.de Übersicht WWW, Web-Server CGI-Skripte Parameterübergabe Web-Formulare CGI.pm Perl-Praxis CGI-Skripte 2/16

Mehr

Michael Weigend. Python GE-PACKT. 5. Auflage

Michael Weigend. Python GE-PACKT. 5. Auflage Michael Weigend Python GE-PACKT 5. Auflage E Einleitung 13 E.i Was ist Python? 13 E.2 Einige besondere Merkmale von Python 13 E.3 Python 2 und 3 14 E.4 Hinweise zum Lesen dieses Buches 15 1 Basiskonzepte

Mehr

Inhaltsverzeichnis 1 Der objektorientierte Ansatz 2 Elementare Objekte und Ausdrücke

Inhaltsverzeichnis 1 Der objektorientierte Ansatz 2 Elementare Objekte und Ausdrücke Inhaltsverzeichnis 1 Der objektorientierte Ansatz... 1 1.1 Ein einführendes Beispiel...2 1.1.1 Aktive Objekte...4 1.1.2 Klassifikation...4 1.1.3 Datenkapselung...6 1.2 OOP im Überblick...6 1.3 Programmaufbau...7

Mehr

Kapitel 2: Python: Ausdrücke und Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1

Kapitel 2: Python: Ausdrücke und Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1 Kapitel 2: Python: Ausdrücke und Typen Grundlagen der Programmierung 1 Holger Karl Wintersemester 2016/2017 Inhaltsverzeichnis Inhaltsverzeichnis 1 Abbildungsverzeichnis 2 Liste von Definitionen u.ä. 2

Mehr

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Organisatorisches Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Nächste Woche VO und UE am Dienstag, den 30.10.! UE im CR IL/IT Wissensüberprüfung am Zettel 25.10.2018 IT I - VO 3 1 Organisatorisches

Mehr

Grundlagen Internet-Technologien INF3171

Grundlagen Internet-Technologien INF3171 Fachbereich Informatik Informationsdienste Grundlagen Internet-Technologien INF3171 Cookies & Sessions Version 1.0 20.06.2016 aktuelles 2 Erweiterungen wir betrachten zwei Erweiterungen: Personalisierung

Mehr

Programmiersprachen Einführung in C

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

Mehr

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

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

Mehr

Grundlagen Internet-Technologien. Serverseitige Web-Programmierung mit CGI, Teil II: Perl im Web Version 1.11

Grundlagen Internet-Technologien. Serverseitige Web-Programmierung mit CGI, Teil II: Perl im Web Version 1.11 Serverseitige Web-Programmierung mit CGI, Teil II: Perl im Web Version 1.11 31.5.2010 1 aktuelles twitter: Mikroblogging seit 2006 typischer Dienst für Web 2.0 eigene twitter-api Nutzung in Massenmedien,

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)

Mehr

Proseminar UNIX Tools. Ferdinand Beyer

Proseminar UNIX Tools. Ferdinand Beyer Reguläre Ausdrücke Proseminar UNIX Tools Ferdinand Beyer Technische Universität München 08.11.2005 Ferdinand Beyer (TUM) Reguläre Ausdrücke 08.11.2005 1 / 39 Gliederung Allgemeines 1 Allgemeines 2 Notation

Mehr

Typisierung. Prüfungen zur Übersetzungszeit Type Test und Type Cast Bedingte Zuweisung Nil Übergangsparameter Grade der Typisierung. 3.

Typisierung. Prüfungen zur Übersetzungszeit Type Test und Type Cast Bedingte Zuweisung Nil Übergangsparameter Grade der Typisierung. 3. Typisierung Prüfungen zur Übersetzungszeit Type Test und Type Cast Bedingte Zuweisung Nil Übergangsparameter Grade der Typisierung 2 Untypisierte Sprachen erfordern Methodensuche zur Laufzeit bei Misserfolg

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)

Mehr