Arrays, Simulieren und Modellieren

Ähnliche Dokumente
Sortierverfahren für Felder (Listen)

Programmieren I. Kapitel 7. Sortieren und Suchen

Grundlegende Sortieralgorithmen

Übungsblatt 1. f(n) = f(n) = O(g(n)) g(n) = O(f(n)) Zeigen oder widerlegen Sie: 3 n = Θ(2 n ) Aufgabe 1.2 Gegeben sei die folgende Funktion:

Folge 13 - Quicksort

JAVA - Suchen - Sortieren

Einführung in die Informatik I Kapitel II.3: Sortieren

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.

Übungspaket 19 Programmieren eigener Funktionen

Institut fu r Informatik

Lösung zur Übung 19 SS 2012

1. Allgemeine Hinweise

1 Vom Problem zum Programm

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)

Illustrierende Aufgaben zum LehrplanPLUS. Realschule, Informationstechnologie, Lernbereich 1: Modul 1.6. Sparziel Kleinwagen. Stand:

Leitprogramm Bubblesort

Fragen für die Klausuren

ECDL - Core. Modul 4 Tabellenkalkulation. Arbeitsblätter für Schüler mit praktischen Übungen zu allen Lernzielen des Syllabus 5

Abschnitt: Algorithmendesign und Laufzeitanalyse

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Wintersemester 2004/ November T(n) = T(n a) + T(a) + n

Musterlösung Arbeitsblatt 2 - Wachstum und Easy ModelWorks

Exponentielles Wachstum

Auswertung von Messdaten mit Hilfe von Microsoft Excel Universität Potsdam Grundpraktikum Physik Monika Schneider, WS2010/2011

Beispiel: Evolution infizierter Individuen

Bearbeitungszeit: 120 Minuten. Kommentare kosten Zeit; kommentieren Sie ihr Programm nur da, wo der Code alleine nicht verständlich wäre.

Vorkurs Informatik WiSe 15/16

Wirtschaftsinformatik I

Tutorial Excel Übung 1&2 Kartenverkauf -1- Kartenverkauf Die Aufgabenstellung ist der folgenden URL zu entnehmen: Übung1&2.

Ihr Heimatverzeichnis. Die Ausgangsverzeichnisse für die neu zu erstellenden Verzeichnisse sind folgender Tabelle zu entnehmen:

Tag 9: Datenstrukturen

Einstieg in die Informatik mit Java

=ZÄHLENWENN Zählt die nichtleeren Zellen eines Bereiches, deren Inhalte mit den Suchkriterien übereinstimmen

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Gruppenunterricht zum Thema: Sortierverfahren. Berufsschule / Gymnasium

Studentische Lösung zum Übungsblatt Nr. 7

Praktikum Physik Radioaktivität 13GE RADIOAKTIVITÄT VERSUCHSAUSWERTUNG

- Nachrichten organisieren

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Sortieren. Eine Testmenge erstellen

Arbeiten mit Excel. 1. Allgemeine Hinweise

Dierentialgleichungen 2. Ordnung

Algorithmen & Datenstrukturen 1. Klausur

Kreuze nur die zutreffenden Eigenschaften für die folgenden Funktionen im richtigen Feld an!

profil datenreporter das sollte ich können...

Selbstdiagnosebogen zu Exponentialfunktionen

Datenstrukturen und Algorithmen

3.4 Histogramm, WENN-Funktion

Anleitung zum Applet

Anleitung: Standardabweichung

Dokumentation. estat Version 2.0

Seite 1 von 10. Makros. Variablen. Bedingungen. Musterteil. E:\Projekt Makros\Makro Beschreibung.odt

EXCEL-TIPPS (NICHT NUR) FÜR CONTROLLER

Algorithmik Übung 3 Prof. Dr. Heiner Klocke. Sortierfolge nach Werten: Bube Dame König As nach Farben: Karo ( ) Herz ( ) Piek ( ) Kreuz ( )

Linearer Zusammenhang von Datenreihen

Schnellübersichten. Access 2016 Grundlagen für Datenbankentwickler

Einige grundsätzliche Überlegungen:

Experte. I-CH-118 Strukturiert implementieren

Untersuchen Sie, inwiefern sich die folgenden Funktionen für die Verwendung als Hashfunktion eignen. Begründen Sie Ihre Antwort.

K2 - Klausur Nr. 2. Wachstumsvorgänge modellieren mit der Exponentialfunktion. keine Hilfsmittel gestattet, bitte alle Lösungen auf dieses Blatt.

Stoffverteilung Mathematik Klasse 9 auf Basis der Bildungsstandards 2004

Übrigens: um den Algorithmus im Unterricht einzuführen, sind keine Formeln notwendig! Warum reicht die normale ASCII-Codierung nicht aus?

Standardmäßig (wenn gerade kein Fenster im Programm geöffnet ist) stehen folgende Möglichkeiten zur Verfügung:

Benutzerhandbuch VSB Haushaltsplaner 1.0.0

Sortieren durch Einfügen. Prof. Dr. W. Kowalk Sortieren durch Einfügen 1

Programmiertechnik II

Statistik mit Tabellenkalkulation

Excel mit Gesten steuern

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Aufgaben. zu Inhalten der 5. Klasse

Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung

Informatik II Musterlösung

b) Bestimmen Sie die Varianz der beiden Schätzer. c) Ist ein oder sind beide Schätzer konsistent? Begründen Sie!

Inhaltsverzeichnis. Ingo R. Dölle / Seite 1 von 5

Automatisieren mit Makros

1. Grundlagen Sortieren Vertauschen Selektion Einfügen Quicksort Suchen...

Appendix A: Grundlagen der Populationsbiologie

6 DATENBANKEN Datenbank. mit Spaltenüberschriften,

Baustein 14. Vokabelheft. Neue Datensätze in einer einfachen Datenbank erzeugen Daten in Datensätze eingeben Datensätze sortieren Datensätze filtern

Tabellenkalkulationsprogramm EXCEL

Lernrückblick. 1 a) Ich weiß, wie ich ein Schrägbild in der Kabinettprojektion zeichne: 2 a) Ich kann einen Körper aus folgenden Ansichten zeichnen:

Der Bipolar-Transistor und die Emitterschaltung Gruppe B412

Etwas Spezielles: Zielwertsuche und Solver. Zielwertsuche

Anleitung zur Erstellung von Diagrammen in Excel

Abnehmer der Erzeugnisse (Output) Werk 1 Werk 2 Werk 3 Markt Werk Hersteller der Erzeugnisse

Übung 9 - Lösungsvorschlag

1 Zahlentheorie. 1.1 Kongruenzen

Lage- und Streuungsparameter

Ein einfaches Modell des Immobilienmarktes II Immobilien- und Baumarkt Allgemeines Gleichgewicht

Standardisierte kompetenzorientierte schriftliche Reifeprüfung. Mathematik. Korrekturheft zur Probeklausur März 2014.

R. Brinkmann Seite Anwendungen der Exponentialfunktion

Die ABC/XYZ Analyse Prioritäten erkennen, schnell und effizient handeln

1. Schularbeit R

Sort n Rename. Einführung Dateien laden Dateien sortieren. Thumbnails & individuelle. Reihenfolge

4 Algorithmen und Datenstrukturen

Ein Tabellenverfahren zur Lösung linearer Gleichungssysteme

Export von Schülerdaten für andere Programme

Excel ein Tabellenprogramm

Übungen zu Programmierung I - Blatt 8

Transkript:

Programmieren mit Python Modul 3 Arrays, Simulieren und Modellieren Selbstständiger Teil Inhaltsverzeichnis 1 Überblick 3 2 Teil A: Simulation biologischer Modelle 3 2.1 Simulation der Populationsdynamik nach dem Lotka-Volterra-Modell.. 3 2.2 Simulation des Populationswachstums von Kaninchen........... 5 2.2.1 Zwischenschritte........................... 5 2.3 Simulation von zwei konkurrierenden Populationen............ 6 2.3.1 Zwischenschritte........................... 7 3 Teil B: Such- und Sortieralgorithmen 8 3.0.1 Vorbereitendes............................ 8 3.0.2 Pollendaten.............................. 8 3.1 Suchalgorithmen............................... 9 3.1.1 Aufgaben............................... 9 3.1.2 Erweiterungen............................. 9 3.2 Sortieralgorithmen.............................. 10 3.2.1 Aufgaben............................... 10 3.2.2 Erweiterungen............................. 10 4 Bedingungen für die Präsentation 10

Begriffe Array Array-Index Array-Länge Array-Dimension Array-Durchlauf Modell Simulation Parameter Binäre Suche Bubble-Sort Autoren: Lukas Fässler E-Mail: et@ethz.ch Datum: 07 August 2017 Version: 1.1 Hash: a9ee87a Trotz sorgfältiger Arbeit schleichen sich manchmal Fehler ein. Die Autoren sind Ihnen für Anregungen und Hinweise dankbar! Dieses Material steht unter der Creative-Commons-Lizenz Namensnennung - Nicht kommerziell - Keine Bearbeitungen 4.0 International. Um eine Kopie dieser Lizenz zu sehen, besuchen Sie http://creativecommons.org/licenses/by-nc-nd/4.0/deed.de 2

1 Überblick Der selbstständige Teil dieses Moduls besteht aus zwei Teilen: Teil A: Simulation biologischer Modelle Teil B: Such- und Sortieralgorithmen 2 Teil A: Simulation biologischer Modelle Wenn Tiere verschiedener Arten den gleichen Lebensraum besiedeln, können sie in Konkurrenz zueinander stehen, in einer Symbiose oder einer Räuber-Beute-Beziehung sein. Sie werden in dieser Projektaufgabe mit einem Python-Programm die Populationsdynamik zwischen zwei Tierarten simulieren, die um Nahrung konkurrieren. Konkurrenz tritt dann auf, wenn verschiedene Arten auf gleiche Ressourcen (z.b. Nahrung oder Nistplätze) angewiesen sind. Ein bekanntes Beispiel dazu wäre die Kaninchenplage in Australien, wo in den 1930er-Jahren ein paar Kaninchen ausgesetzt wurden. Da diese in Australien keine natürlichen Feinde besitzen, haben sich die Kaninchen explosionsartig vermehrt. Die Population besteht inzwischen aus mehreren Millionen Tieren. Für die einheimischen Kängurus wurde die grosse Zahl der Kaninchen zu einem populationsdezimierenden Problem, weil die Kaninchen ihnen praktisch die gesamte Nahrung weggefressen haben. Ausgehend vom Lotka-Volterra-Modell der Populationsdynamik sind zwei Teilaufgaben zu lösen: Simulation des Populationswachstums einer Tierart (z.b. Kaninchen). Simulation von zwei konkurrierenden Populationen (z.b. Kaninchen und Kängurus). 2.1 Simulation der Populationsdynamik nach dem Lotka-Volterra-Modell Folgende Faktoren spielen gemäss einem Modell von Lotka und Volterra für die Populationsdynamik in einem natürlichen Lebensraum eine Rolle: Die Kapazität, der Gewichtungsfaktor, die Vermehrungsrate sowie die Anzahl Tiere (siehe Tabelle 1). Diese Faktoren werden die Eingabedaten für die Simulation sein. Daraus soll Ihr Python- Programm die Populationsgrössen im Laufe der Zeit als abgeleitete Daten (Sekundärdaten) automatisch berechnen. Dafür benötigen Sie einige Formeln, die im folgenden Abschnitt hergeleitet werden. Abgeleitete Daten: Populationsgrössen verändern sich mit der Zeit Bei einem unbeschränkten Nahrungsangebot und ohne Konkurrenz hängt das Populati- 3

Faktor Kapazität K Gewichtungsfaktor α Vermehrungsrate v Anzahl Tiere N Erklärung Anzahl Tiere, welche eine Region verkraften kann. In unserer zweiten Simulation soll die Kapazität von der vorhandenen Nahrungsmenge abhängig sein. Verhältnis der Konkurrenz zwischen den Arten. Beispiel: α = 5 bedeutet, dass eine Tierart 5-mal mehr frisst als eine andere Tierart. Beschreibt, wie stark sich die Population in einem Zeitintervall vermehrt. Beispiel: v = 20% bedeutet, dass sich die Population in einem Zeitinterall um 20% vergrössert. Anzahl Tiere in einer Population. Tabelle 1: Faktoren des Lotka-Volterra-Modells. onswachstum vor allem von der Vermehrungsrate v ab. Der Zuwachs pro Zeitintervall wäre dann v N Bei beschränktem Nahrungsangebot wird dieses Wachstum durch die Kapazitätsgrenze K des Lebensraums eingeschränkt. Die Anzahl Tiere, welche die Region noch verkraften kann, ist K N. Relativ zur Kapazität ausgedrückt ist dies K N K Zusammenfassend ist der Zuwachs pro Zeiteinheit durch folgende Gleichung gegeben: ( ) dn K N dt = v N K In der Populationsdynamik von natürlichen und sich selbst regulierenden Lebensräumen können daher drei Fälle unterschieden werden: N < K: K N ist positiv. Das Wachstum ist exponentiell. Es wird durch die Vermehrungsrate bestimmt. N = K: Es gibt kein Wachstum mehr, weil die Region keine weiteren Tiere mehr verkraften kann. 4

N > K: K N ist negativ. Die Region ist überlastet, die Anzahl Tiere wird sich verringern. 2.2 Simulation des Populationswachstums von Kaninchen In der ersten Aufgabe sollen Sie die Populationsdynamik einer Art simulieren (z.b. Kaninchen), die sich selbst überlassen ist und durch kein anderes System mitreguliert wird. Es besteht also z.b. keine Konkurrenz mit einer anderen Spezies. Die Anzahl der Kaninchen zu jedem Zeitpunkt t kann folgendermassen beschrieben werden: ( ) K Nt 1 N t = N t 1 + v N t 1 K Das heisst, dass die Anzahl Tiere zum Zeitpunkt t der Summe aus der Anzahl Tiere einen Zeitpunkt vorher plus der Zu- oder Abnahme entspricht. 2.2.1 Zwischenschritte a) Ausgangsparameter festlegen Legen Sie in einem neuen Python-Programm folgende Ausgangswerte fest: Kapazität K: 50 Vermehrungsrate v: 50% Länge der Simulation laenge: 30 b) Arrays bereitstellen Stellen Sie zwei Datenreihen (Arrays) der Grösse laenge (also 30) bereit: Zeit (z.b. t) Anzahl Kaninchen (z.b. N) c) Anfangswerte der beiden Arrays setzen Setzen Sie die Anfangswerte der beiden Arrays (Elemente mit Index 0). t 0 = 0 N 0 = 2.0 d) Durchlauf durch die Arrays organisieren Organisieren Sie den Durchlauf durch die beiden Arrays (Index 1 bis laenge 1). e) Eingabe der Formeln Erstellen Sie die Formeln zur Berechnung der Werte des Arrays Zeit (t). des Arrays Anzahl Kaninchen (N). 5

f) Visualisierung erstellen Geben Sie die berechneten Werte in der Konsole aus und visualisieren Sie die Veränderungen der Populationsgrösse in einem aussagekräftigen Diagramm. Hinweis: Achten Sie darauf, dass Ihr Diagramm mit dem Zeitpunkt 0 beginnt. die Diagramm-Achsen beschriftet sind. g) Simulieren und Interpretieren der Resultate Beobachten Sie, wie sich das Wachstum der Population in Ihrer erstellten Simulation verhält. 2.3 Simulation von zwei konkurrierenden Populationen Als zweite Aufgabe werden Sie die Populationsdynamik zweier Arten betrachten, die sich durch Konkurrenz gegenseitig regulieren. Der Gewichtungsfaktor α gibt das Verhältnis der Konkurrenz zwischen diesen zwei Tierarten an. Da in unserem Fall die Nahrungsmenge den Konkurrenzgrund zwischen Kaninchen und Kängurus darstellt, bedeutet der Gewichtungsfaktor, dass die Kängurus α-mal mehr fressen als die Kaninchen. Die Gesamtkapazität des Lebensraumes ist in diesem Fall von zwei Tierarten abhängig. Um zu berechnen, wie viele Kaninchen die Region noch verkraften kann, muss von der Gesamtkapazität nicht nur die Anzahl Kaninchen subtrahiert werden, sondern auch die Anzahl Kängurus. Da ein Känguru so viel zählt wie α Kaninchen, ist die verbleibende Kapazität in Kaninchen- Einheiten K Kaninchen N Kaninchen N Kängurus α Wir können also den Zuwachs der Kaninchen folgendermassen formulieren: dn Kaninchen dt ( ) KKaninchen N Kaninchen N Kängurus α = v Kaninchen N Kaninchen K Kaninchen Entsprechend ist die verbleibende Kapazität in Känguru-Einheiten K Kängurus N Kaninchen /α N Kängurus und der Zuwachs an Kängurus ist gegeben durch dn Kängurus dt = v Kängurus N Kängurus ( ) KKängurus N Kaninchen /α N Kängurus K Kängurus 6

Um die Anzahl Tiere zu einem Zeitpunkt t zu berechnen, brauchen Sie lediglich die Anzahl Tiere und den Zuwachs einen Zeitschritt vorher zusammenzuzählen: N t = N t 1 + Zuwachs t 1 2.3.1 Zwischenschritte a) Ausgangsparameter festlegen Legen Sie in einem neuen Python-Programm folgende Ausgangswerte fest: Kapazität K Kaninchen : 50 Kapazität K Kängurus : 10 Vermehrungsrate v Kaninchen : 50% Vermehrungsrate v Kängurus : 10% Gewichtungsfaktor α: 5 Länge der Simulation laenge: 20 b) Arrays bereitstellen Stellen Sie fünf Datenreihen (Arrays) der Grösse laenge (also 20) bereit: Zeit (z.b. t) Anzahl Kaninchen (z.b. NKan) Anzahl Kängurus (z.b. NKae) Zuwachs Kaninchen (z.b. ZKan) Zuwachs Kängurus (z.b. ZKae) c) Anfangswerte der Arrays setzen Setzen Sie die Anfangswerte der fünf Arrays (Elemente mit Index 0): t 0 = 0 NKan 0 = 2.0 NKae 0 = 5.0 ZKan 0 = gemäss Formel oben ZKaen 0 = gemäss Formel oben d) Durchlauf durch die Arrays organisieren Organisieren Sie den Durchlauf durch alle Arrays (Index 1 bis 19). e) Eingabe der Formeln Erstellen Sie die Formeln zur Berechnung der Werte des Arrays Zeit (t). Die Skala beträgt 1 (z.b. Monat). der Arrays der Anzahl Kaninchen (NKan) und Anzahl Kängurus (NKae). der Arrays des Zuwachses der Kaninchen (ZKan) und des Zuwachses der Kaengurus (ZKae). 7

f) Visualisierung erstellen Geben Sie die berechneten Werte in der Konsole aus und stellen Sie die Resultate der Simulation wieder in einem aussagekräftigen Diagramm dar. Wie bringe ich zwei Datenreihen in ein Diagramm? plot(t,a,t,b) # x-achse für beide Datenreihen t. # y-achse für zwei Datenreihen a und b. g) Simulieren und Interpretieren der Resultate Testen Sie mit Ihrer Simulation verschiedene Situationen. Verändern Sie die Werte der Eingabedaten (Kapazität, Anzahl Tiere, Vermehrungsrate). Was passiert beispielsweise, wenn Sie den Gewichtungsfaktor verdoppeln? 3 Teil B: Such- und Sortieralgorithmen Das Suchen in gesammelten Daten und das Sortieren von Daten sind zwei der häufigsten Aufgaben, mit denen sich ein Programmierer konfrontiert sieht. Zu diesen Themen gibt es mittlerweile unzählige Bücher, denn da Such- und Sortieralgorithmen so oft verwendet werden, ist es besonders wichtig, dass sie so effizient wie möglich programmiert werden. Ferner gibt es eine grosse Anzahl von Strategien, die verfolgt werden können, um einen Sortieralgorithmus umzusetzen. In den Entwurf und die Analyse dieser Algorithmen wurde seit Mitte des zwanzigsten Jahrhunderts viel Energie gesteckt. Wir werden hier nur eine kleine Auswahl kennenlernen. 3.0.1 Vorbereitendes Laden Sie das Ausgangsprogramm Pollen.py auf Ihren Rechner. Studieren Sie das Programm. 3.0.2 Pollendaten Die Datei Pollen.py enthält 122 Messwerte für Gräserpollen (Anzahl Pollen pro Kubikmeter Luft). Hierbei handelt es sich Tagesmittelwerte vom 01.03. bis 30.06.2015 in Zürich. 8

3.1 Suchalgorithmen Es gibt, wie oben erwähnt, verschiedene Suchalgorithmen, die sich in ihrem Aufbau und ihrer Effizienz unterscheiden. Die bekanntesten sind die lineare und die binäre Suche. Wir wollen hier die lineare Suche betrachten. So funktioniert die lineare Suche Eine Menge von Elementen (z.b. ein Array) wird nach einem bestimmten Element durchsucht. Die Suche beginnt beim ersten Element, und die Elemente werden in der Reihenfolge durchlaufen in der sie abgespeichert sind. Entspricht das betrachtete Element dem gesuchten Element, wird die Suche beendet, ansonsten wird weiter gesucht. 3.1.1 Aufgaben Durchsuchen Sie das Array nach dem höchsten Wert und geben Sie den Wert und die Position der Daten in der Konsole aus. So könnte Ihre Ausgabe aussehen: Laenge: 122 Maximum: 320 Datum: 21.05.2015 So wird nach dem maximalen Wert gesucht Die Position des (momentanen) Maximums wird in der Variablen max gespeichert. Zuerst wird das erste Element des Arrays als das Maximum angenommen. Es werden nun alle Elemente des Arrays (ausser des ersten) durchlaufen. Ist der Wert des Feldes an der momentanen Position grösser als das bisher angenommene Maximum, dann wird diese Position in max gespeichert. 3.1.2 Erweiterungen Suchen Sie den Pollenwert, der am 07.06.2015 gemessen wurde. Überlegen Sie sich, was passiert, wenn der gesuchte Wert mehr als einmal vorkommt. Wie müsste ihr Programm darauf reagieren? Wie beurteilen Sie den Suchaufwand? Haben Sie Ideen für eine Optimierung? 9

3.2 Sortieralgorithmen Das Ziel von Sortieralgorithmen ist es, die Elemente einer Menge nach einem bestimmten Kriterium zu sortieren. Nach dem Sortieren liegen die Elemente in aufsteigender oder absteigender Reihenfolge vor. Es gibt verschiedene Sortieralgorithmen, die sich in ihrem Aufbau und ihrer Effizienz unterschieden. Die bekanntesten sind Bubble-Sort, Insertion-Sort, Merge-Sort und Quick- Sort. So funktioniert Bubble-Sort (für eine aufsteigende Sortierung, siehe Abbildung 1) 1. Es werden jeweils zwei benachbarte Elemente eines Arrays verglichen. Begonnen wird mit den Elementen mit dem Index 0 und 1, dann 1 und 2, dann 2 und 3 etc. 2. Wenn der Wert des linken Elements grösser ist als der Wert des rechten, werden die beiden Werte vertauscht. Hinweis: Vorsicht swap. 3. Mit einem Arraydurchlauf wandert so das grösste Element ans Ende des Arrays. 4. Nun werden die Schritte 1 bis 3 wiederholt, um das zweitgrösste Element an die zweitletzte Position zu bringen. Hinweis: Der Vergleich des zweitletzten Elements mit dem letzten entfällt, da das letzte das grösste ist. 5. Die Schritte 1 bis 4 werden so lange wiederholt, bis die zwei kleinsten Elemente miteinander verglichen werden. 3.2.1 Aufgaben Implementieren Sie den Bubble-Sort-Algorithmus für den Array list (Gräserpollendaten in Pollen.py), so dass die Werte auf- oder absteigend sortiert dargestellt werden. 3.2.2 Erweiterungen Geben Sie zu jedem Eintrag der sortierten Pollendaten-Liste das zugehörige Datum aus. Wie könnte die Effizienz von Bubble-Sort erhöht werden? 4 Bedingungen für die Präsentation Führen Sie einer Assistentin oder einem Assistenten die erstellten Programme (Populationswachstum, Konkurrenz und Bubble-Sort) am Bildschirm vor und diskutieren Sie die durch die Simulation erzeugten Resultate. 10

Abbildung 1: Beispiel für Bubble-Sort. Details siehe Text. 11

Überlegen Sie sich, wie Sie einem Laien folgende Fragen erklären würden: Wie werden Elemente von Arrays adressiert? Wie funktioniert ein Arraydurchlauf? Welche Elemente gehören zu einer Simulation? Verändern Sie die Eingabedaten und kommentieren Sie die Auswirkungen in der Simulation. Wo liegen die Grenzen der simulierten Modelle? Wie funktioniert die lineare Suche und Bubble-Sort? Die Begriffe dieses Kursmoduls sollten Sie mit einfachen Worten erklären können. 12