Verwaltung von Daten mit Variablen
Automatisierung der Berechnungen
Ziel ist es, die Berechnungen zur Populationsentwicklung von Python ausführen zu lassen.
Wir betrachten erst einmal den Fall, dass sich die Kaninchen ohne den Räuber Fuchs vermehren. Die Berechnungen werden nach folgender Berechnungsformel durchgeführt:
neueAnzahlKaninchen = anzahlKaninchen + zuwachsrateKaninchen*anzahlKaninchen 1080 = 1000 + 0.08 * 1000
Hier eine mögliche Umsetzung von mehreren Berechnungsschritten mit Python:
Aufgabe 1
(a) Klicke wiederholt auf die Schaltfläche [Forward]. Erkläre, was Python hier jeweils erzeugt.
(b) Ändere den Quelltext so ab, dass die Entwicklung der Fuchspopulation (ohne die Kaninchen als Beute) simuliert wird.
(c) Simuliere analog auch die Entwicklung der gemeinsamen Kaninchen-Fuchs-Population. Konktrolliere die Werte, indem du sie mit den selbst berechneten vergleichst.
(d) Wie würde man eine 10-Schritt-Simulation erhalten?
Eine Funktion zur Ausführung der Berechnungen
Die oben gezeigten Berechnungen lassen sich auch von einer hierfür vorgesehenen Funktion ausführen.
Funktionsdefinition:
def popKa5Schritte(anzKa, zKa):
anzKa0 = anzKa
anzKa1 = anzKa0 + zKa*anzKa0
anzKa2 = anzKa1 + zKa*anzKa1
anzKa3 = anzKa2 + zKa*anzKa2
anzKa4 = anzKa3 + zKa*anzKa3
anzKa5 = anzKa4 + zKa*anzKa4
return anzKa5
Funktionsaufrufe:
>>> popKa5Schritte(1000, 0.08)
1469.3280768
>>> popKa5Schritte(500, 0.2)
1244.1599999999999
Aufgabe 2
(a) Teste selbst die Funktion mit mehreren Funktionsaufrufen. Beschreibe das Verhalten der Funktion mit einem Black-Box-Diagramm.
(b) Hier kannst du die Ausführung eines Funktionsaufrufs Schritt für Schritt nachvollziehen. Erkläre alle Schritte.
(c) Entwickle eine Funktion popKaFu5Schritte
, mit der man die Entwicklung eines Kaninchen-Fuchs-Systems
simulieren kann. Teste die Funktion mit geeigneten Funktionsaufrufen.
def popKaFu5Schritte(anzKa, anzFu, zKa, aFu):
...
return (anzKa5, anzFu5)