Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Entwicklung von Simulationsmodellen WS 2007/08 Dr. Falk-Juri Knauft Mittwoch 9.15 Uhr – 10.00 Uhr S25 Praktikum zur Entwicklung von Simulationsmodellen:

Ähnliche Präsentationen


Präsentation zum Thema: "Entwicklung von Simulationsmodellen WS 2007/08 Dr. Falk-Juri Knauft Mittwoch 9.15 Uhr – 10.00 Uhr S25 Praktikum zur Entwicklung von Simulationsmodellen:"—  Präsentation transkript:

1 Entwicklung von Simulationsmodellen WS 2007/08 Dr. Falk-Juri Knauft Mittwoch 9.15 Uhr – Uhr S25 Praktikum zur Entwicklung von Simulationsmodellen: Mittwoch Uhr – Uhr GEO CIP-Pool Modul: 22a

2 Entwicklung von Simulationsmodellen WS 2007/2008 – Überblick I Einführung, Ziele, Definition System, Model Systemanalyse vs. –simulation, Zustandsbeschreibung Diskretisierung, Auswertung der Excel-Simulation Programmierparadigmen

3 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) Paradigmen der Programmierung

4 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 Motivation: MotivationDef. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm.

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

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

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

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

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

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

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

12 Definition Algorithmus MotivationDef. Algorithmus Prozedurale Programm. Deklarative Programm. Objektorient. Programm.

13 Prozedurale Programmierung Modellierung der VerarbeitungModellierung der Information 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 MotivationProzedurale Programm. Def. Algorithmus Deklarative Programm. Objektorient. Programm.

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

15 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 MotivationProzedurale Programm. Def. Algorithmus Deklarative Programm. Objektorient. Programm. Deklarative Programmierung

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

17 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. Funktionale Programmierung Deklarative Programmierung MotivationProzedurale Programm. Def. Algorithmus Deklarative Programm. Objektorient. Programm.

18 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 Deklarative Programmierung Funktionale Programmierung MotivationProzedurale Programm. Def. Algorithmus Deklarative Programm. Objektorient. Programm.

19 Funktionale ProgrammierungLogische 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. Deklarative Programmierung MotivationProzedurale Programm. Def. Algorithmus Deklarative Programm. Objektorient. Programm.

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

21 Funktionale ProgrammierungLogische 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 Deklarative Programmierung MotivationProzedurale Programm. Def. Algorithmus Deklarative Programm. Objektorient. Programm.

22 Nachricht => Auftragserteilung. Vorgänge werden durch handelnde Individuen (Instanzen oderObjekte) modelliert, die Aufträge erledigen und vergeben können. Objektorientierte Programmierung MotivationProzedurale Programm. Def. Algorithmus Deklarative Programm. Objektorient. Programm.

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

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

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

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

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

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

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

30 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 Objektorientierte Programmierung MotivationProzedurale Programm. Def. Algorithmus Deklarative Programm. Objektorient. Programm.

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


Herunterladen ppt "Entwicklung von Simulationsmodellen WS 2007/08 Dr. Falk-Juri Knauft Mittwoch 9.15 Uhr – 10.00 Uhr S25 Praktikum zur Entwicklung von Simulationsmodellen:"

Ähnliche Präsentationen


Google-Anzeigen