• Test Datenstrukturen und Modularisierung
  • anonym
  • 15.04.2025
  • Informatik
  • 11, 12
Um die Lizenzinformationen zu sehen, klicken Sie bitte den gewünschten Inhalt an.
/ 29
Note
Un­ter­schrift
1
Schlei­fen
4 / 4
  • In der Pro­gram­mie­rung un­ter­schei­det man zwi­schen kopf­ge­steu­er­ten und fuß­ge­steu­er­ten Schlei­fen.
    Er­klä­re den Un­ter­schied zwi­schen die­sen Schlei­fen­ar­ten. (2P.)
  • Die fol­gen­de Python-​Funktion ent­hält eine Schlei­fe, die nicht endet. Er­klä­re, warum die Schlei­fe nicht ter­mi­niert und wie man den Feh­ler be­he­ben könn­te. (2P.)
def count_down(n):
while n > 0:
print(n)
n += 1
2
Ver­zwei­gun­gen
Ein Frei­zeit­park bie­tet un­ter­schied­li­che Ti­cket­prei­se an:
12 / 12
  • Kin­der unter 6 Jah­ren zah­len nichts.

  • Kin­der von 6 bis 17 Jah­ren zah­len 10 Euro.

  • Er­wach­se­ne von 18 bis 64 Jah­ren zah­len 20 Euro.

  • Se­ni­o­ren ab 65 Jah­ren zah­len 15 Euro.

a)
Schrei­be eine Python-​Funktion , die den Preis für eine Per­son an­hand ihres Al­ters be­rech­net und zu­rück­gibt. (5P.)

Bei­spiel­auf­ruf:

print(ticketpreis(5)) # Erwartete Ausgabe: 0
print(ticketpreis(12)) # Erwartete Ausgabe: 10
print(ticketpreis(30)) # Erwartete Ausgabe: 20
print(ticketpreis(70)) # Erwartete Ausgabe: 15
b)
Falls eine Grup­pe von min­des­tens 5 Per­so­nen ge­mein­sam ein Ti­cket kauft, er­hält jede Per­son 10 % Ra­batt auf ihren in­di­vi­du­el­len Ti­cket­preis. Er­wei­te­re die Funk­ti­on, indem du einen zwei­ten Par­am­ter er­stellst. (4P.)

Bei­spiel­auf­ruf:

print(ticketpreis(30, 1)) # Erwartete Ausgabe: 20
print(ticketpreis(30, 5)) # Erwartete Ausgabe: 18
c)
Jeden Mitt­woch ist Mittwoch-​Madness 🎩. An die­sem Tag wird von dem Ge­samt­preis noch ein­mal 5€ ab­ge­zo­gen. Der Preis darf je­doch nicht unter 0 fal­len. Er­wei­te­re den Code so, dass nun zu­sätz­lich nach dem Wo­chen­tag ge­fragt wird. (3P.)

Bei­spiel­auf­ruf:

print(ticketpreis(30, 1, "Mittwoch")) # 15 €
print(ticketpreis(30, 5, "Mittwoch")) # 13 €

Tipp: Mit wer­den alle Buch­sta­ben klein­ge­schrie­ben, was wie­der­um den Ver­gleich der Strings ver­ein­facht.

3
Struk­to­gram­me
Fizz buzz ist ein Gruppen-​Wortspiel für Kin­der.
Das fol­gen­de Struk­to­gramm zeigt die­ses Spiel.
13 / 13
a)
Er­klä­re an­hand des ge­ge­be­nen Struk­to­gramms, wel­cher ma­the­ma­ti­sche Aspekt den Kin­dern bei­gebracht wer­den soll. (1P.)
b)
Er­stel­le ein Python-​Programm, wel­ches die­ses Spiel um­setzt. Ori­en­tie­re dich dabei am ge­ge­be­nen Struk­to­gramm. (10P.)
c)
Der Be­nut­zer darf nur Zah­len zwi­schen 1 und 100 ein­ge­ben. Falls eine un­gül­ti­ge Ein­ga­be ge­macht wird (z. B. -5 oder 150), soll das Pro­gramm eine Feh­ler­mel­dung aus­ge­ben und er­neut nach einer Zahl fra­gen. Er­wei­te­re das Pro­gramm ent­spre­chend. (2P.)

Lö­sung/ No­ti­zen:

x