i

Schachtelung von Funktionen

Ein Dia scannen und drucken

Früher - vor der Zeit der digitalen Fotografie - wurden Fotos oft als Dias entwickelt und aufbewahrt.

Dia[1]

Viele Menschen haben noch Diasammlungen zu Hause mit interessanten Fotos von früher, aber keinen Diaprojektor mehr, um sie anzuzeigen. In solch einer Situation kann man das Dia einscannen und anschließend (z.B. als Poster`) ausdrucken. Wir entwickeln für solch eine Situation geeignete Berechnungsprogramme.

Folgendes Problem soll mit Hilfe von Funktionen bearbeitet werden: Ein Dia (36mm x 24mm) wird mit 4000 PPI eingescannt und anschließend als Poster mit 160 PPI gedruckt. Wie groß wird das Poster?

Funktionen für Teilberechnungen

Die Funktionen für die Teilberechnungen wurden bereits in den vorangegangenen Abschnitten entwickelt.

Die Funktion druckLaenge berechnet aus der Anzahl der Pixel und der Pixeldichte (in PPI) die erwartete Laenge der Bildseite (in cm, auf eine Nachkommastelle gerundet) beim Ausdrucken.

<<Black-Box-Diagramm><Funktionsname>druckLaenge</Funktionsname><Übergaben><Übergabe><Wert>5184</Wert><Variable>anzahlPixel</Variable><Typ></Typ></Übergabe><Übergabe><Wert>600</Wert><Variable>dichtePixel</Variable><Typ></Typ></Übergabe></Übergaben><Rückgabe><Typ></Typ><Wert>21.94..</Wert></Rückgabe></Black-Box-Diagramm>

Die Funktion pixelAnzahl berechnet aus der Länge der Bildseite (in cm) und der Pixeldichte (in PPI) die (gerundete) Anzahl der Pixel beim Scannen.

<Black-Box-Diagramm><Funktionsname>pixelAnzahl</Funktionsname><Übergaben><Übergabe><Wert>12.5</Wert><Variable>laengeSeite</Variable><Typ></Typ></Übergabe><Übergabe><Wert>300</Wert><Variable>pixelDichte</Variable><Typ></Typ></Übergabe></Übergaben><Rückgabe><Typ></Typ><Wert>1476</Wert></Rückgabe></Black-Box-Diagramm>

Wir benutzen diese beiden Funktionen, um die Berchnungen für das Diaposter durchzuführen.

Aufgabe 1

Erläutere, wie das ausgegebene Ergebnis hier berechnet wird. Ergänze auch die Berechnung für die zweite Postergröße.

Schachtelung von Funktionen

Die oben dargestellten Berechnungen zeigen, dass man Funktionsaufrufe ineinander schachteln kann. Hier liefert der innere Funktionsaufruf pixelAnzahl(3.6, 4000) ein Ergebnis, das direkt an die äußere Funktion druckLaenge zur Verarbeitung weitergegeben wird.

Diese Schachtelung von Funktionen lässt sich auch in der Funktionsdefinition umsetzen:

Aufgabe 2

(a) Erläutere den Aufbau der Funktion scanDruckBildLaenge.

(b) Benutze die Funktion scanDruckBildLaenge zur Bestimmung der Postergröße bei den oben angegebenen Daten.

Quellen

Suche

v
6.3.1.3.2.6
dev.inf-schule.de/imperative-programmierung/python/projekte/modularisierung/pixelrechner/schachtelung
dev.inf-schule.de/6.3.1.3.2.6

Rückmeldung geben