Algorithmen und Programmieren II Konzepte imperativer und objektorientierter Programmierung

Größe: px
Ab Seite anzeigen:

Download "Algorithmen und Programmieren II Konzepte imperativer und objektorientierter Programmierung"

Transkript

1 Algorithmen und Programmieren II Konzepte imperativer und objektorientierter Programmierung SS 2012 Prof. Dr. Margarita Esponda 1

2 Inhalt Inhalt 1. Konzepte imperativer Programmierung (Python) 2. Formale Verfahren zur Spezifikation und Verifikation imperativer Programme 3. Konzepte objektorientierter Programmierung (Java) 4. Programmiermethodik 5. Analyse von Laufzeit und Speicherbedarf 6. Berechenbarkeit 2

3 Inhalt Inhalt (1. Teil) 1. Konzepte imperativer Programmierung Syntax und operationelle Semantik imperativer Programmiersprachen Python als Beispiel 2. Formale Verfahren zur Spezifikation und Verifikation imperativer Programme Bedingungen im Zustandsraum (assertions) Hoare-Kalkül und partielle Korrektheit von Programmen Termination von Programmen 3

4 Inhalt Inhalt (2. Teil) 3. Konzepte objektorientierter Programmierung (Java) Primitive und Zusammengesetzte Datentypen, Methoden (Prozeduren und Funktionen), Parameterübergabe, Überladung Module, Klassen, Objekte Klassenhierarchien, Vererbung, abstrakte Klassen, Schnittstellen, Polymorphie Ausnahmebehandlung (Exceptions) 4

5 Inhalt Inhalt ( Teil) 4. Programmiermethodik Umwandlung von Rekursion in Iteration Teile und herrsche Rücksetzverfahren (Backtracking) Dynamische Programmierung 5. Analyse von Laufzeit und Speicherbedarf O-Notation Analyse von Such- und Sortieralgorithmen Algorithmen und Datenstrukturen 6. Berechenbarkeitsbegriff Universelle Registermaschinen 5

6 Lernziele Unsere Lernziele sind: Programmieren im Kleinen Algorithmen entwerfen und implementieren Grundkonzepte von imperativen Programmiersprachen im allgemeinen beherrschen Datentypen, Anweisungen, Kontrollstrukturen Unterprogramme, Funktionen, Parameterübergabe und Zeigertypen Korrektheit von Programmen analysieren Tests entwerfen und ausführen Konzepte Objektorientierter Programmierung beherrschen Klassen, Objekte, Kapselung, Vererbung, Polymorphie und Datenabstraktion Theoretische Grundlagen kennen Registermaschinen als Berechenbarkeitsmodell Hoare-Kalkül zur Spezifikation / Verifikation 6

7 Literatur Algorithmen und Datenstrukturen Literatur "Algorithmen und Datenstrukturen - Eine Einführung mit Java". 3. Auflage Dpunkt.Verlag, Gunter Saake, Kai-Uwe Sattler. Algorithmen in Java. Robert Sedgewick. Teil Auflage. Introduction to Algorithms. Third Edition. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein Java-Programmierung (online) The Java Language Specification. Java SE 7 Edition. Oracle America Inc., James Gosling et al. C. Ullenboom: Java ist auch eine Insel, Galileo Computing, 10. Auflage (Online-Version) Thinking in Java. B. Eckel. Prentice Hall 2006 (Online-Version). 7

8 Vorlesung & Übungen Vorlesungen & Übungen Grundlegende Regeln zum Erfolg sind: 1. Regelmäßige und aktive Teilnahme in der Vorlesung Fragen stellen! 2. Regelmäßige und aktive Teilnahme an den Übungen Selbständige Lösung der Übungsblätter! 8

9 Vorlesung & Übungen Tutoren Max Willert Oliver Wiese? Julian Fleischer Alexander Steen? Julius Auer Nicolas Lehmann 9

10 Vorlesung & Übungen Überfüllte Tutorien Tag Uhrzeit Montag Freitag

11 Kriterien des Leistungsnachweises Regelung aus (ALP III bei Prof. Helmut Alt) Regelung für die Notenvergabe: Die Prüfungsnote ergibt sich aus dem Wert max( (z+k)/2, k, (z+n)/2, n ) Zum Bestehen der Prüfung muss dieser Wert mindestens 50 betragen. Dabei sind: - z - die Anzahl der erreichten Punkte in einer Mitte des Semesters stattfindenden Zwischenklausur (Stoff der ersten Semesterhälfte) - k - die Anzahl der erreichten Punkte in einer Ende des Semesters stattfindenden Endklausur (Stoff des ganzen Semesters) - n - die Anzahl der erreichten Punkte in einer Ende der nächsten Semesterferien stattfindenden Nachklausur (Stoff des ganzen Semesters) - Jede Klausur hat dabei eine maximale Punktzahl von

12 Kriterien des Leistungsnachweises Verbesserungsmöglichkeiten Zusätzlich ist es den Teilnehmern möglich durch besonders aktive mündliche Teilnahme an den Tutorien die Gesamtnote um maximal 0,7 zu verbessern. Diese Bewertung wird von den Tutoren individuell vorgenommen. Durch diese Verbesserung kann ein Bestehen der Klausur nicht erreicht werden. Die beste zu erreichende Note ist 1,0. 12

13 Kriterien des Leistungsnachweises Kriterien für die Bestätigung der regelmäßigen und aktiven Teilnahmen: 1. Eine regelmäßige Teilnahme an den Laborterminen ist unerlässlich. 2. Die Abgabe der Übungsblätter erfolgt dienstags um 8:25 Uhr. Nach diesem Termin abgegebene Übungsblätter werden nicht berücksichtigt. 3. Jeder Student muss an mindestens n-2 Übungsterminen anwesend sein. 4. Jeder Student muss n-2 Übungsblätter bestehen. Ein Übungsblatt gilt als bestanden, wenn man mind. 40% der zu erreichenden Punkte erreicht hat. 5. Jeder Student muss 60% der maximal erreichbaren Punktzahl aus allen Übungsblättern erreichen. 6. Jeder Student muss mindestens zwei Mal seine Lösungen vorrechnen. Wer jeweils vorrechnen muss, wird per Zufall am Anfang des jeweiligen Tutoriums entschieden. 13

14 Einführung Kann ein Student von der aktiven Teilnahmen befreit werden? Filtertest Anmelden bestanden? nein passiert nichts! ja Befreiungstest bestanden? nein passiert nichts! ja Aktive Teilnahme 14

15 Einführung Kann ein Student mit guten ALP2-Vorkenntnissen von der aktiven Teilnahme befreit werden? 1. Filtertest am Samstag den um 10:00 Uhr Jeder Student kann daran teilnehmen Eine Anmeldung ist die einzige Voraussetzung (Siehe Veranstaltungsseite) 2. Befreiungstest am Samstag den um 10:00 Uhr nur die Studenten, die den 1.Filtertest bestanden haben, dürfen mitschreiben. Beide Tests müssen bestanden werden, um eine Bestätigung der aktiven Teilnahmen zu bekommen. Ein freiwilliges Sondertutorium wird für diese fortgeschrittenen Studenten eingerichtet Ziel ist es, trotz Vorkenntnisse Neues zu lernen und am Ball zu bleiben als Sicherheit für ein gutes Klausurergebnis. offen auch für andere interessierte Studenten 15

16 Fragen Fragen Inhaltliche Fragen sind immer willkommen während und nach jeder Vorlesung in der Sprechstunde (Freitags 10-12) Keine s mit organisatorischen Fragen! 16

17 Geschichtliche Einführung Wie viele Programmiersprachen? Es gibt mehr als 2000 Programmiersprachen, die im kommerziellen Bereich bekannt sind oder bekannt gewesen sind. mehr als 200 davon haben sich im Laufe der Geschichte stärker verbreitet (einige) Firmen entwickeln eigene private Sprachen es gibt viele akademische Programmiersprachen und es kommen immer mehr Programmiersprachen hinzu 17

18 Geschichtliche Einführung FORTRAN Cobol PROGRAM PRINT *, "WELCOME TO FU!" END PROGRAM IDENTIFICAL DIVISION PROGRAM-ID HELLO ENVIROMENT DIVISION CONFIGURATION SECTION SOURCE-COMPUTER IBM-PC OBJECT-COMPUTER IBM-PC INPUT-OUTPUT SECTION FILE-CONTROL SELECT AUSGABE ASSIGN TO SI DATA DIVISION FILE-SECTION FD AUSGABE LABEL RECORD OMITTED DATA RECORD ZEILE PICTURE X(80) WORKING STORAGE SECTION PROCEDURE DIVISION BEGIN OPEN OUTPUT AUSGABE MOVE "WELCOME TO FU!" TO ZEILE CLOSE AUSGABE STOP RUN. 18

19 Geschichtliche Einführung Konzepte imperativer Programmierung Die eigentliche Geschichte der Programmiersprachen begann mit: dem Konzept der von Neumann-Maschine, die 1945 die Notwendigkeit eines gespeicherten Programms postulierte. und mit dem Konzept des "conditional control transfer" If-then-Anweisung looped-anweisungen Subroutines (Funktionen) 19

20 Geschichtliche Einführung Imperatives Programmieren Ältestes und populärstes Programmierparadigma Fortran, Cobol, Algol, C, Basic, Pascal, Modula, Java, usw. Widerspiegelt die dahinter stehende Hardware- Architektur von Neumann Maschine gespeichertes Programm + Daten 20

21 30er Jahre Erste Programmiersprache Alonzo Church Stephen C. Kleene λ Kalkül Lisp 1958 Funktionale Programmiersprachen Lambda-Kalkül universelle abstrakte Programmiersprache FP Miranda Haskell nur die Hardware fehlte M. Esponda-Argüero 21

22 30er Jahre Alan Turing ( ) On computable numbers, with an application to the Entscheidungsproblem Turing-Maschine Ein Modell, um die Klasse der intuitiv berechenbaren Funktionen zu bilden. M. Esponda-Argüero 22

23 Geschichtliche Einführung Höhere Programmiersprachen Deklarative Sprachen Was? Imperative Sprachen Wie? Prozedurale Funktionale Sprachen Logische Sprachen Objektorientierte Programmiersprachen Aspektorientierte Programmiersprachen in ALP I in ALP II 23

24 Geschichtliche Einführung deklarativ vs. imperativ - Sprachen basieren auf einem mathematischen Formalismus - Wissen über ein Problem rein deklarativ darstellbar - Sprachen sind von der dahinterstehenden Hardware geprägt - Befehlssequenz (Zustände) - Intelligentes System, das Fragen an das Programm beantworten kann - zeitlicher Ablauf im Programm sichtbar kompakter robuster einfacher effizienter 24

25 Konzepte imperativer Programmierung Imperatives Programmieren Grundlegende Operation: die Zuweisung Operation mit Nebeneffekten Speicherinhalte werden verändert und damit der Zustand der gesamten Maschine. Kontrollfluss-Anweisungen unbedingte Sprünge: GOTO-, break-, return-anweisung usw. bedingte Sprünge: if-then-else-anweisung und Loop-Anweisungen (Schleifen). 25

26 Konzepte imperativer Programmierung Grundlegende Elemente von imperativen Programmen Definitionen von Datentypen Deklarationen von Variablen unter Verwendung vordefinierter Datentypen Zuweisungen Ausdrücke Anweisungen für den Kontrollfluss innerhalb des Programms Gültigkeitsbereich von Variablen (locality of reference) Definition von Prozeduren und Funktionen 26

27 Konzepte imperativer Programmierung Wir werden grundlegende Konzepte der Imperativen Programmierung mit Beispielen in Python behandeln und als Vergleich manchmal C-Beispiele diskutieren. Konzepte der Objektorientierten Programmierung werden wir anhand der Programmiersprache Java diskutieren. 27

28 Warum Python? Warum Python? Einfache Syntax und Semantik Einfache Programmierumgebung Hybride Programmiersprache (Multi-Paradigma) Ermöglicht zuerst nur das rein imperative Programmieren Höhere Datenstrukturen sind in der Sprache integriert Plattformunabhängig In der realen Welt verwendete Sprache Umfangreiche Standardbibliothek 28

29 Warum Python? Warum Python? Einfache Syntax und Semantik Python is an experiment in how much freedom programmers need. Erfinder: Guido van Rossum Too much freedom and nobody can read another's code; too little and expressiveness is endangered. - Guido van Rossum 29

30 Warum Python? M. Esponda-Argüero 30

31 Warum C nicht? Warum C nicht? Hochprogrammiersprachen C-Sprache C wurde ursprünglich für die Programmierung von Betriebssystemen entworfen. Assemblersprachen 31

32 Warum C nicht? Eigenschaften von C Gute Der Programmierer kann machen, was er will. Schlechte Der Programmierer kann machen, was er will. Der C-Compiler geht davon aus, dass der Programmierer genau weiß, was er will, und meldet fast keine Warnungen beim Übersetzen des Programms. Die meisten Fehler bei C-Programmen treten erst zur Laufzeit auf. 32

33 Warum C nicht? C ist eine formatfreie Sprache! m(f,a,s)char*s; {char c;return f&1?a!=*s++?m(f,a,s):s[11]:f&2?a!=*s++?1+m(f,a,s):1:f&4?a--? putchar(*s),m(f,a,s):a:f&8?*s?m(8,32,(c=m(1,*s++,"arjan Kenter. \no$../.\""), m(4,m(2,*s++,"pocnwauvbvxrsoqatkjurgxyydqbzhlwknjdmtgeischfmplizef"),&c),s)): 65:(m(8,34,"rgeQjPruaOnDaPeWrAaPnPrCnOrPaPnPjPrCaPrPnPrPaOrvaPndeOrAnOrPnOrP\ noapnpjpaorpnprpnprptpnpraapnbrnnsrnnbapeorcnproncapnoapnpjptpnaapnprpnprcapn\ BrAnxrAnVePrCnBjPrOnvrCnxrAnxrAnsrOnvjPrOnUrOnornnsrnnorOtCnCjPrCtPnCrnnirWtP\ ncjprcapnotprcneranojpronvtpnnrcnnrnnrepjprptnrunnrntpnbtpraapncrnnorpjprrtpn\ CaPrWtCnKtPnOtPrBnCjPronCaPrVtPnOtOnAtnrxaPnCjPrqnnaPrtaOrsaPnCtPjPratPnnaPrA\ apnaaptpnnaprvapnnjprktpnwaorwtonnapnwaprcapnntojprrtonwanrotpncapnbtcjpryton\ UaOrPnVjPrwtnnxjPrMnBjPrTnUjP"),0);} main(){return m(0,75,"miwltouqjgsbnikyvtxodafbucfzspmwnchegrdlapkyvrjxeqzh");} smile.c The International Obfuscated C Code Contest 33

34 Konzepte imperativer Programmierung Java public class HelloWorldProgram { public static void main ( String[] args ) { System.out.println( "Welcome to FU!" ); } } 34

35 Konzepte imperativer Programmierung C #include <stdio.h> int main(void){ printf( "'Welcome to FU!'\n" ); return 0; } 35

36 Konzepte imperativer Programmierung Python print ('Welcome to FU!') Python 3.x 36

37 In der realen Welt verwendete Sprachen Normalisierte Ergebnisse aus der Popularität in: - Open-Source-Projekte - Powell`s Books - Job-Angebot - Popularität in der Software-Industrie - Google Code Search - usw. Quelle: (DedaSys. Open Source Consulting) 2011

38 Popularität der Programmiersprachen - Android-Anwendungen - mehr als Quelle: TIOBE Programming Community Index for April 2011

39 Keine Laptops NO LAPTOPS M. Esponda-Argüero 39

40 Mitschriften Hörsaal der Zukunft? 40

41 Homepage Homepage Vorlesungsfolien Literaturliste Übungen Zusätzliches Material Wichtige Mittteilungen Sprechstunde: Fr. 10:00-12:00 Uhr Raum

42 Mitschriften Warum ist Mitschreiben wichtig? Das Mitschreiben hat folgende Vorteile: Es erhöht die Aufmerksamkeit und fördert die Konzentration Es regt dazu an, sich aktiv zu beteiligen Es individualisiert den Lernstoff und bildet eine gute Grundlage für die Klausurvorbereitung Fragen zuerst aufzuschreiben hat viele Vorteile. 42

43 Attack of the Note Sheep 43

44 Ich freue mich auf eine gute Zusammenarbeit und auf ein erfolgreiches Lernen! 44

Algorithmen und Programmieren II Konzepte imperativer und objektorientierter Programmierung

Algorithmen und Programmieren II Konzepte imperativer und objektorientierter Programmierung Algorithmen und Programmieren II Konzepte imperativer und objektorientierter Programmierung SS 2010 Prof. Dr. Margarita Esponda Prof. Dr. Margarita Esponda 1 Inhalt (Teil I) Konzepte imperativer Programmierung

Mehr

ALP I Geschichtliche Einführung in die Programmiersprachen

ALP I Geschichtliche Einführung in die Programmiersprachen ALP I Geschichtliche Einführung in die Programmiersprachen Sammet, J. Programming Languages. History and Fundamentals. Prentice Hall, 1969. SS 2011 1 Wie viele Programmiersprachen? Es gibt mehr als 2000

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

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

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

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Einleitung Organisatorisches, Motivation, Herangehensweise Wolfram Burgard 1.1 Vorlesung Zeit und Ort: Dienstags 10:00-12:00 Uhr Donnerstags 10:00-12:00 Uhr Gebäude 101 HS

Mehr

Informatikgrundlagen (WS 2015/2016)

Informatikgrundlagen (WS 2015/2016) Informatikgrundlagen (WS 2015/2016) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde

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

Liste Programmieren - Java

Liste Programmieren - Java Liste Programmieren - Java Fachhochschule Wiesbaden, FB Informatik Studiengang Allgemeine Informatik Vorlesung im WS 2004/2005 Kapitel 1-9 1 Ziele Ausbau der bisherigen Fertigkeiten und Techniken des objektorientierten

Mehr

Programmierung 2. Organisatorisches. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 2. Organisatorisches. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland. 1 Programmierung 2 Organisatorisches Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 2 Wer sind wir? Dozent Assistent Sebastian Hack Gebäude E1 3 Raum

Mehr

Algorithmen und Berechnungskomplexität I

Algorithmen und Berechnungskomplexität I Institut für Informatik I Wintersemester 2010/11 Organisatorisches Vorlesung Montags 11:15-12:45 Uhr (AVZ III / HS 1) Mittwochs 11:15-12:45 Uhr (AVZ III / HS 1) Dozent Professor für theoretische Informatik

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Einführung in die Programmierung PD Dr. Peer Kröger, Dr. Andreas Züfle, Daniel Kaltenthaler, Klaus Schmid Ludwig-Maximilians-Universität München, Institut für Informatik, LFE Datenbanksysteme Wintersemester

Mehr

Funktionale Programmierung (in Clojure)

Funktionale Programmierung (in Clojure) Funktionale Programmierung (in Clojure) Einführung Burkhardt Renz Fachbereich MNI Technische Hochschule Mittelhessen Wintersemester 2014/15 Übersicht Paradigmen von Programmiersprachen Paradigmen von Programmiersprachen

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

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

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Einleitung Organisatorisches, Motivation, Herangehensweise Wolfram Burgard Cyrill Stachniss 0.1 Vorlesung Zeit und Ort: Mo 16.00 18.00 Uhr Gebäude 101, HS 00-026 Informationen

Mehr

Kontakt. Programmierkurs. Webseite. Ziel des Kurses

Kontakt. Programmierkurs. Webseite. Ziel des Kurses Kontakt Programmierkurs Birgit Engels, Anna Schulze ZAIK Universität zu Köln WS 07/08 Vorlesung: Mittwochs 14:00-16:00 Uhr Hörsaal I der Physik Sprechstunde: nach Vereinbarung Weyertal 80 Dachgeschoss

Mehr

Algorithmen und Programmierung I Funktionale Programmierung

Algorithmen und Programmierung I Funktionale Programmierung Algorithmen und Programmierung I Funktionale Programmierung WS 2012/2013 Prof. Dr. Margarita Esponda 1 Inhalt Inhalt 1. Einführung in die Funktionale Programmierung (Haskell): 2. Grundlagen der Berechenbarkeit:

Mehr

Einführung und Motivation

Einführung und Motivation Einführung und Motivation Programmiermethodik Eva Zangerle Universität Innsbruck Ziele der Vorlesung Grundlagen der Programmierung vertiefen Anknüpfen an Wissen aus Einführung in die Programmierung Grundkonzepte

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

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

Programmieren I. Überblick. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Überblick. www.kit.edu. Institut für Angewandte Informatik Programmieren I Überblick KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Übersicht Programmieren Programmieren I (1. Semester)

Mehr

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005 Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der

Mehr

Historischer Abriss. 1956 Fortran Backus (IBM) Formula Translator. 1960 Algol 60 Naur et al. Algorithmic Language

Historischer Abriss. 1956 Fortran Backus (IBM) Formula Translator. 1960 Algol 60 Naur et al. Algorithmic Language Vorbemerkungen Dozent Veranstaltung Inhalt Spann (Rechenzentrum des Mathematischen Instituts) Systemadministration der Linux-Netze der Mathematik wissenschaftl. Arbeitsgebiet: Numerische Mathematik 1.

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

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

Kapitel 0: Organisatorisches

Kapitel 0: Organisatorisches Einführung in die Praktische Informatik Wintersemester 2009 / 2010 Kapitel 0: Organisatorisches Prof. Dr. Manfred Reichert Andreas Lanz, Rüdiger Pryss Universität Ulm Institut für Datenbanken und Informationssysteme

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

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

Informatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler. Joliot-Curie-Gymnasium GR 2010 Nico Steinbach

Informatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler. Joliot-Curie-Gymnasium GR 2010 Nico Steinbach Informatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler Joliot-Curie-Gymnasium GR 2010 Nico Steinbach 0. Organisatorisches Warum habt Ihr euch für den Kurs eingeschrieben?

Mehr

Programmieren I. Administratives / Java Installation. Thomas Vetter, Brian Amberg, Andreas Forster. 21. September 2010 UNIVERSITÄT BASEL

Programmieren I. Administratives / Java Installation. Thomas Vetter, Brian Amberg, Andreas Forster. 21. September 2010 UNIVERSITÄT BASEL Programmieren Administratives / Java nstallation Thomas Vetter, Brian Amberg, Andreas Forster UNVERSTÄT BASEL 21. September 2010 Teil Administratives Allgemein Personen Dozent: Prof. Thomas Vetter Assistenten:

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

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

Innere Klassen in Java

Innere Klassen in Java Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird

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

Programmieren für Ingenieure Sommer 2015. Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet.

Programmieren für Ingenieure Sommer 2015. Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet. Programmieren für Ingenieure Sommer 2015 Andreas Zeller, Universität des Saarlandes Ein Rechner Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet. Rechner sind überall Ihr Rechner

Mehr

Kontrollstrukturen - Universität Köln

Kontrollstrukturen - Universität Köln Kontrollstrukturen - Universität Köln Mario Manno Kontrollstrukturen - Universität Köln p. 1 Was sind Sprachen Auszeichnungssprachen HTML, XML Programmiersprachen ASM, Basic, C, C++, Haskell, Java, Pascal,

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

SWE1 / Übung 2 (19.10.2011)

SWE1 / Übung 2 (19.10.2011) SWE1 / Übung 2 (19.1.211) Simulation von Algorithmen Testen, Testplan Beispiel arithmetische Ausdrücke Handsimulation von Algorithmen Man versteht einen Algorithmus (insbesonders einen "Fremden"), wenn

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007 Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Mehr

Einführung in die Programmiersprache Python

Einführung in die Programmiersprache Python Einführung in die Programmiersprache Python Dipl.-Inf. Frank Hofmann 10. April 2007 Zielsetzung Fragen, die sich jeder stellt Kann ich damit Programmieren lernen? Hilfe! Noch eine Programmiersprache?!

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

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

Wirtschaftsinformatik I

Wirtschaftsinformatik I Wirtschaftsinformatik I - Tutorium 6/ 7 (April 2010) Zusatzinformationen - Lösungsvorschläge Wirtschaftsinformatik I Tutorium Jochen Daum (4.Semester BWL) Universität Mannheim Rechtshinweis: Diese Präsentation

Mehr

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Klausur zur Einführung in die objektorientierte Programmierung mit Java Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-

Mehr

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3. Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike

Mehr

Computeranwendung und Programmierung (CuP)

Computeranwendung und Programmierung (CuP) Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag

Mehr

Programmieren in Haskell Einführung

Programmieren in Haskell Einführung Programmieren in Haskell Einführung Peter Steffen Universität Bielefeld Technische Fakultät 16.10.2009 1 Programmieren in Haskell Veranstalter Dr. Peter Steffen Raum: M3-124 Tel.: 0521/106-2906 Email:

Mehr

2. Programmierung in C

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

Mehr

Programmieren I. Überblick. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Überblick. www.kit.edu. Institut für Angewandte Informatik Programmieren I Überblick KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Übersicht Programmieren Programmieren I (1. Semester)

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

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2012/13 Organisatorisches Vorlesung: Übungsbetreuung: Übungen: Programmierübungen: Alexander Wolff (E29) Jan Haunert (E27) Markus Ankenbrand Titus Dose Alexej

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

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

1. Übung zu "Numerik partieller Differentialgleichungen"

1. Übung zu Numerik partieller Differentialgleichungen 1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:

Mehr

Was ist Logische Programmierung?

Was ist Logische Programmierung? Was ist Logische Programmierung? Die Bedeutung eines Computer-Programms kann durch Logik erklärt werden. Die Idee der logischen Programmierung besteht darin, die Logik eines Programms selber als Programm

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

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6 Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in

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

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

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual! Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual! 0kg 4000 Euro Luster 5,5 kg, 430.- Laptop 2,0 kg, 000.- Schatulle 3,2 kg, 800.- Uhr 3,5 kg, 70.- Schwert,5 kg, 850.- Bild 3,4 kg, 680.- Besteck

Mehr

Teil II: Konzepte imperativer Sprachen

Teil II: Konzepte imperativer Sprachen Teil II: Konzepte imperativer Sprachen Imperative Konzepte und Techniken Eine Einführung am Beispiel von Java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 2. Nov. 2015 II. Konzepte

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

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Ludwig-Maximilians-Universität München Institut für Informatik Programmierung und Softwaretechnik (PST) Prof. Wirsing 6. Mai 2009 1 Der Name Java

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

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte

Mehr

n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 -

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

Mehr

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

Mehr

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

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

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Tutorium 5 - Programmieren

Tutorium 5 - Programmieren Tutorium 5 - Programmieren Grischa Liebel Uni Karlsruhe (TH) Tutorium 11 1 Einleitung 2 Abschlussaufgaben 3 Vorlesungsstoff 4 Ergänzungen zum Vorlesungsstoff Grischa Liebel (Uni Karlsruhe (TH)) c 2008

Mehr

Fragebogen zur Evaluation der Vorlesung und Übungen Computer Grafik, CS231, SS05

Fragebogen zur Evaluation der Vorlesung und Übungen Computer Grafik, CS231, SS05 Fragebogen zur Evaluation der Vorlesung und Übungen Computer Grafik, CS231, SS05 Dozent: Thomas Vetter Bitte Name des Tutors angeben: Liebe Studierende, Ihre Angaben in diesem Fragebogen helfen uns, die

Mehr

Lernziele Ablauf Übungsaufgaben Formalitäten. Programmierpraktika. Einführung in das Programmieren und Weiterführendes Programmieren

Lernziele Ablauf Übungsaufgaben Formalitäten. Programmierpraktika. Einführung in das Programmieren und Weiterführendes Programmieren Programmierpraktika Einführung in das Programmieren und Weiterführendes Programmieren Prof. H.G. Matthies, Dr. R. Niekamp, Dr. E. Zander 16.4.2014 Programmierpraktika 16.4.2014 1/15 Lernziele und Voraussetzungen

Mehr

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords 4.0 Proinformatik III Objektorientierte Programmierung Michael Kölling University of Kent Canterbury, UK Selbstbestimmtes Lernen Vorlesung Tutorium Übungen Buch Web-Seite Üben, üben, üben! Format Vorlesung:

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Datenstrukturen und Algorithmen Sommersemester 2013 1 1 O. Einführung 0.1 Organisatorisches 0.2 Überblick 2 0.1 Organisatorisches DSAL Team Veranstaltungen & Termine Kommunikation Materialien Übungsbetrieb

Mehr

Programmieren Tutorium

Programmieren Tutorium Programmieren Tutorium Tom Schildhauer Tutorium 12 Universität Karlsruhe (TH) Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by Tom Schildhauer,

Mehr

The B Method. B ist eine Methode zur Spezifikation zum Entwurf zur Implementierung von Software Systemen. Bücher zur B-Methode

The B Method. B ist eine Methode zur Spezifikation zum Entwurf zur Implementierung von Software Systemen. Bücher zur B-Methode The B Method B ist eine Methode zur Spezifikation zum Entwurf zur Implementierung von Software Systemen. Bücher zur B-Methode P. Schmitt: Formal Specification and Verification of Software p.1 The B Method

Mehr

Datenbanken und Informationssysteme II

Datenbanken und Informationssysteme II Datenbanken und Informationssysteme II SS 2015 Dr. Christian Senger Einführung 1 mitarbeiter_fehltage abteilung_id mitarbeiter_id fehltage 3 2 2 1 1 1 2 4 5 4 5 3 2 6 10 4 3 3 1 8 1 2 7 5 3 9 1 Ausgabe:

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

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

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

Mehr

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ IBBB 2010 Workshop 6 Einführung in die objektorientierte Programmierung Dozenten: J. Penon, J. Frank, A. Schindler Teil: Java mit BlueJ Dozent: A. Schindler Einf. i. d. OOP - Java u. BlueJ / A. Schindler

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Algorithmen & Datenstrukturen 1. Klausur

Algorithmen & Datenstrukturen 1. Klausur Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse

Mehr

E-Commerce Recht Organisatorisches

E-Commerce Recht Organisatorisches Mag. iur. Dr. techn. Michael Sonntag E-Commerce Recht Organisatorisches E-Mail: sonntag@fim.uni-linz.ac.at http://www.fim.uni-linz.ac.at/staff/sonntag.htm Institut für Informationsverarbeitung und Mikroprozessortechnik

Mehr

Testen mit JUnit. Motivation

Testen mit JUnit. Motivation Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen

Mehr

Organisatorisches. Ökonometrie I Michael Hauser WS15/16

Organisatorisches. Ökonometrie I Michael Hauser WS15/16 1 / 12 Organisatorisches Ökonometrie I Michael Hauser WS15/16 2 / 12 Web-Seite zum Kurs Web-Seite des Kurses: Auf der Web-Seite finden sie die organisatorischen Regelungen, den Terminplan und Regeln zum

Mehr

Organisatorisches. Informatik II Informationen und Daten. Organisatorisches. Organisatorisches. Rainer Schrader. 13. Oktober 2008

Organisatorisches. Informatik II Informationen und Daten. Organisatorisches. Organisatorisches. Rainer Schrader. 13. Oktober 2008 Dozent: Prof. Dr. Rainer Schrader Informatik II Informationen und Daten Rainer Schrader Zentrum für Angewandte Informatik Köln 13. Oktober 2008 Tel.: 470-6030 email: schrader@zpr.uni-koeln.de Sprechstunde:

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen Grundlagen der Programmierung Prof. H. Mössenböck 3. Verzweigungen If-Anweisung n > 0? j n if (n > 0) x = x / n; ohne else-zweig x x / n j max x x > y? n max y if (x > y) max = x; else max = y; mit else-zweig

Mehr

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: 5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel Beispiel (3) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Probleme des Implementierungsvorschlags:

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

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