Beispiel - Dialog im Ausführfenster
Preisberechnungen - bisherige Vorgehensweise
Wir betrachten noch einmal die Funktion zur Preisberechnung aus dem letzten Abschnitt.
Wenn man für diese Funktion eine Funktionsdefinition erstellt, dann lassen sich konkrete Berechnungen durch Funktionsaufrufe im Ausführfenster durchführen.
Funktionsdefinition:
def zahlungsbetrag(listenpreis, pRabatt, pMwSt, pSkonto):
rabatt = (listenpreis / 100) * pRabatt
nettopreis = listenpreis - rabatt
mehrwertsteuer = (nettopreis / 100) * pMwSt
bruttopreis = nettopreis + mehrwertsteuer
skonto = (bruttopreis / 100) * pSkonto
endpreis = bruttopreis - skonto
return endpreis
Funktionsaufrufe:
>>> zahlungsbetrag(159.0, 5.0, 19.0, 2.0)
176.15451000000002
>>> zahlungsbetrag(280.0, 20.0, 19.0, 0.0)
266.56
Diese Vorgehensweise ist wenig benutzerfreundlich. Um Berechnungen durchzuführen muss der Benutzer den Namen der Funktion kennen (und richtig eintippen) und die Reihenfolge der zu bearbeitenden Daten kennen (und genau beachten).
Preisberechnungen - jetzt interaktiv
Mit einem Programm, das Benutzereingaben und eine Datenausgabe vorsieht, wird das einfacher.
Programm:
"""
Programm zur Preisberechnung
Autor: KB
Datum: 12.12.2014
"""
# Unterprogramme
def zahlungsbetrag(listenpreis, pRabatt, pMwSt, pSkonto):
rabatt = (listenpreis / 100) * pRabatt
nettopreis = listenpreis - rabatt
mehrwertsteuer = (nettopreis / 100) * pMwSt
bruttopreis = nettopreis + mehrwertsteuer
skonto = (bruttopreis / 100) * pSkonto
endpreis = bruttopreis - skonto
return endpreis
# Hauptprogramm
# Eingabe
aListenpreis = float(input('Listenpreis (in €) : '))
aRabattsatz = float(input('Rabatt (in %) : '))
aMehrwertsteuersatz = float(input('Mehrwertsteuer (in %) : '))
aSkontosatz = float(input('Skonto (in %) : '))
# Verarbeitung
aZahlungsbetrag = zahlungsbetrag(aListenpreis, aRabattsatz, aMehrwertsteuersatz, aSkontosatz)
# Ausgabe
print('Zahlungsbetrag (in €) :', aZahlungsbetrag)
Progammausführung:
>>>
Listenpreis (in €) : 159.0
Rabatt (in %) : 5.0
Mehrwertsteuer (in %) : 19.0
Skonto (in %) : 2.0
Zahlungsbetrag (in €) : 176.15451000000002
Aufgabe 1
Speichere das Programm ab und führe es mit [Run][Run Module] aus. Im Ausführfenster wirst du zur Mitarbeit aufgefordert. Probiere das mehrmals mit verschiedenen Daten aus. Du musst das Programm hierzu jeweils wieder neu ausführen.
Aufgabe 2
Informiere dich im Abschnitt Fachkonzept - Programm und bearbeite dann folgende Teilaufgaben.
(a) Das Programm ist in ein Haupt- und ein Unterprogramm aufgeteilt. Was leisten die einzelnen Teile jeweils? Warum ist es sinnvoll, eine solche Aufteilung vorzunehmen?
(b) Das Programm benutzt Kommentare. Welche sind das hier? Wozu sind sie gut?
Aufgabe 3
Informiere dich im Abschnitt Fachkonzept - EVA-Prinzip und bearbeite dann folgende Teilaufgaben.
(a) Wie werden die Eingaben des Benutzers verwaltet?
Wieso muss man hier den float
-Operator benutzen?
(b) Wie werden die Ausgeben auf dem Bildschirm erzeugt?
Wozu dient die Zeichenketten 'Zahlungsbetrag (in €) :'
?
Aufgabe 4
(a) Das Programm benutzt Variablen, um aktuell eingegebene und berechnete Daten zu verwalten. Welche sind das hier?
(b) Informiere dich im Abschnitt Exkurs - lokale und globale Variablen und kläre am oben gezeigten Programm, was man unter lokalen und globalen Variablen versteht.