i

Automatisierung der Berechnungen

Das Fortpflanzungsmodell

Wir gehen weiterhin von dem folgenden Fortpflanzungsmodell aus.

Übersicht mit Fortpflanzungsmodell

Nun soll die automatisierte Ausführung dieser Berechnungen mit Python untersucht werden. Dazu stehen zwei Möglichkeiten zur Verfügung:

Du kannst direkt im Schulbuch (also im Browser) experimentieren. Bearbeite hierfür Aufgabe 1. Im Anschluss geht es dann weiter mit Aufgabe 3.

Alternativ kannst du auch eine Python-Entwicklungsumgebung nutzen. Bearbeite in diesem Fall Aufgabe 2. Im Anschluss geht es dann weiter mit Aufgabe 3.

Möglichkeit 1: Experimente im Browser

Hier kannst du direkt ein bereits vorgegebenes Python-Programm ausführen.

Aufgabe 1

In dieser Aufgabe betrachtest du, wie ein Programm schrittweise abgearbeitet wird. Du wirst feststellen, dass du beim Umgang mit Daten, die sich im Programmablauf verändern, aufpassen musst.

(a) Führe das Programm (oben) aus und vergleiche mit den Ergebnissen der vorherigen Seite. Was stellst du fest?

(b) Irgendetwas stimmt hier nicht! Eigentlich sollten es nach einem Simulationsschritt 60 junge Mäuse sein. Woran liegt es, dass hier ein falsches Ergebnis herauskommt? Das kannst du mit dem Python-Tutor herausfinden. Klicke jeweils auf [Next] und analysiere, wie die berechneten Zahlenwerte zustande kommen. Erkläre dann, wieso falsche Ergebnisse auftreten.

(c) Das vorgegebene Python-Programm muss abgeändert werden, damit die Berechnungen korrekt ausgeführt werden. Entwickle Vorschläge, wie das gehen könnte. Tipp: Benutze eine oder mehrere Hilfsvariablen. Teste deine Vorschläge im Online-Python-Fenster oben.

Der folgende Aufgabenteil ist für das restliche Projekt nicht zwingend erforderlich.

(d) Eine intuitive Lösung nutzt zwei oder drei Hilfsvariablen. Kann man die Berechnungen auch mithilfe einer einzigen Hilfsvariablen durchführen? Mache Vorschläge und teste sie.

Möglichkeit 2: Experimente mit Thonny

In dieser Aufgabe betrachtest du in einer Entwicklungsumgebung, wie Anweisungen schrittweise abgearbeitet werden. Du wirst feststellen, dass du beim Umgang mit Daten, die sich im Programmablauf verändern, aufpassen musst.

Wenn man die Entwicklungsumgebung Thonny startet, erhält man in der Standardversion zwei Fenster – das Programmfenster oben und das Ausführfenster (bzw. die Shell) unten.

Thonny nach dem Starten

Für die folgenden Experimente ist es günstig, wenn man mit [Ansicht][Variablen] zusätzlich das Variablenfenster öffnet.

Thonny mit Variablenfenster

Im Programmfenster kann man jetzt die Anweisungen zur Durchführung der Berechnungen eingeben.

Thonny nach dem Starten

Öffne mit [Datei][Neu] ein Programmfenster. Schreibe die Anweisungen zur Durchführung der Berechnungen in dieses Fenster. Speichere das Programm mit [Datei][Speichern unter...] in einer geeigneten Datei. Mit [Ausführen][Aktuelles Skript ausführen] kann man jetzt das gesamte Programm von Python ausführen lassen. Die berechneten Variablenwerte sieht man im Variablenfenster (und als Ausgaben im Ausführfenster).

Aufgabe 2

(a) Nutze die obige Anleitung, um das Programm zur automatischen Berechnung mit Thonny auszuführen. Vergleiche mit den Ergebnissen der vorherigen Seite. Was stellst du fest?

(b) Irgendetwas stimmt hier nicht! Eigentlich sollten es nach einem Simulationsschritt 60 junge Mäuse sein. Woran liegt es, dass hier ein falsches Ergebnis herauskommt? Das kannst du leicht herausfinden, indem du im Ausführfenster Schritt für Schritt die Anweisungen eingibst und beobachtest, was im Variablenfenster geschieht. Auf diese Weise kannst du das Programm Zeile für Zeile abarbeiten. Setze die Folge der Anweisungen aus dem Bild unten fort (siehe Programm oben) und erkläre damit, warum das Programm das falsche Ergebnis liefert.

Thonny mit Anweisungen im Ausführfenster

(c) Setze die Folge der Anweisungen nun anders fort – und zwar so, dass die korrekten Variablenwerte für die Mausanzahlen erzeugt werden. Tipp: Benutze Hilfsvariablen, um noch benötigte Zahlenwerte zwischenzuspeichern. Teste auch das gesamte Programm, indem du es im Programmfenster eingibst und dann ausführst.

Der folgende Aufgabenteil ist für das restliche Projekt nicht zwingend erforderlich.

(d) Kann man die Berechnungen auch mithilfe einer einzigen Hilfsvariablen durchführen? Mache Vorschläge und teste sie.

Weiterführende Berechnungen

Aufgabe 3

(a) Die Gesamtanzahl der Mäuse soll auch verwaltet werden. Führe hierzu eine geeignete Variable und geeignete Anweisungen ein.

(b) Bisher berechnet das Programm mit Hilfsvariablen den Populationsstand nach einer Zeiteinheit bzw. einem Schritt. Auf der vorherigen Seite hast du aber noch mehr Schritte berechnet. Passe das Programm so an, dass hintereinander mehrere Schritte berechnet werden. Du musst dafür nur einen bestimmten Teil des Codes kopieren und hinter das bisherige Programm wieder anfügen.

Brauchst du identische Textabschnitte (z.B. Quelltext) mehrfach, so bietet es sich an, diese durch Kopieren zu vervielfältigen. („Copy & Paste“) Das geht auf zwei Wege:

  • Markiere den entsprechenden Abschnitt und klicke mit der rechten Maustaste darauf. Wähle „Kopieren“ aus. Klicke nun an die Stelle, wo du den Text einfügen willst, mit der rechten Maustaste und wähle „Einfügen“ aus.
  • Markiere den entsprechenden Abschnitt. Drücke „Strg.“ (bzw. die Befehlstaste unter macOS) und „C“ gleichzeitig). Dadurch wird der Text in die Zwischenablage kopiert. Klicke nun an die Stelle, wo du den Text einfügen willst. Drücke nun „Strg.“ (bzw. die Befehlstaste unter macOS) und „V“ gleichzeitig). Der Text wird eingefügt.

(c) Jetzt soll auch noch die jeweilige Schrittzahl verwaltet werden, damit im Laufe des Programms immer klar ist, in welchem Schritt man sich befindet. Teste die folgenden Anweisungen. Integriere sie in das Programm zur Berechnung der Populationswerte an geeigneten Stelle.

schritt = 0
schritt = schritt + 1
schritt = schritt + 1
schritt = schritt + 1

(d) Es ist dir sicher schon aufgefallen, dass bei der Berechnung des nächsten Populationszustands ein etwas merkwürdig aussehendes Divisionszeichen // benutzt wurde. Teste, wie es sich auswirkt, wenn man anstatt des Divisionszeichens // das geläufigere Zeichen / benutzt. Erläutere den Unterschied der Berechnungen.

Suche

v
6.3.1.1.1.2
inf-schule.de/imperative-programmierung/python/projekte/variablen/population/automatisierung
inf-schule.de/6.3.1.1.1.2

Rückmeldung geben