Berechnungen mit einer Funktion
Konzeption einer Verarbeitungseinheit
Wir betrachten noch einmal Berechnungen zur erwarteten Bildgröße - so, wie sie im letzten Abschnitt durchgeführt wurden.
>>> 5184 / 600
8.64
>>> 8.64 * 2.54
21.945600000000002
>>> 3456 / 600
5.76
>>> 5.76 * 2.54
14.6304
Hier wird aus einer Pixelanzahl (im Beispiel 5184 bzw. 3456) und einer Pixeldichte (im Beispiel jeweils 600 PPI) die zu erwartende Seitenänge in cm (im Beispiel 21.94... bzw. 14.63..) berechnet.
Wenn man für viele verschiedene Pixelgrafiken die erwartete Größe beim Ausdrucken berechnen möchte, wäre es umständlich und fehleranfällig, jedesmal all diese Anweisungen hintereinander hinschreiben zu müssen. Stattdessen ist es günstig, eine eigene Verarbeitungseinheit für diesen Zweck zu entwickeln. Das Verhalten der Verarbeitungseinheit lässt sich mit einem Black-Box-Diagramm verdeutlichen.
Bei einem Black-Box-Diagramm ist der innere Aufbau der Funktion (also die Frage „Wie genau bestimmt die Funktion die Länge?“) verborgen. Dennoch kann man die Funktion nutzen.
Aufgabe 1
Entwickle eine Formel, mit der man die Drucklänge aus den beiden gegebenen Größen berechnen kann.
druckLaenge(anzahlPixel, pixelDichte) = ...
Implementierung als Funktion
In Python lässt sich die konzipierte Verarbeitungseinheit als Funktion implementieren.
Das Programm besteht hier aus einer Funktionsdefinition und Funktionsaufrufen. Die Verarbeitung wird über eine Funktionsdefinition (man sagt oft auch Funktionsdeklaration) festgelegt. Aktiviert wird eine Verarbeitung durch einen Funktionsaufruf.
Aufgabe 2
Ein Foto mit 3648 x 2736 Pixeln soll mit 72 PPI ausgedruckt werden. Berechne die Größe des Fotos (in cm).
Benutze die Funktion druckLaenge
.
Aufgabe 3
Folgendes Problem soll bearbeitet werden: Man möchte ein Foto in der Größe 90 cm x 60 cm ausdrucken. Beim Druck soll eine Pixeldichte von 72 PPI verwendet werden. Wie viele Pixel muss das Bild auf einer Seite besitzen?
(a) Führe erst einmal die erforderlichen Berechnungen direkt durch.
(b) Konzipiere eine Funktion pixelAnzahl
zur Durchführung entsprechender Berechnungen. Beschreibe das Verhalten dieser Funktion
mit einem Black-Box-Diagramm.
(c) Entwickle eine geeignete Funktionsdefinition und teste sie mit verschiedenen Funktionsaufrufen.
Aufgabe 4
Arbeite die Seite Fachkonzept - Funktion durch, um dich mit dem neuen Fachkonzept vertraut zu machen. Du solltest danach Antworten auf folgende Fragen geben können:
- Welche Idee steckt hinter dem Fachkonzept "Funktion"? Wozu verwendet man Funktionen in der Informatik?
- Was ist der Unterschied zwischen einer Funktionsdefinition und einem Funktionsaufruf?
- Wozu dienen Parameter?
- Was leistet die Verarbeitungsvorschrift?
- Wie definiert und verwendet man Funktionen in Python?
Aufgabe 5
Erstelle dir eine Zusammenfassung zu Funktionen. Es bietet sich dabei eine Mind-Map an. Überlege dir dazu erst den Grundaufbau der Mind-Map. In der Mitte steht das Thema – hier Funktionen. Von dort aus führen Äste nach außen zu wichtigen Schlagworten, die mit dem Thema zu tun haben. Diese Äste sollten sich dann weiter verästeln.