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, 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.
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. Man öffnet ein neues Fenster und gibt den folgenden Quelltext dort ein. Achte auf die gezeigte Einrückung.
def druckLaenge(anzahlPixel, pixelDichte):
return (anzahlPixel / pixelDichte) * 2.54
Dieser Quelltext besteht aus einer Funktionsdefinition und stellt das gewünschte Berechnungsprogramm dar. Das Programm (bzw. den Quelltext) muss man abspeichern und dann einmal ausführen, damit Python die neu definierte Funktion kennen lernt. Anschließend kann man die Funktion für konkrete Berechnungen im Ausführfenster verwenden.
>>> druckLaenge(5184, 600)
21.945600000000002
>>> druckLaenge(3456, 600)
14.6304
Aufgabe 2
(a) Probiere das selbst aus.
(b) 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. Aus wie vielen Pixeln sollte das Foto bestehen?
(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 den Abschnitt 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?