1 / 31

Entwicklung von Simulationsmodellen

Mittwoch 9.15 Uhr – 10.00 Uhr S25 Praktikum zur Entwicklung von Simulationsmodellen: Mittwoch 14.00 Uhr – 17.00 Uhr GEO CIP-Pool. Entwicklung von Simulationsmodellen. Modul: 22a. http://www.bayceer.uni-bayreuth.de/mod/html/ws0708/geooekologie/simulationsmodelle. WS 2007/08

tad-harper
Download Presentation

Entwicklung von Simulationsmodellen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mittwoch 9.15 Uhr – 10.00 Uhr S25 Praktikum zur Entwicklung von Simulationsmodellen: Mittwoch 14.00 Uhr – 17.00 Uhr GEO CIP-Pool Entwicklung von Simulationsmodellen Modul: 22a http://www.bayceer.uni-bayreuth.de/mod/html/ws0708/geooekologie/simulationsmodelle WS 2007/08 Dr. Falk-Juri Knauft

  2. Entwicklung von Simulationsmodellen WS 2007/2008 – Überblick I http://www.bitoek.uni-bayreuth.de/mod/html/ws0708/geooekologie/simulationsmodelle http://www.bayceer.uni-bayreuth.de/mod/html/ws0708/geooekologie/simulationsmodelle

  3. Paradigmen der Programmierung • Motivation • Definition Algorithmus • Prozedurale Programmierung • Deklarative Programmierung • Funktionale Programmierung • Logische Programmierung • Objektorientierte Programmierung 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)

  4. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. • 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. Motivation: Problem 1

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

  6. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. • 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. Motivation: Problem 1 Problem 2

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

  8. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. • 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. Motivation: Problem 1 Problem 2 Problem 3

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

  10. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. • 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. Motivation: Problem 1 Problem 2 Problem 3 Problem 4

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

  12. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Definition Algorithmus

  13. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. 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

  14. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. 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 Prozedurale Programmierung Prozedur B:if i=1 then set c=blau Prozedur A:set i = i+1 Zustand 1:Variable int i=0Variable color c=grau Zustand 2:i=1c=grau Zustand 3:i=1c=blau

  15. 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

  16. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Funktionale Programmierung Deklarative 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.

  17. 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.

  18. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Deklarative Programmierung Das Beispiel als Haskell-Code Funktionale Programmierung 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

  19. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Funktionale Programmierung Logische Programmierung Deklarative 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.

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

  21. Motivation Def. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm. Funktionale Programmierung Logische Programmierung Deklarative 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

  22. 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.

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

  24. 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.

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

  26. 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.

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

  28. 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.

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

  30. 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 • Gewicht in g

  31. Entwicklung von Simulationsmodellen Paradigmen der Programmierung • Prozedurale Programmierung • Deklarative Programmierung • Funktionale Programmierung • Logische Programmierung • Objektorientierte Programmierung

More Related