Entwicklung von Simulationsmodellen

Slides:



Advertisements
Ähnliche Präsentationen
Blue J.
Advertisements

Ziele von EINI I + II Einführen in „Informatik“
Objektorientierte Programmierung
Datenbanken Einführung.
Objektorientierte Datenbanken
Einführung in die Programmierung Zusammenfassung
Kapitel 4 Datenstrukturen
Objektorientierte Programmierung Definition von Klassen
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Java: Objektorientierte Programmierung
Indirekte Adressierung
Java: Grundlagen der Objektorientierung
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Zusammenfassung Vorwoche
Entwicklung von Simulationsmodellen WS 2007/08 Dr. Falk-Juri Knauft Mittwoch 9.15 Uhr – Uhr S25 Praktikum zur Entwicklung von Simulationsmodellen:
Entwicklung von Simulationsmodellen WS 2007/08 Dr. Falk-Juri Knauft Mittwoch 9.15 Uhr – Uhr S25 Praktikum zur Entwicklung von Simulationsmodellen:
Entwicklung von Simulationsmodellen
Entwicklung von Simulationsmodellen WS 2007/08 Dr. Falk-Juri Knauft Mittwoch 9.15 Uhr – Uhr S25 Praktikum zur Entwicklung von Simulationsmodellen:
Entwicklung von Simulationsmodellen
Entwicklung von Simulationsmodellen WS 2007/08 Dr. Falk-Juri Knauft Mittwoch 9.15 Uhr – Uhr S25 Praktikum zur Entwicklung von Simulationsmodellen:
Entwicklung von Simulationsmodellen
Entwicklung von Simulationsmodellen
Entwicklung von Simulationsmodellen WS 2007/08 Dr. Falk-Juri Knauft Mittwoch 9.15 Uhr – Uhr S25 Praktikum zur Entwicklung von Simulationsmodellen:
Entwicklung von Simulationsmodellen
Entwicklung von Simulationsmodellen WS 2007/08 Dr. Falk-Juri Knauft Mittwoch 9.15 Uhr – Uhr S25 Praktikum zur Entwicklung von Simulationsmodellen:
Einführung in die Programmierung Anweisungen und Datentypen
Objektorientierte Modellierung und Simulation technischer Systeme Vertiefungsveranstaltung im Studiengebiet SSG WS2006/2007 André Nordwig, Christoph Nytsch-Geusen.
Objektorientierte Modellierung
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung
Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:
Objektorientierte Programmierung
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
2.4 Rekursion Klassifikation und Beispiele
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
Java Programmierung.
Programmiersprachen Proseminar Grundlagen wissenschaftlichen Arbeitens
Variablen in Programmiersprachen
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
Hochschule Fulda – FB ET Sommersemester 2014
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Einführung Blue J. Inhaltsverzeichnis  Definition  Vokabeln.
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
Kapitel 5Strukturen Information aus der realen Welt werden in einem informationsverarbeitenden System als Daten abgelegt. Diese stellen also eine (vereinfachte)
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Dr. Wolfram Amme, Semantik funktionaler Programme, Informatik II, FSU Jena, SS Semantik funktionaler Programme.
Objektorientierte Programmierung Was ist das eigentlich ?
Objektorientierte Programmierung
 Präsentation transkript:

Entwicklung von Simulationsmodellen WS 2007/08 Dr. Falk-Juri Knauft Mittwoch 9.15 Uhr – 10.00 Uhr S25 Praktikum zur Entwicklung von Simulationsmodellen: Mittwoch 14.00 Uhr – 17.00 Uhr GEO CIP-Pool Modul: 22a http://www.bayceer.uni-bayreuth.de/mod/html/ws0708/geooekologie/simulationsmodelle Es ist sinnvoll, die hier angegebenen Veranstaltungen zu kombinieren. Die Themen ergänzen sich gegenseitig.

Entwicklung von Simulationsmodellen WS 2007/2008 – Überblick I 17.10.2007 Einführung, Ziele, Definition System, Model 24.10.2007 Systemanalyse vs. –simulation, Zustandsbeschreibung 31.10.2007 Diskretisierung, Auswertung der Excel-Simulation 07.11.2007 Programmierparadigmen 14.11.2007 21.11.2007 28.11.2007 05.12.2007 12.12.2007 19.12.2007 Dieser Themenkatalog ist nur eine ungefähre Auflistung. Insbesondere die Termine sind eher unverbindlich. http://www.bitoek.uni-bayreuth.de/mod/html/ws0708/geooekologie/simulationsmodelle http://www.bayceer.uni-bayreuth.de/mod/html/ws0708/geooekologie/simulationsmodelle

Paradigmen der Programmierung Motivation Definition Algorithmus Prozedurale Programmierung Deklarative Programmierung Funktionale Programmierung Logische Programmierung Objektorientierte Programmierung Thema dieser Vorlesung sind die Paradigmen der Programmierung. als Motivation ein paar einfache Beispiele klassisches Programmierparadigma -> Prozeduralen Programmierung Etwas spezieller, aber gerade in Fragen der Entwicklung von Simulationen nicht unbedeutend -> Deklarative Programmierung. Typen Funktionale und Logische Programmierung heute am häufigsten -> Objektorientierten Programmierung. heutige Themen nehmen in einem Informatik-Studiengang den Umfang von etlichen Semesterwochenstunden! -> einen Überblick vermitteln. Unter einem Paradigma versteht man eine forschungsleitende Perspektive oder Sichtweise, die für eine bestimmte Zeit und bestimmte Gruppe von Wissenschaftlern konsensbildend ist. (nach Thomas S. KUHN, 1976)

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Motivation: Diese Vorlesung soll es Ihnen ermöglichen,... durch Kenntnis der wesentlichen Programmier-Paradigmen ... dasjenige auszuwählen,... welches Ihnen am besten erlaubt ... Ihr spezifisches Simulationsproblem zu lösen. Problem 1 Wozu das ganze, wenn hier sowieso nur an der Oberfläche gekratzt werden soll?

Problem: Wie kommt der Nagel in den Balken? Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Problem: Wie kommt der Nagel in den Balken? Hilfsmittel: Schraubenzieher Bohrmaschine Säge Hammer

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Motivation: Diese Vorlesung soll es Ihnen ermöglichen,... durch Kenntnis der wesentlichen Programmier-Paradigmen ... dasjenige auszuwählen,... welches Ihnen am besten erlaubt ... Ihr spezifisches Simulationsproblem zu lösen. Problem 1 Problem 2 Das 2. Problem ist Ihnen sicher noch aus Ihrem Physik-Unterricht vertraut: Wurfbeispiel

Problem: Modellierung des waagerechten Wurfes Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Problem: Modellierung des waagerechten Wurfes Zeit Höhe m s Weg Höhe m

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Motivation: Diese Vorlesung soll es Ihnen ermöglichen,... durch Kenntnis der wesentlichen Programmier-Paradigmen ... dasjenige auszuwählen,... welches Ihnen am besten erlaubt ... Ihr spezifisches Simulationsproblem zu lösen. Problem 1 Problem 2 Problem 3 Während im letzten Problem die Verarbeitung von Funktionen im Vordergrund stehen wird, gibt es auch sehr viel stärker auf die Struktur der Daten abgelegte Situationen Bestandesdatenbeispiel

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Problem: Zuordnung räumlich bezogener Informationen

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Motivation: Diese Vorlesung soll es Ihnen ermöglichen,... durch Kenntnis der wesentlichen Programmier-Paradigmen ... dasjenige auszuwählen,... welches Ihnen am besten erlaubt ... Ihr spezifisches Simulationsproblem zu lösen. Problem 1 Problem 2 Problem 3 Problem 4 Während im letzten Beispiel die Einzelbaumdaten als Repräsentation von Individuen, hinsichtlich Ihrer Behandlung, noch gar nicht von den Bestandesdaten unterschieden, so ist dies im Fall von interaktiver Einflussnahme erforderlich. Hecht-im-Forellenteich-Beispiel

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Problem: Hecht im Forellenteich

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Definition Algorithmus Andere Algorithmen: Kochrezept, Bauanleitung, Bestimmte Rechenregeln (mit mehreren Schritten)

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Prozedurale Programmierung Modellierung der Information Modellierung der Verarbeitung Information als Datentyp (integer, bool, real) in Variablen oder Variablen-Konstrukten (Arrays, Records) gespeichert Referenzen/Zeiger verweisen auf Variablen Folge globaler Zustandsänderungen (globaler Zustand als Gesamtheit der Variablen-Zustände) Je Z.ä. wird Inhalt einer oder weniger Variablen geändert ... ... oder es werden Variablen erzeugt oder entfernt Z.ä. durch elementare Anweisung beschrieben (Zuweisung, Allokation, Deallokation, Lese- oder Schreiboperation) Folgen von Z.ä. als zusammen-gesetzte Anweisung, evt. auch als unendliche Folge Prozedurale Programmierung klassischen Programmiersprachen Basic, C oder Pascal Wesentlich für diese Form ist die getrennte ... ...Modellierung der Verarbeitung... ...und der Information. Informationen nach Datentyp unterschieden: Integer, Bool und Real genannt. Verwaltet als Variablen oder Variablen-Konstrukten: Arrays (Matrix), Records (Liste) Verweise auf bestimmte Variablen: Zeiger Verarbeitung der Informationen als eine Folge globaler Zustandsänderungen Globaler Zustand: Gesamtheit der Variablen-Zustände. Eine Z.ä. : Änderung des Inhaltes einer oder mehrerer Variablen. oder neue Variable erzeugen oder alte entfernen. Z.ä.en durch elementare Anweisungen beschrieben: Zuweisung, die Allokation und Deallokation sowie die Lese- und Schreiboperationen. Mehrere Z.ä. in Folge können durch das Zusammensetzen mehrerer Anweisungen beschrieben werden. ->Algorithmus auch in unendlichen Schleifen (z.B. bei Überwachungsaufgaben).

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Prozedurale Programmierung Prozeduren Benannte parametrisierte Anweisungen, meist zur Erledigung von Aufgaben/ Teilaufgaben Funktionsprozeduren liefern Ergebnisse P. können andere P. aufrufen P.aufrufe müssen eindeutig zugeordnet sein Prozedur B: if i=1 then set c=blau Prozedur A: set i = i+1 Was ist denn nun eine Prozedur? einzelne oder Folgen von Anweisungen, durch einen spezifischen Namen angesprochen erfüllen bestimmte Aufgaben oder Teilaufgaben. Um die Prozeduren in verschiedenen Situationen verwenden zu können, werden der Prozedur Parameter mitgegeben. Liefert die Prozedur neben dem veränderten Gesamtzustand auch noch ein Ergebnis zurück, spricht man von einer Funktionsprozedur. Dies kann auch ein Wert vom Typ Bool sein, der besagt, ob die Prozedur erfolgreich durchgeführt wurde oder ob ein Problem innerhalb der Prozedur auftrat. Innerhalb einer Prozedur können natürlich auch andere Prozeduren aufgerufen werden. Prozedur-Aufrufe immer eindeutig: neben einer Prozedur für die Addition zweier Integer-Werte eine Weitere für die Addition zweier Real-Werte mit eigenem Namen existieren muss. Lassen Sie mich nun das zuvor gesagte an einem kleinen Beispiel illustrieren: Zustand 1: Variable int i=0 Variable color c=grau Zustand 2: i=1 c=grau Zustand 3: i=1 c=blau

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Deklarative Programmierung Erschließung mathematischer Beschreibungsmittel für die Programmierung Erleichterung des Umgangs mit komplexen Daten Verzicht auf Variablen Nicht Verarbeitungsvorschrift, sondern Spezifikation der Programm-Ergebnisse mit speziellen mathematischen Beschreibungsmitteln. Modellierung von Informationen, sowie deren Beziehungen und Eigenschaften Verarbeitung der Informationen zumeist implizit Deklarativen Programmierung mathematischen Beschreibungsmittel für die Programmierung erschließen. Erleichterung des Umgangs mit komplexen Daten, weitgehender Verzicht auf Variablen. nicht eine Verarbeitungsvorschrift, wie bei der Prozeduralen Programmierung, sondern eine Beschreibung des Programmergebnisses mit mathematischen Mitteln. Modellierung der Information sowie deren Beziehungen und Eigenschaften. Die Verarbeitung erfolgt dabei zumeist implizit.

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Deklarative Programmierung Funktionale Programmierung Programm als partielle Funktion von Eingabe- und Ausgabedaten Ausführung durch Anwendung der Funktion auf die Eingabe Deklaration von Datentypen und Funktionen, evt. auch geschachtelt Ermöglicht die Nutzung komplexer Datenstrukturen ohne Zeiger und Variablen Bsp.

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Deklarative Programmierung Funktionale Programmierung Ein in waagerechter Richtung abgeworfener Körper führt zwei unabhängige Bewegungen zu gleicher Zeit aus: eine Bewegung mit konstanter Geschwindigkeit v0 in horizontaler Richtung (1) eine beschleunigte Bewegung in vertikaler Richtung (2) Die durch Gleichsetzen von Gleichung (1) und (2) nach der Zeit t entstehende resultierende Bewegung entspricht einer Kurve, der Wurfparabel (3): (3) ha = Fallhöhe, s = Wurfweite, g = Erdbeschleunigung.

Das Beispiel als Haskell-Code Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Deklarative Programmierung Funktionale Programmierung Das Beispiel als Haskell-Code sq::Int sq y=y*y fallhoehe :: Int -> Real -> Int fallhoehe sgv = sq s * g / 2 * sq v e1 :: Real e1 = fallhoehe 5 9.81 10

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Deklarative Programmierung Funktionale Programmierung Logische Programmierung Programm als partielle Funktion von Eingabe- und Ausgabedaten Ausführung durch Anwendung der Funktion auf die Eingabe Deklaration von Datentypen und Funktionen, evt. auch geschachtelt Ermöglicht die Nutzung komplexer Datenstrukturen ohne Zeiger und Variablen Bsp. Programm als Sammlung von Fakten und Folgerungs-beziehungen, an die Fragen gestellt werden können Ausführung sucht Antworten auf solche Fragen Nutzt formale Logik, um Fakten und Zusammenhänge zu beschreiben Bsp.

Ein Beispiel im Prolog-Code Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Deklarative Programmierung Logische Programmierung Ein Beispiel im Prolog-Code istBlume( Rose ). blüht(x) :- istBlume(x). blüht( Rose )? ja blüht( Salat )? nein

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Deklarative Programmierung Funktionale Programmierung Logische Programmierung Programm als partielle Funktion von Eingabe- und Ausgabedaten Ausführung durch Anwendung der Funktion auf die Eingabe Deklaration von Datentypen und Funktionen, evt. auch geschachtelt Ermöglicht die Nutzung komplexer Datenstrukturen ohne Zeiger und Variablen Bsp. Programm als Sammlung von Fakten und Folgerungs-beziehungen, an die Fragen gestellt werden können Ausführung sucht Antworten auf solche Fragen Nutzt formale Logik, um Fakten und Zusammenhänge zu beschreiben Bsp. Weitere Form Deklarativer Programmierung: relationale Datenbank-Programmierung

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Objektorientierte Programmierung Vorgänge werden durch handelnde Individuen (Instanzen oder„Objekte“) modelliert, die Aufträge erledigen und vergeben können. Nachricht => Auftragserteilung. Instanziierung Ein Objekt ist die Instanz einer Klasse In der Klasse werden alle Variablen und Methoden definiert, davon können dann Instanzen abgeleitet werden Jede Instanz hat eine eigene Kopie der Variablen, die in der Klasse definiert sind (Instanzvariable) Aus einer Klasse können beliebig viele Instanzen erzeugt werden Kapselung -> Daten und Methoden in einer Klasse, wahlweise nach außen sichtbar

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Objektorientierte Programmierung Nachricht => Auftragserteilung. Hunger!

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Objektorientierte Programmierung Vorgänge werden durch handelnde Individuen (Instanzen oder„Objekte“) modelliert, die Aufträge erledigen und vergeben können. Nachricht => Auftragserteilung. Methode => Auftragsdurchführung.

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Objektorientierte Programmierung Methode => Auftragsdurchführung. Hunger!

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Objektorientierte Programmierung Vorgänge werden durch handelnde Individuen (Instanzen oder„Objekte“) modelliert, die Aufträge erledigen und vergeben können. Nachricht => Auftragserteilung. Methode => Auftragsdurchführung. Klassifikation => hierarchische Zusammenfassung von Objekten gleicher Eigenschaften.

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Objektorientierte Programmierung Klassifikation => hierarchische Zusammenfassung von Objekten gleicher Eigenschaften.

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Objektorientierte Programmierung Vorgänge werden durch handelnde Individuen (Instanzen oder„Objekte“) modelliert, die Aufträge erledigen und vergeben können. Nachricht => Auftragserteilung. Methode => Auftragsdurchführung. Klassifikation => hierarchische Zusammenfassung von Objekten gleicher Eigenschaften. Vererbung => Eigenschaften übergeordneter Hierarchie-Ebenen werden auch nachgeordneten zugeordnet.

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Objektorientierte Programmierung Vererbung => Eigenschaften übergeordneter Hierarchie-Ebenen werden auch nachgeordneten zugeordnet.

Objektorient. Programm. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Objektorientierte Programmierung Lösungsansatz: Hecht im Forellenteich Klassen Teich Fisch Forelle Hecht Methoden GetTemperatur(private) Fressen (public), Fressen von Wasserflöhen Fressen von Kleinfischen Fressen von Forellen Fressen von Entenküken Eigenschaften Größe, Temperatur,... Hunger, Geruch, Wo? Menge in g Anzahl Gewicht in g

Entwicklung von Simulationsmodellen Paradigmen der Programmierung Prozedurale Programmierung Deklarative Programmierung Funktionale Programmierung Logische Programmierung Objektorientierte Programmierung In der heutigen Vorlesung habe ich Ihnen einen Überblick über die wichtigsten Programmier-Paradigmen gegeben. weiteren detaillierteren Einführung: Vorlesungen in der Angewandten Informatik. Obwohl gegenüber der objektorientierten Programmierung das ältere Paradigma hat die prozedurale Programmierung auch heute noch ihre Anwendungsbereiche. Insbesondere in der Physik und den Ingenieurwissenschaften wird auch heute noch häufig Pascal oder Fortran eingesetzt. Hier macht sich einerseits die Trennung von Methode und Information als auch die damit möglich hohe Rechengeschwindigkeit bemerkbar. Funktionale Programmiersprachen werden Ihnen dort begegnen wo etwa umfangreiche Differentialgleichungssystem zu modellieren sind, während Ihnen im Zusammenhang mit den verschiedenen Datenbanken häufiger Logische Programmiersprachen begegnen werden. Schließlich werden Sie heutzutage am häufigsten mit objektorientierten Sprachen wie Java oder C++ zusammentreffen. Dies kann einerseits in Ihrem Problem, etwa der Modellierung der Interaktion von Objekten aber auch an der Implementation von Interaktionen von Programm und Nutzer begründet sein.