Übersetzung von Programmiersprachen

Größe: px
Ab Seite anzeigen:

Download "Übersetzung von Programmiersprachen"

Transkript

1 Übersetzung von Programmiersprachen Arnd Poetzsch-Heffter AG Softwaretechnik TU Kaiserslautern Wintersemester 2005/06 1

2 1.Kapitel: Einführung Aufbauend auf den Techniken zur syntaktischen Analyse formaler Beschreibungssprachen konzentriert sich diese Vorlesung auf - Techniken und Algorithmen zur - semantikerhaltenden und - optimierenden - Übersetzung von - Quellsprachprogrammen in - Zielsprachprogramme. Aufbau von Kapitel 1: Überblick und Umfeld Allgemeine Aspekt des Übersetzerbaus Inhalt und Lernziele Literatur: R. Wilhelm, D. Maurer: Übersetzerbau. Springer-Verlag A. Appel: Modern Compiler Implementation in Java. Cambridge University Press

3 1.1 Überblick und Umfeld Begriffsklärung: Übersetzungsaufgabe: Quellcode Übersetzer Fehlermeldung Zielcode Übersetzer (im weiteren Sinne) realisiert: Analyse & Optimierung & Übersetzung Quellcode: Eingabe(-Zeichenreihe) für Übersetzer; sollte der Syntax der Quellsprache (QS) genügen. Zielcode: Ausgabe(-Zeichenreihe) des Übersetzer; muss der Syntax der Zielsprache (ZS) genügen. 3

4 typische Quellsprachen: - Programmiersprachen: C, C++, C#, Java, ML, Cobol, Smalltalk, Prolog,... Skriptsprachen (JavaScript), Kommandosprachen - Sprachen für Konfigurationsmanagement (make,..) - Anwendungs- & werkzeugspezifische Sprachen (Excel, Lex, Max,...) - Spezifikationssprachen (Z, Isabelle/HOL, CASL) - Formatierungs- und Datenbeschreibungssprachen (LaTeX, HTML, XML,...) - Entwurfs- & Architekturbeschreibungssprachen (UML, SDL, VHDL, Darwin,...) typische Zielsprachen: - Assembler- und Maschinensprachen - Programmiersprachen (z.b. C) - Daten- und Layoutbeschreibungssprachen - Sprachen zur Drucksteuerung 4

5 Zur Übersetzungszeit: während der Übersetzer läuft. Alle Informationen und Aspekte, die schon zur Übersetzungszeit bekannt sind, nennt man statisch. Z.B. Typprüfung der Programms, Konstante Ausdrücke auswerten, Relativadressen festlegen,... Zur Laufzeit: während das übersetze Programm ausgeführt wird. Alle Informationen und Aspekte, die statisch noch unbekannt sind, nennt man dynamisch. Z.B. Allokation von Feldern variabler Größe, Bereichsprüfung von Feldern, dynamische Bindung von Methoden, Speicherverwaltung für rekursive Prozeduren. Da der Übersetzer dynamische Aspekte nicht zur Übersetzungszeit behandeln kann, erzeugt er dafür Code. Der Code erledigt die Aspekte dann zur Laufzeit. 5

6 Anwendungsbereiche der Techniken: (exemplarisch) Realisierung von Programmierumgebungen: - kontextsensitive Editoren, Klassenbrowser,... - graphische Programmierwerkzeuge - Präprozessoren - Übersetzer - Interpreter - Debugger - Laufzeitumgebung (Laden, Linken, Ausführen, Speicherverwalten) Generierung von Programmen aus Entwurfsdokumenten (UML,... ) Programmverstehen, Reengineering Entwurf und Implementierung anwendungsspezifischer Sprachen: - Robotersteuerung - Simulationswerkzeuge - Tabellenkalkulatoren, aktive Dokumente Web-Technologie: - Analyse von Web-Sites - aktive Webseiten (mit integrierter Funktionalität) - abstrakte Plattformen: JVM,.Net - Optimieren von Caching 6

7 Angrenzende Gebiete: Formale Sprachen, Sprachspezifikation, -entwurf Programmier- und Spezifikationssprachen Programmierung, Softwareentwicklung, SW-Generierung, SW-Architektur Systemsoftware, Rechnerarchitektur gegenseitige Wechselwirkung Implementierungsaufgaben: Analyse: Übersetzung: Interpretation: Quellcode Quellcode Quellcode Eingabedaten Analysator Übersetzer Interpreter Analyse- Zielcode Ausgabedaten information häufig Kombination der Aufgaben 7

8 Beispiele: (Übersetzung) 1. Übersetzung eines C-Programms: int main() { printf("willkommen zur Vorlesung!"); return 0; } gcc.file "hello_world.c".version "01.01" gcc2_compiled.:.section.rodata.lc0:.string "Willkommen zur Vorlesung!".text.align 16.globl main.type main,@function main: pushl %ebp movl %esp,%ebp subl $8,%esp... 8

9 Das vollständige Zielprogramm:.file "hello_world.c".version "01.01" gcc2_compiled.:.section.rodata.lc0:.string "Willkommen zur Vorlesung!".text.align 16.globl main.type main: pushl %ebp movl %esp,%ebp subl $8,%esp addl $-12,%esp pushl $.LC0 call printf addl $16,%esp xorl %eax,%eax jmp.l2.p2align 4,,7.L2: movl %ebp,%esp popl %ebp ret.lfe1:.size main,.lfe1-main.ident "GCC: (GNU) (release)" 9

10 2. Übersetzung eines LaTeX-Dokuments: groovy.tex (104 bytes) \documentclass{article} \begin{document} \vspace*{7cm} \centerline{\huge\bf It s groovy} \end{document} latex groovy.dvi (207 bytes, binary)... dvips groovy.ps (7136 bytes) %!PS-Adobe-2.0 %%Creator: dvips(k) %%Title: groovy.dvi... 10

11 1.2 Allgemeine Aspekt des Übersetzerbaus Anforderungen Architektur Konstruktionstechniken Dimensionen des Übersetzerbaus Anforderungen an Übersetzer Gute Fehlerbehandlung (statisch & dynamisch) Effizienter Zielcode Wahlmöglichkeit: schnelle Übersetzung & weniger effizienter Code versus langsamere Übersetzung & hoch effizienter Code semantisch korrekte Übersetzung: Übersetztes Programm verhält sich gemäß der Sprachdefinition der Quellsprache 11

12 D.h. mit semqs: QS-Programme x QS-Daten QS-Daten semzs: ZS-Programme x ZS-Daten ZS-Daten compile: QS-Programme ZS-Programme code: QS-Daten ZS-Daten decode: ZS-Daten QS-Daten sollte für alle QS-Programme P, QS-Daten D gelten: semqs(p,d) = decode(semzs(compile(p),code(d))) Architektur von Übersetzern Bei Übersetzern unterstellt man normalerweise eine Phasenzerlegung in Analyse- und Synthesephasen. Unterschiede gibt es bei: - der Verwaltung von globaler Information - der Repräsentation der Zwischenformen - der Behandlung von Varianten 12

13 Übersetzerphasen: Quellcode als Zeichenreihe Scanner Symbolfolge Analyse Parser Syntaxbaum Namensbinden Typisieren Attributieren & Optimieren Attributierter Baum ( QS-nahe Repr.) Übersetzer im engeren Sinn Synthese Attributieren & Optimieren Zwischensprache ( ZS-nahe Repr.) Codegenerator Peephole- Optimierer Zielcode als Zeichenreihe 13

14 Aspekte von Übersetzerarchitekturen: Phasen zunächst einmal konzeptionell gemeint Ausführung der Phasen kann verschränkt sein Unterschied: Phase versus Pass (Pass: ein Durchgang durch das Programm) genaue Festlegung der Phasen ist von Quell-, Zielsprache und Entwurfsentscheidungen abhängig Kombination mit anderen Architekturentscheidungen: QS_1 QS_2... QS_m gemeinsame Zwischensprache ZS_1 ZS_2... ZS_n getrennte Übersetzung: Programmteile können unabhängig von einander übersetzt werden; Schnittstelleninformation benutzter Elemente anderer Programmteile muss verfügbar sein. 14

15 Konstruktionstechniken A. Schrittweise Konstruktion: Programmierung basiert üblicherweise auf Existenz eines Übersetzers für die Implementierungssprache. Bei Übersetzerkonstruktion kann davon im Allg. nicht ausgegangen werden; stehe QS ZS PS für einen Übersetzer der in Sprache PS geschrieben ist und QS in ZS übersetzt. 1. Konstruktion mit Übersetzer für andere Sprache: Gesucht: QS-Compiler, Ziel, läuft auf Annahme: C-Compiler existiert auf Plattform mit Maschinensprache QS QS zu entwickeln C C durch Übersetzung existiert 15

16 2. Konstruktion mit Übersetzer für anderen Rechner: Gesucht: C-Compiler auf 1 für 1 Annahme: C-Compiler auf 2 für 2 existiert Methode: realisiere zunächst Cross-Compiler 1.Schritt: C 1 C 1 C C Schritt: Cross-Compiler C 1 C 1 C C

17 3. Bootstrapping: Gesucht: QS-Compiler auf für Annahme: kein Compiler verfügbar Methode: 1. Entwerfe Teilsprachen QS i von QS mit QS QS 0 U QS 1 U QS 2 U 2. Implementiere QS -Compiler für in 3. Implementiere QS -Compiler für in QS 4. Erzeuge QS -Compiler für in i+1 0 i+1 i durch Erweiterung QS QS QS 2 QS 2 QS 2 QS 1 QS 1 QS 1 QS 0 QS 0 durch Übersetzung von Hand 17

18 B. Mit Generierungswerkzeugen: Scanner-Generator / reguläre Ausdrücke Parser-Generator / kontextfreie Grammatik Attributauswertungsgenerator / Attributgrammatik Codegenerator-Generator / Maschinenbeschreibung weitere phasenspezifische Werkzeuge Interpretergeneratoren / Sprachsemantik C. Spezielle Programmiermethodiken: allgmeine Technik: syntaxgesteuert speziell: rekursiver Abstieg 18

19 Dimensionen des Übersetzerbaus Programmiersprachen (-sprachklassen): - sequentielle prozedurale, oo. Sprachen - funktionale, logische Sprachen - parallele Sprachen/Sprachkonzepte Zielsprachen/Maschine: - Code für abstrakte Maschine - Assembler - Maschinensprache (CISC, RISC,Superskalar,...) - Multiprozessorarchitekturen - Speicherhierarchie Übersetzungsaufgaben: Analyse, Optimierung, Synthese Konstruktionsmethoden und Werkzeuge Bootstrapping, Generatoren,... Portabilität, Spezifikation, Korrektheit 19

20 1.3 Inhalt und Lernziele 1. Einführung: 1.1 Überblick und Umfeld 1.2 Allgemeine Aspekt des Übersetzerbaus 1.3 Inhalt und Lernziele 2. Übersetzung in die Zielsprache 2.1 Übersetzung prozeduraler Programmiersprachen 2.2 Übersetzung objektorientierter Sprachkonstrukte 2.3 Einblick in die Übersetzung funktionaler Sprachen 2.4 Ein einfacher Übersetzer 3. Ausgewählte Aspekte der Übersetzung 3.1 Zwischensprachen in der Übersetzung 3.2 Optimierung 3.3 Registerzuteilung 3.4 Weitere Aspekte der Übersetzung 4. Speicherbereinigung 4.1 Reference Counting 4.2 Mark & Sweep 4.3. Copying Collection 5. Zusammenfassung und Ausblick 20

21 Allgemeine Lernziele: Grundlagen der Übersetzung von Programmiersprachen Vertiefung in Programmiersprachen Genauere Kenntnis über die Ausführung von Programmen Erlernen ausgereifter, vielseitig einsetzbarer Methoden und Werkzeuge Kennen lernen des Zusammenwirkens von Theorie, Algorithmen, Ingenieurmethoden am Beispiel eines gereiften Gebiets der Informatik Übertragung in andere Gebiete 21

Übersetzer und sprachverarbeitende Werkzeuge

Übersetzer und sprachverarbeitende Werkzeuge Übersetzer und sprachverarbeitende Werkzeuge Arnd Poetzsch-Heffter AG Softwaretechnik TU Kaiserslautern Sommersemester 07 1 1.Kapitel: Einführung Implementierung von Compilern und sprachspezifischen Werkzeugen

Mehr

Praktikum Compilerbau

Praktikum Compilerbau Implementation eines s 20. April 2005 Vorlesungen Vorlesungen, die nützliche für das Praktikum liefern: Automaten, Formale Sprachen und Berechenbarkeit bau Abstrakte Maschinen Programm-Optimierung Fertigkeiten

Mehr

den Einsatz von generierenden Werkzeugen und Theorien und von Software-Engineering-Methoden

den Einsatz von generierenden Werkzeugen und Theorien und von Software-Engineering-Methoden U- Übersetzer Vorlesung WS /8 Uwe Kastens Ziele: grundlegende Verfahren der Sprachimplementierung erlernen den Einsatz von generierenden Werkzeugen und von Standardverfahren kennen und schätzen lernen

Mehr

Kapitel 4. Einführung in den Scannergenerator Flex. Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9

Kapitel 4. Einführung in den Scannergenerator Flex. Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9 Kapitel 4 Einführung in den Scannergenerator Flex Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9 Generatoren für die lexikalische Analyse Scannergeneratoren werden eingesetzt um die

Mehr

Was ist ein Compiler?

Was ist ein Compiler? Was ist ein Compiler? Was ist ein Compiler und worum geht es? Wie ist ein Compiler aufgebaut? Warum beschäftigen wir uns mit Compilerbau? Wie ist die Veranstaltung organisiert? Was interessiert Sie besonders?

Mehr

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur UML-Klassendiagramme als Werkzeug im Unterricht Blitzlicht? In welcher Programmiersprache(n) unterrichten Sie?? In welchem Umfang unterrichten Sie Objektorientierung??

Mehr

10 Erweiterung und Portierung

10 Erweiterung und Portierung 10.1 Überblick In vielen Fällen werden Compiler nicht vollständig neu geschrieben, sondern von einem Rechnersystem auf ein anderes portiert. Das spart viel Arbeit, ist aber immer noch eine sehr anspruchsvolle

Mehr

2D22 Prinzipien der Softwareentwicklung. Prinzipien der Softwareentwicklung S. Strahringer 1

2D22 Prinzipien der Softwareentwicklung. Prinzipien der Softwareentwicklung S. Strahringer 1 2D22 1 Inhalte der Lehrveranstaltung Einführung in die Programmierung mit PHP Literatur: Theis, Thomas (2010): Einstieg in PHP 5.3 und MySQL 5.4. [für Programmieranfänger geeignet]. 6., aktualisierte Aufl.

Mehr

Programmieren was ist das genau?

Programmieren was ist das genau? Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet

Mehr

Programmieren Lernen mit BYOB. Gerald Futschek 5. November 2012

Programmieren Lernen mit BYOB. Gerald Futschek 5. November 2012 Programmieren Lernen mit BYOB Informatiktag 2012 Gerald Futschek 5. November 2012 Erste Programmier Schritte in der Schule Sehr viele verschiedene Dinge zu lernen: Syntax und Semantik der Befehle, Algorithmen,

Mehr

Übersetzung objektorientierter Programmiersprachen

Übersetzung objektorientierter Programmiersprachen Bernhard Bauer Riitta Höllerer Übersetzung objektorientierter Programmiersprachen Konzepte, abstrakte Maschinen und Praktikum Java-Compiler" Mit 29 Abbildungen Springer Teil 1: Theorie 1 Einleitung 3 l.

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Einführung in die Systemprogrammierung

Einführung in die Systemprogrammierung Einführung in die Systemprogrammierung Sprachen und Übersetzer Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 4. Juni 2015 Sprachen vs. Übersetzer Sprache C11 Übersetzer GNU C

Mehr

Version 0.3. Installation von MinGW und Eclipse CDT

Version 0.3. Installation von MinGW und Eclipse CDT Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.

Mehr

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

Mehr

Institut für Telematik Universität zu Lübeck. Programmieren. Kapitel 0: Organisatorisches. Wintersemester 2008/2009. Prof. Dr.

Institut für Telematik Universität zu Lübeck. Programmieren. Kapitel 0: Organisatorisches. Wintersemester 2008/2009. Prof. Dr. Institut für Telematik Universität zu Lübeck Programmieren Kapitel 0: Organisatorisches Wintersemester 2008/2009 Prof. Dr. Christian Werner 1-2 Überblick Ziele Inhaltsüberblick Ablauf der Veranstaltung

Mehr

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Jens Kohlmeyer 05. März 2007 Institut für Programmiermethodik und Compilerbau ActiveCharts Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Seite 2 Übersicht

Mehr

Einführung in PHP. (mit Aufgaben)

Einführung in PHP. (mit Aufgaben) Einführung in PHP (mit Aufgaben) Dynamische Inhalte mit PHP? 2 Aus der Wikipedia (verkürzt): PHP wird auf etwa 244 Millionen Websites eingesetzt (Stand: Januar 2013) und wird auf etwa 80 % aller Websites

Mehr

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h> Allgemeines Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C #include main() { printf( hello world\n ); } Peter Sobe 1 Die Großfamilie der C-Sprachen

Mehr

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Lehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup

Lehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup Universität Dortmund Lehrstuhl Informatik VI Grundzüge der Informatik * WS 28/29 Prof. Dr. Joachim Biskup Leitung der Übungen: Arno Pasternak Lösungs-Ideen Übungsblatt 6 A: Grammatiken, Syntaxdiagramme

Mehr

Einführung in die Informatik II

Einführung in die Informatik II Einführung in die Informatik II Vorlesung Sommersemester 2013 Prof. Dr. Nikolaus Wulff Ziele der Vorlesung Sie vertiefen die Kenntnisse aus Informatik I und runden diese in weiteren Anwendungsgebieten

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Grammatiken. Einführung

Grammatiken. Einführung Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische

Mehr

Formale Sprachen und Grammatiken

Formale Sprachen und Grammatiken Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax

Mehr

Abschnitt 16: Objektorientiertes Design

Abschnitt 16: Objektorientiertes Design Abschnitt 16: Objektorientiertes Design 16. Objektorientiertes Design 16 Objektorientiertes Design Informatik 2 (SS 07) 610 Software-Entwicklung Zur Software-Entwicklung existiert eine Vielfalt von Vorgehensweisen

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag

Mehr

Programmieren Formulierung eines Algorithmus in einer Programmiersprache

Programmieren Formulierung eines Algorithmus in einer Programmiersprache Zum Titel der Vorlesung: Programmieren Formulierung eines in einer Programmiersprache Beschreibung einer Vorgehensweise, wie man zu jedem aus einer Klasse gleichartiger Probleme eine Lösung findet Beispiel:

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

Es war einmal... "StudyING: Welten bewegen - Welten gestalten"

Es war einmal... StudyING: Welten bewegen - Welten gestalten Computer, generiere! Christian Schröder Fachbereich Elektrotechnik und Informationstechnik Fachhochschule Bielefeld christian.schroeder@fh-bielefeld.de Es war einmal... Es war einmal... ein Bauvorhaben!

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg. Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert

Mehr

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT Boris Golubovic Dortmund, den 24. Oktober 2010 Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT Ein Projekt anlegen Ein Projekt kapselt alle zu einer Anwendung gehörenden

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

Mehr

JAVA als erste Programmiersprache Semesterkurs

JAVA als erste Programmiersprache Semesterkurs JAVA als erste Programmiersprache Semesterkurs 0 - Einstieg WS 2012 / 2013 Prof. Dr. Bodo Kraft Prof. Dr. Bodo Kraft FH Aachen University of Applied Sciences Fachbereich Medizintechnik und Technomathematik

Mehr

Diplomarbeit Antrittsvortrag

Diplomarbeit Antrittsvortrag Diplomarbeit Antrittsvortrag Christian Müller Run-time byte code compilation, interpretation and optimization for Alice Betreuer: Guido Tack Verantwortlicher Prof.: Gert Smolka Die nächsten 15 Minuten...

Mehr

Vortrag von: Ilias Agorakis & Robert Roginer

Vortrag von: Ilias Agorakis & Robert Roginer MDA Model Driven Architecture Vortrag von: Ilias Agorakis & Robert Roginer Anwendungen der SWT - WS 08/09 Inhalt Was ist MDA? Object Management Group (OMG) Ziele Konzepte der MDA Werkzeuge Vor- und Nachteile

Mehr

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent

Mehr

Modulhandbuch für das BA Kombinationsfach Angewandte Informatik Multimedia

Modulhandbuch für das BA Kombinationsfach Angewandte Informatik Multimedia Modulhandbuch für das BA Kombinationsfach Angewandte Informatik Multimedia Kenntnisse im Programmieren für das World Wide Web mit der Programmiersprache JAVA werden vermittelt, ebenso das Erstellen von

Mehr

Schulinterner Lehrplan für das Fach Informatik der Sekundarstufe II an der Bettine von Arnim Gesamtschule

Schulinterner Lehrplan für das Fach Informatik der Sekundarstufe II an der Bettine von Arnim Gesamtschule des Zweckverbandes Langenfeld / Hilden - Sekundarstufen I und II - B.V.A-Gesamtschule Hildener Str. 3 40764 Langenfeld 02173 / 9956-0 Fax 02173 / 9956-99 Email: mail@bva-gesamtschule.de Web: www.bva-gesamtschule.de

Mehr

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Softwaretechnik I Wintersemester 2015 / 2016 www.ias.uni-stuttgart.de/st1 st1@ias.uni-stuttgart.de

Mehr

Fragen. f [ ] = [ ] f (x : y : ys) = x y : f ys f (x : xs) = f (x : x : xs) Wozu evaluiert f [1, 2, 3] (Abkürzung für f (1 : 2 : 3 : [ ]))?

Fragen. f [ ] = [ ] f (x : y : ys) = x y : f ys f (x : xs) = f (x : x : xs) Wozu evaluiert f [1, 2, 3] (Abkürzung für f (1 : 2 : 3 : [ ]))? Fragen f [ ] = [ ] f (x : y : ys) = x y : f ys f (x : xs) = f (x : x : xs) Wozu evaluiert f [1, 2, 3] (Abkürzung für f (1 : 2 : 3 : [ ]))? Wozu evaluiert [f [ ], f [ ]]? Weiteres Beispiel: f [ ] y = [

Mehr

Online-Publishing mit HTML und CSS für Einsteigerinnen

Online-Publishing mit HTML und CSS für Einsteigerinnen mit HTML und CSS für Einsteigerinnen Dipl.-Math. Eva Dyllong Universität Duisburg Dipl.-Math. Maria Oelinger spirito GmbH IF MYT 07-2002 Web-Technologien Überblick HTML und CSS, XML und DTD, JavaScript

Mehr

3. Stored Procedures und PL/SQL

3. Stored Procedures und PL/SQL 3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln

Mehr

Einführung in Generatives Programmieren. Bastian Molkenthin

Einführung in Generatives Programmieren. Bastian Molkenthin Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung

Mehr

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende

Mehr

Die Softwareentwicklungsphasen!

Die Softwareentwicklungsphasen! Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Proseminar Technische Informatik A survey of virtualization technologies

Proseminar Technische Informatik A survey of virtualization technologies Proseminar Technische Informatik A survey of virtualization technologies Referent: Martin Weigelt Proseminar Technische Informatik - A survey of virtualization technologies 1 Übersicht 1. Definition 2.

Mehr

4. 4. Algorithmen und Datenstrukturen in deskriptiven Programmiersprachen

4. 4. Algorithmen und Datenstrukturen in deskriptiven Programmiersprachen Kapitel Kapitel 4 Deskriptive Programmierung SS 2008 4. 4. Algorithmen und Datenstrukturen in in deskriptiven Programmiersprachen Deskriptive Programmierung 1 Sprachverarbeitung in in Prolog Prolog Prolog

Mehr

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen. Algorithmik II SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.de Homepage der Vorlesung Vorbemerkungen I http://www8.informatik.uni-erlangen.de/immd8

Mehr

1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)

Mehr

Äquivalente Grammatiken / attributierte Grammatik

Äquivalente Grammatiken / attributierte Grammatik Äquivalente Grammatiken / attributierte Grammatik Linksfaktorisierung Elimination von Linksrekursion Umwandlung von EBNF in BNF Attributierte Grammatik Semantikfunktionen und Übersetzungsschema Synthetisierte,

Mehr

Grammatiken in Prolog

Grammatiken in Prolog 12. Grammatiken in Prolog 12-1 Grammatiken in Prolog Allgemeines: Gedacht zur Verarbeitung natürlicher Sprache. Dort braucht man kompliziertere Grammatiken als etwa im Compilerbau, andererseits sind die

Mehr

2. Datenbank-Programmierung

2. Datenbank-Programmierung 2. Datenbank-Programmierung SQL ist eingeschränkt bezüglich der algorithmischen Mächtigkeit, z.b. Berechnung einer transitiven Hülle ist in Standard-SQL nicht möglich. Die Einschränkung ist von Bedeutung

Mehr

Algorithmische Methoden zur Netzwerkanalyse Vorlesung für den Bereich Master Informatik

Algorithmische Methoden zur Netzwerkanalyse Vorlesung für den Bereich Master Informatik Algorithmische Methoden zur Netzwerkanalyse Vorlesung für den Bereich Master Informatik Dozent: Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax

Mehr

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Copyright 2014 Delta Software Technology GmbH. All Rights reserved. Karlsruhe, 21. Mai 2014 Softwareentwicklung - Modellgetrieben und trotzdem agil Daniela Schilling Delta Software Technology GmbH The Perfect Way to Better Software Modellgetriebene Entwicklung Garant für

Mehr

Fachseminar WS 2008/09

Fachseminar WS 2008/09 Fachseminar WS 2008/09 Fachgebiet: Compilerbau Thema: Lexikalische Analyse (Scanner) Referent: Ali Sediq Betreuer: Prof. Dr. Helmut Weber 1 Inhaltsverzeichnis Lexikalische Analyse 1.0 Grundprobleme der

Mehr

Informatik I Tutorium WS 07/08

Informatik I Tutorium WS 07/08 Informatik I Tutorium WS 07/08 Vorlesung: Prof. Dr. F. Bellosa Übungsleitung: Dipl.-Inform. A. Merkel Tutorium: 12 Tutor: Jens Kehne Tutorium 3: Dienstag 13. November 2007 Übersicht Tutorium Übersicht

Mehr

Kapitel 5: Dynamisches Programmieren Gliederung

Kapitel 5: Dynamisches Programmieren Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 1 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12.10.2015 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello! 12.10.2015 Dr. Werner Struckmann / Stephan

Mehr

PHP Kurs Online Kurs Analysten Programmierer Web PHP

PHP Kurs Online Kurs Analysten Programmierer Web PHP PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione

Mehr

Einführung in die Informatik Tools

Einführung in die Informatik Tools Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht

Mehr

C++ mit. Microsoft Visual C++ 2008. Richard Kaiser. Einführung in Standard-C++-, C++/CLI und die objektorientierte Windows.

C++ mit. Microsoft Visual C++ 2008. Richard Kaiser. Einführung in Standard-C++-, C++/CLI und die objektorientierte Windows. Richard Kaiser C++ mit Microsoft Visual C++ 2008 Einführung in Standard-C++-, C++/CLI und die objektorientierte Windows.NET-Programmierung Mit CD-ROM Geleitwort Wenn man heute nach Literatur über Programmiersprachen

Mehr

Individuelle Erweiterung des generierten Codes. 16. Januar 2013

Individuelle Erweiterung des generierten Codes. 16. Januar 2013 Individuelle Erweiterung des generierten Codes 16. Januar 2013 Überblick Welche Möglichkeiten zur individuellen Erweiterung von generiertem Code gibt es? Innerhalb eines Moduls (Klasse) Auf Modulebene

Mehr

Nebenläufige Programmierung

Nebenläufige Programmierung Nebenläufige Programmierung Perspektiven der Informatik 27. Januar 2003 Gert Smolka Telefon-Szenario Eine Telefonzelle Mehrere Personen wollen telefonieren Immer nur eine Person kann telefonieren Ressource

Mehr

Prolog basiert auf Prädikatenlogik

Prolog basiert auf Prädikatenlogik Software-Technologie Software-Systeme sind sehr komplex. Im Idealfall erfolgt die Programmierung problemorientiert, während die notwendige Übertragung in ausführbare Programme automatisch erfolgt. Prolog-Philosophie:

Mehr

Algorithmische Methoden zur Netzwerkanalyse Vorlesung für den Bereich Master Informatik

Algorithmische Methoden zur Netzwerkanalyse Vorlesung für den Bereich Master Informatik Algorithmische Methoden zur Netzwerkanalyse Vorlesung für den Bereich Master Informatik Dozent: Prof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK

Mehr

J.6 Programmierung eingebetteter Systeme

J.6 Programmierung eingebetteter Systeme Vorteile von C in eingebetteten Systemen: leichter Zugriff auf die Hardware gute Kontrolle über die verwendeten Ressourcen (Speicher, CPU) Probleme mit C: stark eingeschränkte Laufzeitüberprüfungen ISO

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr

Wissenswertes über binäre Felder

Wissenswertes über binäre Felder Wissenswertes über binäre Felder Inhaltsverzeichnis Genauigkeit des PC-Taschenrechners 2 Genauigkeit des PC-Taschenrechners ab Windows 7 2 Ausgangspunkt 3 Binäres Feld ohne Vorzeichen-Definition 3 Binäres

Mehr

Übungen zu C++ Kapitel 1

Übungen zu C++ Kapitel 1 Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Einheit 2.4 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibungsformen für Sprachen Mathematische Mengennotation Prädikate beschreiben Eigenschaften

Mehr

Informatik I Debugging

Informatik I Debugging Der erste Computer-Bug Informatik I G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Grace Hopper Admiral, US Navy 2 4 Folgen von Programmfehlern 1962 führte ein fehlender Bindestrich

Mehr

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung? Kapitelübersicht Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge Was bedeutet Objektorien+erung? ObjektorienCerte Analyse und Design die Objektmodellierung

Mehr

Softwareanforderungsanalyse

Softwareanforderungsanalyse Softwareanforderungsanalyse Evolution von Anforderungen Burkhardt Renz Institut für SoftwareArchitektur der Technischen Hochschule Mittelhessen Wintersemester 2015/16 Evolution von Anforderungen Anforderungen

Mehr

Algorithmen mit Python

Algorithmen mit Python Algorithmen mit Python Vorbesprechung zum Proseminar im Sommersemester 2009 http://www.python.org 1 Sie lernen in DAP Java und C/C++: 80% Syntax, 20% Algorithmen-Design Idee Schon ein einfaches Hello World

Mehr

Language Workbench. Aktuelle Themen der Softwaretechnologie. Vortrag von: Arthur Rehm Steven Cardoso. Betreut von: Prof. Dr.

Language Workbench. Aktuelle Themen der Softwaretechnologie. Vortrag von: Arthur Rehm Steven Cardoso. Betreut von: Prof. Dr. Language Workbench Vortrag von:! Aktuelle Themen der Softwaretechnologie Arthur Rehm Steven Cardoso Betreut von: Prof. Dr. Reichenbach [1] !2 Index Kontext Domain Specific Language (DSL) Language Workbench

Mehr

Visual Basic Express Debugging

Visual Basic Express Debugging Inhalt Dokument Beschreibung... 1 Projekt vorbereiten... 1 Verknüpfung zu Autocad/ProStructures einstellen... 2 Debugging... 4 Autocad/ProSteel Beispiel... 5 Dokument Beschreibung Debuggen nennt man das

Mehr

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Vermeiden Sie es sich bei einer deutlich erfahreneren Person dranzuhängen, Sie sind persönlich verantwortlich für Ihren Lernerfolg. 1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich

Mehr

Wintersemester 2010/2011 Rüdiger Westermann Institut für Informatik Technische Universität München

Wintersemester 2010/2011 Rüdiger Westermann Institut für Informatik Technische Universität München Informatik 1 Wintersemester 2010/2011 Rüdiger Westermann Institut für Informatik Technische Universität München 1 0 Allgemeines Zielgruppen Siehe Modulbeschreibung Studierende anderer (nicht Informatik)

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

Informatik. Kap 0 Organisation

Informatik. Kap 0 Organisation Informatik Kap 0 Organisation von Vorlesung und Praktikum Dr. Norbert Spangler Sprechstunde : nach Vereinbarung E-Mail norbert.spangler@h-da.de n.spangler@t-online.de http://www.fbi.h-da.de/organisation/personen/spangler-norbert.html

Mehr

Modellbasierte Softwareentwicklung

Modellbasierte Softwareentwicklung CD OCL OD Statechart SD Modellbasierte Softwareentwicklung 7. Evolutionäre Methodik 7.1. Vorgehensmodell Vorlesungsnavigator: Prof. Dr. Bernhard Rumpe Sprache Codegen. http://www.se-rwth.de/ Testen Evolution

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen. 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

Software Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003

Software Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003 Software Engineering Softwaretechnik Softwaretechnologie, Software Engineering (engl.) das, -, Teilgebiet der Informatik, das sich mit Methoden und Werkzeugen für das ingenieurmäßige Entwerfen, Herstellen

Mehr

Praktische Informatik 1

Praktische Informatik 1 Praktische Informatik 1 Imperative Programmierung und Objektorientierung Karsten Hölscher und Jan Peleska Wintersemester 2011/2012 Session 1 Ziele der Veranstaltung Imperative Programmierung... Konzepte

Mehr

Tutorium Informatik 1. Aufgabe 2: Formatierte Ein- und Ausgabe

Tutorium Informatik 1. Aufgabe 2: Formatierte Ein- und Ausgabe Tutorium Informatik 1 Aufgabe 2: Formatierte Ein- und Ausgabe Fachbereich: Elektrotechnik Inhaltsverzeichnis 1 Aufgabe 1 2 Benötigte Funktionen und Schlüsselwörter 2 Robert Halas / FH Regensburg - 2003

Mehr

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise Coma I Einleitung 1 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen Literaturhinweise 2 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen

Mehr

Erfolg ist programmierbar.

Erfolg ist programmierbar. 4578954569774981234656895856512457895456977498 3465689585651245789545697749812346568958561245 9545697749812346568958565124578954569774981234 6895856512457895456977498123465689585612457895 6977498123465689585651245789545697749812346568

Mehr

IT-Basics 2. DI Gerhard Fließ

IT-Basics 2. DI Gerhard Fließ IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte

Mehr