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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 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 (c) Softwarekonfiguration Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 1 Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 2 Geschichte Prinzipien von Skript-Sprachen 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 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, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 3 Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 4

2 (1) Eine MULTICS/UNIX-Errungenschaft: Universeller Dateityp Text (1) Dateibearbeitung (ed) 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 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, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 5 Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 6 (1) Reguläre Ausdrücke (1) awk 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, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 7 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, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 8

3 (2) Filter und Ströme (1) und (2) Beispiel: Umlautersetzung 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 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, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 9 Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 10 (2) Shell-Programmierung (1) und (2) Perl - Practical Extraction and Report Language Automatischer Ablauf von Programmfolgen Kopplung von Programmen (Bedingte Aufrufe, Ströme) Nebenläufigkeit Umgebungsvariablen Dynamische Befehlserzeugung (eval) Wiederverwendung? Ziele und Einsatzgebiete: Textfilter (wie sed, awk,...) Berichterstellung Common Gateway Interface (CGI) Programme (www Server) Komplexe Automatisierungsaufgaben (Konfiguration von Programmen) Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 11 Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 12

4 Entwurfsgedanken zu Perl RSA Verschlüsselung 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 #!/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*,/((..)*)$/) Problem: Lesbarkeit und damit Wartbarkeit von Programmen Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 13 Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 14 Typen Operationen (Skalare) Werte - beginnend mit $ Reihungszugriffe - beginnend Assoziative Reihungen - beginnend mit % Beispiele: Operationen werden in einem Kontext ausgeführt Kontext: Skalarer Kontext (z.b. boolescher Kontext, Void-Kontext) Listenkontext $a ist {x->1, ist a->1 %a = {x->1, y->2} Interpolativer Kontext Objektkontext Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 15 Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 16

5 Standardmodule und -bibliotheken Beliebte Fehler Operatoren können sich im Listenkontext anders verhalten als in skalarem Kontext Zuweisungen 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 Vergleiche Namen können für Funktionen oder Literale stehen (kontextabhängig) Seiteneffekte von Operatoren, Funktionen Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 17 Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 18 Erfahrungen (1) und (2) Python 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 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, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 19 Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 20

6 (a) und (b) Benutzerschnittstellen und Prototypen (a) X11-Hauptprogramm 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 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, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 21 Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 22 (a) X11-Argumentvektoren (a) X11 Erzeugen von Dialogfenstern 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); 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, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 23 Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 24

7 (a) Tk - Tool Kit für X-Windows (a) GUI-Programmierung 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 Rückrufe(Callbacks) Ziel: Reaktion auf Benutzeraktionen Mögliche Implementierungen: Ereignisse (mit Warteschlangen, etc.) Prozedurvariable Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 25 Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 26 (a) Rückrufe (Callbacks) in Tk (b) Prototyp-Entwicklung 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} } 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 Berechnung von Variablen, Ausdrücken? Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 27 Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 28

8 (b) Tcl / Tk (b) und (c) Tcl-Interpretierermodell 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) 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, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 29 Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 30 (a) und (b) Beispiel Sather-Tcl (c) Tcl und Systemkonfiguration Sather bietet statische Typsicherheit effiziente Programme kaum Bibliotheken, insbesondere keine GUI-Bibliotheken Implementierung der Programmlogik in Sather Implementierung der GUI-Teile in Tcl/Tk 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, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 31 Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 32

9 (a), (b) und (c) Beispiele Perl, Tcl/Tk und Python am gleichen Beispiel: Perl 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 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, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 33 Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 34 Perl, Tcl/Tk und Python am gleichen Beispiel: Tcl/Tk Perl, Tcl/Tk und Python am gleichen Beispiel: Python 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 { 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").output insert end "falsche Eingabe\n" } } Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 35 Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 36

10 (c) Anwendungen und Konfigurationssprachen (c) VBA R/3 -- ABAP/4 Microsoft Office - Visual Basic for Applications (VBA) StarOffice - StarBasic oder Java(Script) Rational Rose - Rose Basic Grundidee: Programmierbare Standardanwendungen 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, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 37 Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 38 (c) Power Point Macro Zusammenfassung zu Skript-Sprachen 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 Zielsetzung: Steuerung und Kopplung Prototypenentwicklung Konfiguration Konzepte: Schwache Typisierung Typisierung durch kontextabhängige Interpretation Bibliotheken im Mittelpunkt Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 39 Prof. Dr. Gerhard Goos, Dr. Sabine Glesner Höhere Programmiersprachen WS 2002/03 40

Teil 7 Skript-Sprachen Perl Python Tcl/Tk

Teil 7 Skript-Sprachen Perl Python Tcl/Tk Teil 7 Skript-Sprachen Perl Python Tcl/Tk Prof. Dr. Gerhard Goos Höhere Programmiersprachen WS 2001/2 1 Aufgaben Historisch: (1) Textdateiverarbeitung (2) Steuerung und Kopplung von Programmen Zusätzlich

Mehr

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

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

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

Mehr

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

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

1. Erläutern Sie die Aufgaben von Datentypen in der imperativen Programmierung.

1. Erläutern Sie die Aufgaben von Datentypen in der imperativen Programmierung. 1. Erläutern Sie die Aufgaben von Datentypen in der imperativen Programmierung. Beschreiben Sie ferner je einen frei gewählten Datentyp aus der Gruppe der skalaren und einen aus der Gruppe der strukturierten

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Einführung in das Google Web Toolkit am Beispiel eines Projektes aus der Verkehrstelematik

Einführung in das Google Web Toolkit am Beispiel eines Projektes aus der Verkehrstelematik Einführung in das Google Web Toolkit am Beispiel eines Projektes aus der Verkehrstelematik Fachhochschule Aachen - WS 11/12 Seminararbeit im Bachelorstudiengang Scientific Programming Sebastian Schilling

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

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

Reporting Lösungen für APEX wähle Deine Waffen weise

Reporting Lösungen für APEX wähle Deine Waffen weise Reporting Lösungen für APEX wähle Deine Waffen weise Dietmar Aust Opal-Consulting Köln Schlüsselworte: Oracle APEX, Reporting, JasperReports, PL/PDF, BI Publisher, OPAL:XP, Doxxy, Oracle Rest Data Services

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

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

Informationsverarbeitung im Bauwesen

Informationsverarbeitung im Bauwesen 10 im Bauwesen Markus Uhlmann 1 Zusammenfassung der 9. Vorlesung Datenfelder (Arrays) Statische Felder Dynamische Felder Bestimmung der Grenzen Felder als Parameter für Prozeduren/Funktionen Beispiele:

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

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

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

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

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

Fachhochschule Wiesbaden - Fachbereich DCSM. Skriptsprachen. Moderne, objekt-orientierte Skriptsprachen mit Betonung auf Ruby

Fachhochschule Wiesbaden - Fachbereich DCSM. Skriptsprachen. Moderne, objekt-orientierte Skriptsprachen mit Betonung auf Ruby Fachhochschule Wiesbaden - Fachbereich DCSM Skriptsprachen Moderne, objekt-orientierte Skriptsprachen mit Betonung auf Ruby 16.10.2008 2003, 2008 H. Werntges, FB Design Informatik Medien (DCSM), FH Wiesbaden

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

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

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

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-Grundkurs 1. Thema heute: Shell-Skripten

Unix-Grundkurs 1. Thema heute: Shell-Skripten Unix-Grundkurs 1 Thema heute: Unix-Grundkurs 2 Ein Shell-Skript ist die Zusammenfassung von Kommandos in einer Textdatei. Diese Textdatei wird wie ein ablaufbares Programm behandelt. Es werden von einer

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

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

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

Python 3.6. Erste Schritte auf dem Mac. Syshack. 22. Juni 2017 Version 2.0. Python Erste Schritte auf dem Mac Syshack, 22.

Python 3.6. Erste Schritte auf dem Mac. Syshack. 22. Juni 2017 Version 2.0. Python Erste Schritte auf dem Mac Syshack, 22. Python 3.6 Erste Schritte auf dem Mac Syshack 22. Juni 2017 Version 2.0 Seite 1 / 12 1 Installation Für die Installation von Python muss man das Installationspaket für Mac OS X von der Python Projekt Webseite

Mehr

Mercury PIE Plugin Interface Dokumentation. Version: 1.1 Datum: Verfasser: G.Trietsch. docuform GmbH, Karlsruhe, Germany

Mercury PIE Plugin Interface Dokumentation. Version: 1.1 Datum: Verfasser: G.Trietsch. docuform GmbH, Karlsruhe, Germany Version: 1.1 Datum: 12.07.2005 Verfasser: G.Trietsch 1. Das PIE Interface Mercury bietet mit der PI-Emulation (Program Interface Emulation) die Möglichkeit, eigene Funktionen in die Mercury-Architektur

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

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

Allgemeines. Shell Programmierung Unix. Kommentar. Vorgangsweise. Mag. Thomas Griesmayer

Allgemeines. Shell Programmierung Unix. Kommentar. Vorgangsweise. Mag. Thomas Griesmayer Allgemeines Shell Programmierung Unix Shell Scripts Unix Ein shell script ist eine Textdatei, welche eine Liste von Befehlen (Standard Unix Befehle) beinhaltet. Diese Datei kann durch Aufrufen ausgeführt

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

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

11. Übung Informatik II - Operatorfunktionen

11. Übung Informatik II - Operatorfunktionen Stand: 26. Juni 2015 Inhalt 1 2 3 Übersicht 1 2 3 Warum Operatoren überladen? Großteil der Operatoren (Arithmetik, Logik, Vergleiche) nur für Standarddatentypen (Zahlen, Zeiger) implementiert vergleichbare

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 die Scriptsprache PHP

Einführung in die Scriptsprache PHP Herbst 2014 Einführung in die Scriptsprache PHP Wirtschaftsinformatik: 5. Semester Dozenten: Rainer Telesko / Martin Hüsler Fachhochschule Nordwestschweiz FHNW - Rainer Telesko / Martin Hüsler 1 Inhalt:

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

12. Rekursion Grundlagen der Programmierung 1 (Java)

12. Rekursion Grundlagen der Programmierung 1 (Java) 12. Rekursion Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 24. Januar 2006 Einordnung im Kontext der Vorlesung

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

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

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

Großübung zu Einführung in die Programmierung

Großübung zu Einführung in die Programmierung Großübung zu Einführung in die Programmierung Daniel Bimschas, M.Sc. Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/bimschas Inhalt 1. Besprechung Übung 4 Iteration

Mehr

Programmierkurs Kapitel 4: Dateien Seite 1. Verwaltungfeld im Speicher. 4.1 Alternativen zur Programmierung der Eingabe und der Ausgabe

Programmierkurs Kapitel 4: Dateien Seite 1. Verwaltungfeld im Speicher. 4.1 Alternativen zur Programmierung der Eingabe und der Ausgabe Programmierkurs Kapitel 4: Dateien Seite 1 4 Dateien Verwaltungfeld im Speicher Dateivariable im Programm Dateizeiger Schreib-/Lesefeld im Programm EOF 4.1 Alternativen zur Programmierung der Eingabe und

Mehr

Algorithmen und Programmieren II Einführung in Python

Algorithmen und Programmieren II Einführung in Python Algorithmen und Programmieren II Einführung in Python SS 2012 Prof. Dr. Margarita Esponda 1 Was ist Python? eine Skript-Sprache Anfang der 90er Jahre entwickelt. Erfinder: Guido van Rossum an der Universität

Mehr

10:Exkurs MATLAB / Octave

10:Exkurs MATLAB / Octave 10:Exkurs MATLAB / Octave MATLAB (bzw. Octave als freie Version) ist eine numerische Berechnungsumgebung wurde vorrangig zum Rechnen mit Vektoren und Matrizen entworfen ist interaktiv benutzbar, vergleichbar

Mehr

Access 2010 Programmierung Import und Export nach Excel

Access 2010 Programmierung Import und Export nach Excel Access 2010 Programmierung Import und Export nach Excel Excel... ist das Tabellenkalkulationsprogramm von Microsoft Office. wird genutzt, um numerische Daten in Tabellenform zu erfassen. kann Daten automatisch

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

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

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

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

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

Übung zu Algorithmen und Datenstrukturen (für ET/IT) Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 Matthias Wieczorek Computer-Aided Medical Procedures Technische Universität München Administratives Zentralübung (Mittwoch, 09:45

Mehr

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 2. Spezifikation Schrittweise Verfeinerung

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 2. Spezifikation Schrittweise Verfeinerung UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 2 Spezifikation Schrittweise Verfeinerung Institut für Pervasive Computing Johannes Kepler Universität Linz Altenberger Straße 69,

Mehr

Selbstverwaltung von Subversion Repositories

Selbstverwaltung von Subversion Repositories von Subversion Repositories Martin Grund Hasso-Platter-Institut Universität Potsdam Betriebssystemdienste und Administration Martin Grund SVN 1 Agenda Was ist Subversion Zugriff mittels svnserve WebDAV

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

Linux Prinzipien und Programmierung

Linux Prinzipien und Programmierung Linux Prinzipien und Programmierung Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2014 1 / 25 2 / 25 Pipes Die Bash kennt drei Standard-Dateideskriptoren: Standard In (stdin) Standard-Eingabe,

Mehr

PostScript -Sprache. Frank Richter

PostScript -Sprache. Frank Richter PostScript -Sprache Frank Richter 27.01.2003 Stack-Operationen exch vertauscht die zwei obersten Stackelemente x y exch => y x dup dupliziert oberstes Stackelement x dup => x x pop löscht oberstes Element

Mehr

Einleitung Typsystem Typisierung Zusammenfassung Literatur. Typisierung. Effiziente Programmierung. Thomas Schnieders

Einleitung Typsystem Typisierung Zusammenfassung Literatur. Typisierung. Effiziente Programmierung. Thomas Schnieders Typisierung Effiziente Programmierung Thomas Schnieders Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 2018-04-26 Thomas Schnieders Typisierung 1

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

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

Übung zu Algorithmen und Datenstrukturen (für ET/IT) Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Rüdiger Göbl, Mai Bui Computer Aided Medical Procedures Technische Universität München Administratives Zentralübung (Mittwoch, 09:45

Mehr

Korn-Shell: Einführung in Shellscripte 1. Übersicht: Einführung 2. Die Kornshell im Detail 3.Grundlagen der Programmierung

Korn-Shell: Einführung in Shellscripte 1. Übersicht: Einführung 2. Die Kornshell im Detail 3.Grundlagen der Programmierung 1. Übersicht: Einführung 2. Die Kornshell im Detail 3.Grundlagen der Programmierung 1. Übersicht und Einführung 1.1 Die Shell allgemein 1.2 Die korn-shell 1.3 Der Weg zum ersten Skript 1.4 Nutzen und Grenzen

Mehr

3 Kurzeinführung in Matlab

3 Kurzeinführung in Matlab 3 Kurzeinführung in Matlab Matlab ist ein sehr leistungsfähiges interaktives Programmpaket für numerische Berechnungen. Nutzen Sie dies parallel zu den Vorlesungen. Sie können damit persönlich erfahren,

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

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

Perl-Praxis. CGI-Skripte. Jörn Clausen

Perl-Praxis. CGI-Skripte. Jörn Clausen Perl-Praxis CGI-Skripte Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht WWW, Web-Server CGI-Skripte Parameterübergabe Web-Formulare CGI.pm Perl-Praxis CGI-Skripte 2/22 Datenaustausch im WWW Request

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 2018 Kapitel 1: Informationsverarbeitung

Mehr

Vorsemesterkurs Informatik Übungsaufgaben. Tag 4a - Python

Vorsemesterkurs Informatik Übungsaufgaben. Tag 4a - Python Vorsemesterkurs Informatik Übungsaufgaben Tag 4a - Python Aufgabe 1: Listen Mache dich im Python-Interpreter mit dem Umgang mit Listen vertraut. Kapitel 2.6 im Skript (s.40) enthält nützliche Informationen.

Mehr

Excel VBA. Teil 11.8. Zusammenfassung! Was wir können sollten! V0.5 5.4.2013

Excel VBA. Teil 11.8. Zusammenfassung! Was wir können sollten! V0.5 5.4.2013 Excel VBA Teil 11.8 Zusammenfassung! Was wir können sollten! V0.5 5.4.2013 1 von 17 Inhaltsverzeichnis Seite 3... Modul einfügen Seite 4... Prozeduren oder Funktionen Seite 5... Ein/Ausgaben Seite 6...

Mehr

Inhalt. n Algorithmus. n Euklidscher Algorithmus. n Sortieren. n Programmiersprachen. n Entwicklungsschritte eines Programms.

Inhalt. n Algorithmus. n Euklidscher Algorithmus. n Sortieren. n Programmiersprachen. n Entwicklungsschritte eines Programms. Inhalt Algorithmus Euklidscher Algorithmus Sortieren Programmiersprachen Entwicklungsschritte eines Programms Algorithmen 1 Algorithmus Eindeutige Beschreibung eines allgemeinen Verfahrens unter Verwendung

Mehr

Maßgeschneiderte Berechnungstools - Fallbeispiele für Customizinglösungen mit FEM

Maßgeschneiderte Berechnungstools - Fallbeispiele für Customizinglösungen mit FEM Maßgeschneiderte Berechnungstools - Fallbeispiele für Customizinglösungen mit FEM B. Jilka (4a engineering GmbH) P. Reithofer, T. Wimmer (4a engineering GmbH) Seite: 1 / 22 Inhalt Einleitung Parameter

Mehr

I.1 Die Parrot Assemblersprache

I.1 Die Parrot Assemblersprache I.1 Die Parrot Assemblersprache Die virtuelle CPU Parrot ermöglicht die Verarbeitung der Parrot Assemblersprache (PASM). Zum Einstieg soll ein erstes Beispiel die Ausführung einer PASM-Datei zeigen. Legen

Mehr