• Lernkarte - Rückgabe Betrag 1, 2, 5 Euro (Python)
  • Christian Leeser
  • 08.06.2023
  • Informatik
  • 9, 10
Um die Lizenzinformationen zu sehen, klicken Sie bitte den gewünschten Inhalt an.
Pro­gramm­be­schrei­bung und
Fluss­dia­gramm
Hin­weis

Die­ses Pro­gramm soll in der Lage sein, Rück­geld in 1, 2 und 5 Euro zu geben. Be­trä­gen und Zah­lun­gen sind na­tür­li­che Zah­len.

Die Um­set­zung des Pro­gramm ver­wen­det:

- if-​Abfrage

- else if - Ab­fra­ge

- while-​Schleife

- Va­ri­a­blen

Schritt-​für-Schritt-Anleitung

In dem fol­gen­den Teil führt Schritt-​für-Schritt durch das Fluss­dia­gramm.



Am Ende die­ser An­lei­tung steht das voll­stän­di­ge Pro­gramm pas­send zum Fluss­dia­gramm.

1. Schritt: Die Ein­ga­be (Zeile 1 und 2)

Die Va­ri­a­blen z und e wer­den de­kla­riert. input for­dert den Nut­zer auf, je­weils zu die­sen Va­ri­a­blen Werte an­zu­ge­ben. int() wan­delt die Ein­ga­be in den Typ in­te­ger um, da die Ein­ga­be vom Typ String ist.

Python
z = int(input("Gebe den zu zahlenden Betrag an: "))
e = int(input("Gebe den eingezahlten Betrag an: "))

2. Schritt: Be­rech­nung der Dif­fe­renz (Zeile 3)

Mit let wird die Va­ri­a­ble d gleich mit der pas­sen­den Be­rech­nung de­kla­riert.

JavaScript
z = int(input("Gebe den zu zahlenden Betrag an: "))
e = int(input("Gebe den eingezahlten Betrag an: "))
d = e - z;

3. Schritt: Die while-​Schleife (Zeile 5)

So­bald d gleich 0 ist, wer­den die Ab­fra­gen nicht mehr durch­lau­fen. (oder an­ders for­mu­liert)

So­lan­ge d nicht gleich 0 ist, wer­den die Ab­fra­gen durch­lau­fen

Python
z = int(input("Gebe den zu zahlenden Betrag an: "))
e = int(input("Gebe den eingezahlten Betrag an: "))
d = e - z;
while d != 0:

4. Schritt: Die erste Ab­zwei­gung (Zeile 6 bis 8)

Wenn d >= 5, dann ziehe von d den Wert 5 ab und gebe 5 aus.



Da­nach geht es zu­rück zur while-​Schleife.

Python
z = int(input("Gebe den zu zahlenden Betrag an: "))
e = int(input("Gebe den eingezahlten Betrag an: "))
d = e - z;
while d != 0:
if d >= 5:
d = d - 5
print("5")

5. Schritt: Letz­te Be­rech­nung (Zeile 9 bis 16)

Es fol­gen zwei Ab­fra­gen:

1. wenn d >= 2, dann ziehe von d den Wert 2 ab geben 2 aus.

2. d >= 1. dann ziehe von d den Wert 1 ab gebe 1 aus.



In bei­den Fäl­len geht nach der Aus­ga­be zu­rück in die while-​Schleife.

Python
z = int(input("Gebe den zu zahlenden Betrag an: "))
e = int(input("Gebe den eingezahlten Betrag an: "))
d = e - z;
while d != 0:
if d >= 5:
d = d - 5
print("5")
elif d >= 2:
d = d - 2
print("2")
elif d >= 1:
d = d - 1
print("1")

ENDE

Auf­ga­ben
1
Füge in dem Quell­code pas­send zu den Schrit­ten Kom­men­ta­re ein, die den je­wei­li­gen Teil in sei­ner Funk­ti­on be­schrei­ben.
Python
# Ein "Hachtag" ergibt einen Zeilenkommentar
"""
Drei Anführungszeichen am Anfang und am Ende
ergeben einen Kommentar auf mehreren Zeilen
"""
2
Über­le­ge Dir mög­li­che Ver­bes­se­run­gen für das Pro­gramm. Bei­spiels­wei­se:
  • Könn­te der Text der Ein­ga­be und der Aus­ga­be ver­bes­sert wer­den.
  • Soll­ten De­zi­mal­zah­len mög­lich sein.
  • Soll­te ein Zäh­ler die An­zahl des Rück­gel­des an­ge­ben.
  • Wird am Ende eine Else-​If-Anweisung be­nö­tigt?
3
Passe das Fluss­dia­gramm und den Quell­text ent­spre­chend Dei­ner Über­le­gun­gen aus Auf­ga­be 2 an.
x