Anweisungen
Programmiere alle Aufgaben rein funktional. Benutze keine Variablen und keine Kontrollstrukturen! Nutze nur Parameter der Funktionen und Verschachtelung. Zur Visualisierung der Datenflussdiagramme kannst du Dataflow benutzen.
Überführung Modellierung in Programmierung
In dieser Aufgabe wird das Beispiel aus der Vorlesung umgesetzt und erweitert.
- Schaue dir das Datenflussdiagramm zur Berechnung der Division von 2 Brüchen an. Überführe das Datenflussdiagramm in Pythoncode und nutze ein Dictionary um einen Bruch darzustellen. Teste dein funktionales Programm mit verschieden Brüchen.
- Erstelle ein Datenflussdiagramm für die Addition von 2 Brüchen und überführe es anschließend in Pythoncode.
Turtlegrafik
Die Programmierung mit der Turtlegrafik geht zurück auf die funktionale Programmiersprache Logo, die 1976 von Daniel Bobrow u.a. entwickelt wurde.
Benutzen Sie das Turtle Paket in Python, um die folgenden Aufgaben in Python zu implementieren. Dazu müssen Sie durch import turtle
zuerst das Turtlepaket hinzufügen. Dieses ist in Thonny schon vorinstalliert. Ein gute Befehlsübersicht bekommt unter folgendem Link.
- Implementiere ein Haus mit Dach und verwende dazu die drei Funktionen
quadrat
,dreieck
undhaus
. Mit Haus 40 20 soll ein Haus des Nikolaus gezeichnet werden, dass eine Seitenlänge des Quadrats von 40 und eine Höhe des Daches von 20 hat. - Zeichne 5 mal das Haus mit Dach in ansteigender Größe nebeneinander. Hier darf eine Schleife benutzt werden.
- Verwende die Funktion Haus aus a), um eine Stern bestehend aus einem Quadrat und vier Dreiecken zu zeichnen. Die Funktionalität soll in der Funktion
stern
abgebildet werden. - Lasse 20 Sterne zufällig verteilt und in zufälligen Größen auf dem Bildschirm erscheinen. Auch hier darfst du wieder auf eine Schleife zurückgreifen.
Tabellenkalkulation
Die Aufgabe ist in einem Tabellenkalkulationsprogramm die Berechnung der Klausurnoten automatisch aus der Summe der Punkte der Personen zu berechnen.
- Erstelle ein Tabellenblatt mit den Spalten Vorname, Aufgabe1, Aufgabe2, Aufgabe3, Aufgabe4, Summe und Note. Benutze die Summe-Funktion um alle Punkte der Aufgaben in der Spalte Summe für jede Person aufzusummieren.
- Lege zwei neue Spalten Noten und Punkte an. Fülle die Spalte Noten mit den Noten von 1.0 bis 5.0. In der Klausur sind 40 Punkte zu erreichen. Bei 20 Punkten erreicht man eine 4. Teile die übrigen 20 Punkte gleichverteilt über die Noten besser als 4 auf.
- In der Spalte Note soll nun automatisch aus der Summe der Punkte und der Spalte Noten die korrekte Note angezeigt werden. Falls keine Eintragung in der Spalte Aufgabe1 vorliegt soll nichts angezeigt werden. Erstelle ein Datenflussdiagramm nur mit den Funktionen
WENN
undISTLEER
(Libreoffice), das dieses Problem löst. - Leite aus dem Datenflussdiagramm den entsprechenden Code ab und teste diesen anschließend in der Tabelle.
Kompetenzaufgabe
Folgende Datenflussdiagramm beschreibt einen Teil der Zulassungsbedingungen zum Abitur. 

- Gib die Bedingungen, die in diesem Datenflussdiagramm enthalten sind, in natürlicher Sprache an.
- Bei konsequenter Verwendung logischer Funktionen lässt sich das Datenflussdiagramm auch deutlich einfacher aufbauen. Gib ein alternatives Modell der obigen Bedingungen an und be-gründe, weshalb die beiden Modellierungen gleichwertig sind.