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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 Teil 4 Aufgaben Skript-Sprachen 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 SS 2001 (06) 1 Prof. Dr. Gerhard Goos Höhere Programmiersprachen SS 2001 (06) 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 Höhere Programmiersprachen SS 2001 (06) 3 Prof. Dr. Gerhard Goos Höhere Programmiersprachen SS 2001 (06) 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 Höhere Programmiersprachen SS 2001 (06) 5 Prof. Dr. Gerhard Goos Höhere Programmiersprachen SS 2001 (06) 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 Höhere Programmiersprachen SS 2001 (06) 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 Höhere Programmiersprachen SS 2001 (06) 8

3 (1) und (2) Beispiel: Umlautersetzung (2) Filter und Ströme 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 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 SS 2001 (06) 9 Prof. Dr. Gerhard Goos Höhere Programmiersprachen SS 2001 (06) 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) Was ist mit 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 Höhere Programmiersprachen SS 2001 (06) 11 Prof. Dr. Gerhard Goos Höhere Programmiersprachen SS 2001 (06) 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 Höhere Programmiersprachen SS 2001 (06) 13 Prof. Dr. Gerhard Goos Höhere Programmiersprachen SS 2001 (06) 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 Höhere Programmiersprachen SS 2001 (06) 15 Prof. Dr. Gerhard Goos Höhere Programmiersprachen SS 2001 (06) 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 Höhere Programmiersprachen SS 2001 (06) 17 Prof. Dr. Gerhard Goos Höhere Programmiersprachen SS 2001 (06) 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 Höhere Programmiersprachen SS 2001 (06) 19 Prof. Dr. Gerhard Goos Höhere Programmiersprachen SS 2001 (06) 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 Höhere Programmiersprachen SS 2001 (06) 21 Prof. Dr. Gerhard Goos Höhere Programmiersprachen SS 2001 (06) 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 Höhere Programmiersprachen SS 2001 (06) 23 Prof. Dr. Gerhard Goos Höhere Programmiersprachen SS 2001 (06) 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 Rückrufe(Callbacks) Ziel: Reaktion auf Benutzeraktionen Mögliche Implementierungen: Ereignisse (mit Warteschlangen, etc.) label.l -text Label Prozedurvariable 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 SS 2001 (06) 25 Prof. Dr. Gerhard Goos Höhere Programmiersprachen SS 2001 (06) 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 Höhere Programmiersprachen SS 2001 (06) 27 Prof. Dr. Gerhard Goos Höhere Programmiersprachen SS 2001 (06) 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 Höhere Programmiersprachen SS 2001 (06) 29 Prof. Dr. Gerhard Goos Höhere Programmiersprachen SS 2001 (06) 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 Höhere Programmiersprachen SS 2001 (06) 31 Prof. Dr. Gerhard Goos Höhere Programmiersprachen SS 2001 (06) 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 Höhere Programmiersprachen SS 2001 (06) 33 Prof. Dr. Gerhard Goos Höhere Programmiersprachen SS 2001 (06) 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 {.output insert end "falsche Eingabe\n" } } Prof. Dr. Gerhard Goos Höhere Programmiersprachen SS 2001 (06) 35 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 SS 2001 (06) 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 Höhere Programmiersprachen SS 2001 (06) 37 Prof. Dr. Gerhard Goos Höhere Programmiersprachen SS 2001 (06) 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 Höhere Programmiersprachen SS 2001 (06) 39 Prof. Dr. Gerhard Goos Höhere Programmiersprachen SS 2001 (06) 40

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

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

Thomas Theis. Einstieg in Python. Galileo Press

Thomas Theis. Einstieg in Python. Galileo Press Thomas Theis Einstieg in Python Galileo Press 5 Inhalt Inhalt 1 Einführung 17 1.1 Vorteile von Python 17 1.2 Verbreitung von Python 18 1.3 Aufbau des Buchs 18 1.4 Übungen 20 1.5 Installation von Python

Mehr

12. ArcView-Anwendertreffen 2010. Workshop Programmierung in ArcGIS. Daniel Fuchs. Wo kann eigene Programmierung in ArcGIS verwendet werden?

12. ArcView-Anwendertreffen 2010. Workshop Programmierung in ArcGIS. Daniel Fuchs. Wo kann eigene Programmierung in ArcGIS verwendet werden? Wo kann eigene Programmierung in ArcGIS verwendet werden? 12. ArcView-Anwendertreffen 2010 Workshop Programmierung in ArcGIS Daniel Fuchs 1) Makros für die Automatisierung einzelner Arbeitsschritte im

Mehr

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

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

Mehr

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

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

Mehr

Einführung in VisualBasic for Applications. Stefan Mahlitz

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

Mehr

Übung 4: Schreiben eines Shell-Skripts

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

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

3. Auflage. O Reillys Taschenbibliothek. Windows PowerShell 3.0. kurz & gut. Lee Holmes. Deutsche Adaption von Rolf Masuch O REILLY

3. Auflage. O Reillys Taschenbibliothek. Windows PowerShell 3.0. kurz & gut. Lee Holmes. Deutsche Adaption von Rolf Masuch O REILLY O Reillys Taschenbibliothek 3. Auflage Windows PowerShell 3.0 kurz & gut O REILLY Lee Holmes Deutsche Adaption von Rolf Masuch Inhalt Einleitung................................................ 2 Installation.....................................................

Mehr

Was ist das, Tcl/Tk?

Was ist das, Tcl/Tk? Was ist das, Tcl/Tk? Ende der 80er Jahre von John K. Ousterhout als wiederverwendbare Befehlssprache zur Erzeugung interaktiver Tools zum Design integrierter Schaltkreise entwickelt. Tcl = Tool Command

Mehr

Tipps & Tricks. Neues, Nützliches und Praktisches. Christian Dahmen con terra GmbH

Tipps & Tricks. Neues, Nützliches und Praktisches. Christian Dahmen con terra GmbH Tipps & Tricks Neues, Nützliches und Praktisches Christian Dahmen con terra GmbH 1 Qualitätssicherung von Geodaten Qualitätssicherung von Geodaten Mit FME lassen sich einfache und komplexe Prüfroutinen

Mehr

PIWIN 1 Übung Blatt 5

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

Mehr

Theorie und Praxis einer JSON-RPC-basierten Web-API

Theorie und Praxis einer JSON-RPC-basierten Web-API Theorie und Praxis einer JSON-RPC-basierten Web-API Christian Krause Christian.Krause@raritan.com Raritan Deutschland GmbH Chemnitzer LinuxTage 2015 Gliederung 1 2 Remote Procedure Call Interface Definition

Mehr

18.09.2010 / Software Freedom Day

18.09.2010 / Software Freedom Day 18.09.2010 / Software Freedom Day xkcd Fortsetzung... Grundlegendes Begriff: = regular expressions kurz: regex Funktion: definieren flexible Muster, mit denen in Texten gesucht (und ersetzt) werden kann.

Mehr

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

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

Mehr

Übungspaket 19 Programmieren eigener Funktionen

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

Mehr

Ruby. Programmieren mit Zucker. Thomas Kühn

Ruby. Programmieren mit Zucker. Thomas Kühn Ruby Programmieren mit Zucker Thomas Kühn Gliederung Geschichte Philosophie Syntax mit Zucker Sprachkonzepte Pakete und Frameworks Ausblick Beispiele Yukihiro Matz Matsumoto Geboren am 14.April 1965 Geschichte

Mehr

XCTL-Projekt Software-Sanierung Projektseminar

XCTL-Projekt Software-Sanierung Projektseminar XCTL-Projekt Software-Sanierung Projektseminar Humboldt-Universität Berlin Institut für Informatik Prof. Dr. Klaus Bothe Vortrag: David Damm Software-Sanierung, Studien- und Diplomarbeit, David Damm 1

Mehr

Schnelles Prototyping (Rapid Application Development, RAD)

Schnelles Prototyping (Rapid Application Development, RAD) Schnelles Prototyping (Rapid Application Development, RAD) Prof. Dr. rer. nat. habil. Uwe Aßmann Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden Softwaretechnologie, Prof. Uwe Aßmann 2

Mehr

OPGCOM BS2000/OSD. Windows PC. Kommunikation zwischen BS2000 Host und PC. FILE-Send. URL-Server. udp NAC. MAIL-Server. Mail-Client EVENT-List

OPGCOM BS2000/OSD. Windows PC. Kommunikation zwischen BS2000 Host und PC. FILE-Send. URL-Server. udp NAC. MAIL-Server. Mail-Client EVENT-List OPGCOM Kommunikation zwischen BS2000 Host und PC BS2000/OSD MAIL-R MAIL-S EVENT-Scan TRAP-Send URL-Server FILE-Send pop3 smtp udp TCP/IP TCP/IP MAIL-Server NAC Mail-Client EVENT-List Browser FServer Windows

Mehr

Grundkurs MySQL und PHP

Grundkurs MySQL und PHP Martin Pollakowski Grundkurs MySQL und PHP So entwickeln Sie Datenbanken mit Open-Source-Software vieweg Inhaltsverzeichnis Anwendung und Nutzen von Datenbanken 1 1.1 Was ist eine Datenbank? 1 1.2 Abgrenzung

Mehr

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten Aktuelle Themen der Wirtschaftsinformatik Zusammenfassung 09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten 1 Serverseitige Webprogrammierung

Mehr

Programmieren in C/C++ und MATLAB

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

Mehr

Eine Einführung in Perl

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

Mehr

Internetanbindung von Datenbanken

Internetanbindung von Datenbanken Internetanbindung von Datenbanken http://galahad.informatik.fh-kl.de/~miesel/index.html PHP -1 Gliederung Einführung PHP3 Datenbankanbindung mit PHP3 Sicherheitsprobleme Realisierung mit PHP3 Probleme

Mehr

2 7 Erweiterungen. 7.1 Prozess-Kommunikation mit Datenbanken

2 7 Erweiterungen. 7.1 Prozess-Kommunikation mit Datenbanken 2 7 Erweiterungen 7 Erweiterungen 7.1 Prozess-Kommunikation mit Datenbanken Im Buch Einstieg in das Programmieren mit MATLAB wird im Abschnitt 4.8 das Thema Prozess-Kommunikation am Beispiel von MS-Excel

Mehr

Programmiersprachen in der Bioinformatik

Programmiersprachen in der Bioinformatik Programmiersprachen in der Bioinformatik Bioinformatik In der Biologie immer größere Datenmengen (z.b. Genome, Proteinsequenzen) Sequenzanalyse, Strukturvorhersage Informationen in Datenbanken abrufbar

Mehr

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

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

Mehr

Inhalt Streams Eingabe / Ausgbe in C Dateizugriff in C Eingabe / Ausgabe in C++ Dateizugriff in C++ Error Handling

Inhalt Streams Eingabe / Ausgbe in C Dateizugriff in C Eingabe / Ausgabe in C++ Dateizugriff in C++ Error Handling Input / Output in C, C++ Inhalt Streams Eingabe / Ausgbe in C Dateizugriff in C Eingabe / Ausgabe in C++ Dateizugriff in C++ Error Handling Page 1 Ausgaben in C,C++ - generell Fuer C basierte Ausgaben:

Mehr

Seminar: IT-Administration. Windows Scripting

Seminar: IT-Administration. Windows Scripting Seminar: IT-Administration Windows Scripting Übersicht Skriptsprachen Entwicklung der Skriptsprachen Kommandozeileninterpreter cmd.exe Active Scripting Architektur von Windows Die Skriptsprache VBS Windows

Mehr

Makros erstellen und aufrufen Dr. V.Thormählen

Makros erstellen und aufrufen Dr. V.Thormählen Inhalt Mit Makros arbeiten... 2 Makro erstellen... 3 Makro aufrufen... 4 1. Tastenkürzel zuordnen... 4 2. Schnellzugriffsleiste anpassen... 6 3. Menüband anpassen... 8 Fazit... 11 Listings Listing 1: Codezeilen

Mehr

Ausarbeitung des Interpreter Referats

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

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

1. Der Einstieg in Java

1. Der Einstieg in Java 1. Der Einstieg in Java Was heißt Programmieren? 1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels sollen Sie wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme übersetzen

Mehr

Web-Programmierung (WPR)

Web-Programmierung (WPR) Web-Programmierung (WPR) Vorlesung VIII. Common Gateway Interface(CGI) & PHP mailto:wpr@gruner.org 1 12 Common Gateway Interface Von allen Webservern unterstützt Anzubindende Programme => Gateway zu bestehenden

Mehr

Sprachbeschreibung und Erweiterung

Sprachbeschreibung und Erweiterung Sprachbeschreibung und Erweiterung Worte, Sprachen, reguläre Ausdrücke, Automaten, BNF, Grammatik, Syntax- Diagramme, Spracherweiterungen do, for, break, switch Formale Beschreibung von Programmiersprachen

Mehr

Programmiersprachen und Programmierkonzepte

Programmiersprachen und Programmierkonzepte Programmiersprachen und Programmierkonzepte Inhalt Programmiersprachen- Entwicklung Programmiersprachen und Programmierparadigmen Die Geschichte der Programmiersprachen Anfänge vor 200 Jahren Programmierbare

Mehr

182. stdio. 183. stdio. Eingabe. Ausgabe. Typisch für Zeileneingabe und Analyse: #include

182. stdio. 183. stdio. Eingabe. Ausgabe. Typisch für Zeileneingabe und Analyse: #include <stdio.h> 182. stdio Eingabe int getchar (), getc (FILE * fp), fgetc (FILE * fp); char * gets (char * buf), * fgets (char * buf, int len, FILE * fp); int scanf (const char * fmt,...); int fscanf (FILE * fp, const

Mehr

Eclipse User Interface Guidelines

Eclipse User Interface Guidelines SS 2009 Softwarequalität 06.05.2009 C. M. Bopda, S. Vaupel {kaymic/vaupel84}@mathematik.uni-marburg.de Motivation (Problem) Motivation (Problem) Eclipse is a universal tool platform - an open, extensible

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 1. Einführung und Grundbegriffe

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 1. Einführung und Grundbegriffe 1 Kapitel 1 2 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm, Compiler, Einordnung von Java Ein einfaches Java-Programm erstellen, übersetzen und ausführen Java-Programme dokumentieren 3 Informatik

Mehr

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

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

Mehr

Dynamische Webanwendungen

Dynamische Webanwendungen Dynamische Webanwendungen Mohamed Said Seminar Moderne Informatik Universität Dortmund SS 2003 Mohamed Said / 2003-05-30 1 Überblick Einleitung (Konzept) Client-seitiges Skripting mit JavaScript CGI Server-seitiges

Mehr

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

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

Mehr

Skriptsprachen. im Rahmen des Seminars WebEngineering Lehrstuhl Informatik IX - RWTH Aachen - SS 2005 betreut von Eva Giani bei Prof.

Skriptsprachen. im Rahmen des Seminars WebEngineering Lehrstuhl Informatik IX - RWTH Aachen - SS 2005 betreut von Eva Giani bei Prof. Skriptsprachen im Rahmen des Seminars WebEngineering Lehrstuhl Informatik IX - RWTH Aachen - SS 2005 betreut von Eva Giani bei Prof. Schroeder Inhalt Allgemeines zu Skriptsprachen Server- vs. clientseitig

Mehr

Konrad Kastenmeier. Die Plattform für Web-Browser-basierte Nutzung von Microsoft Office. Überblick Microsoft Office System

Konrad Kastenmeier. Die Plattform für Web-Browser-basierte Nutzung von Microsoft Office. Überblick Microsoft Office System Die Plattform für Web-Browser-basierte Nutzung von Microsoft Office Überblick Microsoft Office System Die Weiterentwicklung von Microsoft Office Microsoft SharePoint Server das unbekannte Wesen Einsatzszenarien

Mehr

VIVIT TQA Treffen in Köln am 18. 04. 2013. API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA

VIVIT TQA Treffen in Köln am 18. 04. 2013. API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA VIVIT TQA Treffen in Köln am 18. 04. 2013 API- Programmierung und Nutzung bei HP Quality Center / ALM Michael Oestereich IT Consultant QA Agenda Vorstellung der API- Versionen OTA- API SA- API REST- API

Mehr

Cubeware Connectivity for SAP Solutions

Cubeware Connectivity for SAP Solutions Cubeware Connectivity for SAP Solutions Beispiele und Anwendungsfälle 1. Modellierung, Extraction, Transformation und Loading mit Datenquelle SAP R/3 und mysap ERP Mit Hilfe des Cubeware Importers und

Mehr

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,

Mehr

Programmieren mit Python in der Sek. 1

Programmieren mit Python in der Sek. 1 Programmieren mit Python in der Sek. 1 20.9.2010 Reinhard Oldenburg Überblick Kurzvorstellung: Was ist Python Didaktische Überlegungen zur Stellung des Programmierens Gründe für Python Beispiele Was ist

Mehr

Grafische Benutzeroberflächen

Grafische Benutzeroberflächen P3.1. Gliederung Rechnerpraktikum zu Kapitel 3 Grafische Benutzeroberflächen Einleitung Ein erstes Beispiel Schwingkreisberechnung mit grafischer Oberfläche Codeschloss mit Zustandsautomat Verkehrsampel

Mehr

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

Mehr

Einstieg in VBA mit Excel Galileo Press

Einstieg in VBA mit Excel Galileo Press Thomas Theis Einstieg in VBA mit Excel Galileo Press Auf einen Blick 1 Einführung 15 2 Grundlagen von Objekten und Ereignissen 45 3 Grundlagen der Programmierung mit VBA 93 4 Fehlerbehandlung 125 5 Mehr

Mehr

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean 01.11.05 1 Noch für heute: 01.11.05 3 primitie Datentypen in JAVA Primitie Datentypen Pseudocode Name Speichergröße Wertgrenzen boolean 1 Byte false true char 2 Byte 0 65535 byte 1 Byte 128 127 short 2

Mehr

Praktikum IKT 3. Semester

Praktikum IKT 3. Semester Praktikum IKT 3. Semester Dr. Andreas Müller, TU Chemnitz, Fakultät für Informatik Inhaltsverzeichnis 1 1 Einführung in QT 1.1 Die QT-Bibliothek Informationen: http://www.trolltech.com Lehner, B: KDE-

Mehr

Access und die andern (Office) Programme. Armin Hess

Access und die andern (Office) Programme. Armin Hess Access und die andern (Office) Programme Armin Hess Was wir wollen Excel, Word, Powerpoint und andere Programme von Access aus fernsteuern Grundlagen Excel, Word, Powerpoint und andere Programme präsentieren

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Christian Kurz SWT Projekt WS 07/08

Christian Kurz SWT Projekt WS 07/08 Christian Kurz SWT Projekt WS 07/08 1. Allgemeine Aspekte der generativen GUI- Entwicklung 2. Entwicklung mit Hilfe von GUI-Designern 3. Entwicklung mit Hilfe deklarativer GUI- Sprachen 4. Modellgetriebene

Mehr

3 Anwendungsarchitektur und Entwicklungsumgebung

3 Anwendungsarchitektur und Entwicklungsumgebung 21 3 Anwendungsarchitektur und Bei den Entwicklern von Web-basierten Dialogsystemen hat sich im Laufe der Zeit eine Vorgehensweise im Design von Anwendungen entwickelt, dies es ermöglicht, flexible Web-Dialoge

Mehr

Programmierung eines GIMP-Plugin

Programmierung eines GIMP-Plugin Programmierung eines GIMP-Plugin Was ist GIMP? GNU Image Manipulation Program Bildbearbeitungssoftware Bildkonvertierer Open Source Erweiterbar durch Plugins Mögliche Programmiersprachen für Plugin-Entwicklung

Mehr

Grundpraktikum Netz- und Datensicherheit. Thema: Sicheres CGI-Scripting

Grundpraktikum Netz- und Datensicherheit. Thema: Sicheres CGI-Scripting Grundpraktikum Netz- und Datensicherheit Thema: Sicheres CGI-Scripting Lehrstuhl für Netz- und Datensicherheit Ruhr-Universität Bochum Versuchdurchführung: Raum ID 2/168 Betreuung: Florian Feldmann Zusammengestellt

Mehr

Informationsverarbeitung

Informationsverarbeitung 1/19 Informationsverarbeitung Einführung in das Programmieren mit C++ Markus Uhlmann Institut für Hydromechanik Karlsruher Institut für Technologie www.ifh.kit.edu WS 2011/2012 Vorlesung 13 (Download Quelldateien)

Mehr

Lua - Erste Schritte in der Programmierung

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

Mehr

Client/Server mit Tcl. Uwe Berger

Client/Server mit Tcl. Uwe Berger Client/Server mit Tcl Uwe Berger Uwe Berger Informatiker, PPS-Software Freizeit: Hard- und Software-Hacking BraLUG e.v.; Brandenburger Linux Infotag (06.11.2010) Beginn meiner Tcl-Geschichte: 1995/6 Suche

Mehr

Installation mit Lizenz-Server verbinden

Installation mit Lizenz-Server verbinden Einsteiger Fortgeschrittene Profis markus.meinl@m-quest.ch Version 1.0 Voraussetzungen für diesen Workshop 1. Die M-Quest Suite 2005-M oder höher ist auf diesem Rechner installiert 2. Der M-Lock 2005 Lizenzserver

Mehr

Objektorientiertes Programmieren für Ingenieure

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

Mehr

Langzeitarchivierung von Prozessdaten und Auswertung mithilfe des Informationsservers und Processhistorian von PCS7/WinCC

Langzeitarchivierung von Prozessdaten und Auswertung mithilfe des Informationsservers und Processhistorian von PCS7/WinCC Langzeitarchivierung von Prozessdaten und Auswertung mithilfe des Informationsservers und Processhistorian von PCS7/WinCC PCS 7 V8.0 WinCC V7.0 SP3 WinCC V7.2 Process Historian, Informationsserver Skalierbare

Mehr

6 Systematisches Testen von Programmen

6 Systematisches Testen von Programmen 6 Systematisches Testen von Programmen Testen Untersuchung des Source-Codes nach Fehlern und Anomalien Stefan Lucks, Software-Entwicklung für Sichere Systeme SS 04, Kapitel 6 p.1/24 Untersuchung des Source-Codes

Mehr

Grundlagen. Kapitel 1

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

Mehr

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

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

Mehr

Kurs für Microsoft Online Kurs Microsoft Analysten Programmierer

Kurs für Microsoft Online Kurs Microsoft Analysten Programmierer Kurs für Microsoft Online Kurs Microsoft Analysten Programmierer Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses für Microsoft Modul 1 Basis Programm Erste Lerneinheit Einführung

Mehr

Windows programmieren mit VisualBasic Einführung in die objektorientierte Programmiersprache

Windows programmieren mit VisualBasic Einführung in die objektorientierte Programmiersprache Dipl. Ing. (FH) Hans-Peter Kiermaier Windows programmieren mit VisualBasic Einführung in die objektorientierte Programmiersprache 1 Allgemeines Die Geschichte von VisualBasic oder kurz VB: 1991 Visual

Mehr

Einführung in die Informatik Grammars & Parsers

Einführung in die Informatik Grammars & Parsers Einführung in die Informatik Grammars & Parsers Grammatiken, Parsen von Texten Wolfram Burgard Cyrill Stachniss 12.1 Einleitung Wir haben in den vorangehenden Kapiteln meistens vollständige Java- Programme

Mehr

Künstliches binäres Neuron

Künstliches binäres Neuron Künstliches binäres Neuron G.Döben-Henisch Fachbereich Informatik und Ingenieurwissenschaften FH Frankfurt am Main University of Applied Sciences D-60318 Frankfurt am Main Germany Email: doeben at fb2.fh-frankfurt.de

Mehr

Formale Sprachen. Anwendungen formaler Sprachen Adressen, Kaffeeautomaten, Programmiersprachen. Rudolf Freund, Marian Kogler

Formale Sprachen. Anwendungen formaler Sprachen Adressen, Kaffeeautomaten, Programmiersprachen. Rudolf Freund, Marian Kogler Formale Sprachen Anwendungen formaler Sprachen Adressen, Kaffeeautomaten, Programmiersprachen Rudolf Freund, Marian Kogler (http://xkcd.com/208) Gültige Adressen: Favoritenstraße 9, 1040 Wien Reumannplatz

Mehr

Ruby - Objektorientiertes Scripting, aber richtig!

Ruby - Objektorientiertes Scripting, aber richtig! Ruby - Objektorientiertes Scripting, aber richtig! Andreas Krennmair krennmair@acm.org 2. November 2003 0-0 Ruby - Objektorientiertes Scripting, aber richtig! 0-1 Aga Ruby s Syntax Ruby s coole Konzepte

Mehr

2.4.3 Polymorphie (Wiederholung von Alp2)

2.4.3 Polymorphie (Wiederholung von Alp2) 2.4.3 Polymorphie (Wiederholung von Alp2) Sparbuch einsparbuch = new Sparbuch(3.0); Konto einkonto; KontoDrucker = new KontoDrucker(); KontoDrucker.setzeKonto(einSparbuch); einkonto = einsparbuch; Wie

Mehr

Daten-Ex- und Import mit Oracle und PostgreSQL

Daten-Ex- und Import mit Oracle und PostgreSQL Daten-Ex- und Import mit Oracle und PostgreSQL Holger Jakobs bibjah@bg.bib.de 2004-09-07 Inhaltsverzeichnis 1 Grund für Daten-Im- und -Exporte 1 2 Werkzeuge 1 2.1 Export mit pg_dump von PostgreSQL.....................

Mehr

Grundlagen der Informatik Übungen 1.Termin

Grundlagen der Informatik Übungen 1.Termin Grundlagen der Informatik Übungen 1.Termin Dr. Ing Natalia Currle-Linde Institut für Höchstleistungsrechnen 1 Kurzvorstellung Dr.-Ing. Natalia Currle-Linde linde@hlrs.de Institut für Höchstleistungsrechnen

Mehr

Web und Mobile Apps Programmieren mit Dart

Web und Mobile Apps Programmieren mit Dart Web und Mobile Apps Programmieren mit Dart Marco Jakob Kalaidos Fachhochschule Schweiz majakob@gmx.ch Abstract: Bisher war es kaum realistisch, im Anfängerunterricht mobile oder webbasierte Applikationen

Mehr

OpenVMS/VAX Notizen. Thomas Strathmann. 19. April 2010

OpenVMS/VAX Notizen. Thomas Strathmann. 19. April 2010 OpenVMS/VAX Notizen Thomas Strathmann 19. April 2010 Einleitung Diese Notizen beziehen sich auf OpenVMS 7.2 auf einer VAX Architektur. Im Speziellen basieren sie auf früheren Notizen, die der Autor im

Mehr

Prozesse. Stefan Janssen. sjanssen@cebitec.uni-bielefeld.de. Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de

Prozesse. Stefan Janssen. sjanssen@cebitec.uni-bielefeld.de. Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Netzwerk - Programmierung Prozesse Stefan Janssen sjanssen@cebitec.uni-bielefeld.de Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Madis Rumming mrumming@cebitec.uni-bielefeld.de Übersicht Prozesse

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Seminararbeit Ruby Uno Kartenspiel

Seminararbeit Ruby Uno Kartenspiel Seminararbeit Ruby Uno Kartenspiel Autor: Fabian Merki Fabian Merki 05.11.2006 1 von 10 Inhaltsverzeichnis Einleitung... 3 Die Idee... 4 Design und Implementierung in Ruby... 5 Testing... 7 Startbefehle...

Mehr

Software mit Tests & Beispielen

Software mit Tests & Beispielen Prüfverfahren Anleitung INHALT Allgemeine Angaben 1. DAS GERÄT... 3 2. DAS GERÄT TESTEN... 4 3. DIE KOMMUNIKATION MIT DEM PC TESTEN... 6 Software mit Tests & Beispielen 1. DIE TESTPROGRAMME HERUNTERLADEN...

Mehr

Apache Module Funktion, Konfiguration und Programmierung. Abruf einer Webseite, Request/ Response Cyle

Apache Module Funktion, Konfiguration und Programmierung. Abruf einer Webseite, Request/ Response Cyle Apache Module Funktion, Konfiguration und Programmierung Abruf einer Webseite, Request/ Response Cyle Einbindung von Modulen in Apache Einsatz von Standardmodulen Programmierung von Modulen Request/ Response

Mehr

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

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

Mehr

Lösung Übungszettel 6

Lösung Übungszettel 6 Lösungen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik SS 03 AG Betriebssysteme FB3 Kirsten Berkenkötter Lösung Übungszettel 6 1 Aufgabe 1: Parallel-Server 1.1 Client #include

Mehr

Projektvortrag von Andrzej Aftyka, Abdi Leili, Elsa Mahari

Projektvortrag von Andrzej Aftyka, Abdi Leili, Elsa Mahari Projektvortrag von Andrzej Aftyka, Abdi Leili, Elsa Mahari Herzlich Willkommen [Lehrveranstaltung Systemprogrammierung SS008 bei Herr Prof. Weber] Projektthema: Programmiersprachen-Server mit CGI Inhaltsverzeichnis

Mehr

MySQL Queries on "Nmap Results"

MySQL Queries on Nmap Results MySQL Queries on "Nmap Results" SQL Abfragen auf Nmap Ergebnisse Ivan Bütler 31. August 2009 Wer den Portscanner "NMAP" häufig benutzt weiss, dass die Auswertung von grossen Scans mit vielen C- oder sogar

Mehr

Dynamische Web-Anwendung

Dynamische Web-Anwendung Dynamische Web-Anwendung Christiane Lacmago Seminar Betriebssysteme und Sicherheit Universität Dortmund WS 02/03 Gliederung Einleitung Definition und Erläuterung Probleme der Sicherheit Ziele des Computersysteme

Mehr

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

Mehr

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Name: Matrikel-Nr: Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Bitte schreiben Sie leserlich und antworten Sie kurz und präzise. 1. Zeichnen Sie das Schichten-Modell eines Computersystems und markieren

Mehr

Bereitstellung von Werkzeugen für den Alltag. Extended Automation

Bereitstellung von Werkzeugen für den Alltag. Extended Automation Bereitstellung von Werkzeugen für den Alltag Extended Automation Wie entstand die Idee? Kundenaufträge mit unterschiedlichen Herausforderungen Neue Mitarbeiter, neue Ideen, neue Ansätze unbelastet von

Mehr

Hello World in Java. Der Weg zum ersten Java-Programm

Hello World in Java. Der Weg zum ersten Java-Programm Vorwort Hello World in Java Der Weg zum ersten Java-Programm Diese Anleitung wurde unter Windows XP verfasst. Grundsätzlich sollte sie auch unter späteren Windows Versionen wie Windows Vista oder Windows

Mehr

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr.

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr. ls [optionen] [namen]: ls zeigt den Inhalt von Verzeichnissen. Sind keine namen angegeben, werden die Dateien im aktuellen Verzeichnis aufgelistet. Sind eine oder mehrere namen angegeben, werden entweder

Mehr

CMS und Barrierefreiheit am Beispiel Typo3 Stefan Parker, Sonja Strohmaier

CMS und Barrierefreiheit am Beispiel Typo3 Stefan Parker, Sonja Strohmaier CMS und Barrierefreiheit am Beispiel Typo3 Stefan Parker, Sonja Strohmaier Typo3 - Allgemeines Open-Source Content Management System Programmiert in PHP Konfigurierbar über Typoscript Voraussetzungen:

Mehr

AFS Backup und Recover nicht nur für (Legato) NetWorker

AFS Backup und Recover nicht nur für (Legato) NetWorker AFS Backup und Recover nicht nur für (Legato) NetWorker Wolfgang Friebel, DESY 28.9.2006 1 Backup Inhalt Schematischer Ablauf Volle und inkrementelle Backups Backup auf Disk Backup auf Tape Recover Recover

Mehr

Programmierkurs: Delphi: Einstieg

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

Mehr

Brückenkurs Programmieren - Sommersemerster 2013

Brückenkurs Programmieren - Sommersemerster 2013 Brückenkurs Programmieren - Sommersemerster 2013 Tag 1 Ivo Senner Technische Hochschule Mittelhessen 30. September 2013 Ivo Senner (THM) Brückenkurs Programmieren 30. September 2013 1 / 41 Inhalt 1 Dieser

Mehr