Mathematische Operatoren


…für Auftragshacker

Hier kommen ein paar Programmieraufträge für die Sommerferien 2023

Farbcode:

Leichte Aufträge - Mittelschwere Aufträge - Schwere Aufträge

Auftrag 1 : Code vereinfachen

Kannst du den folgenden Code vereinfachen und eleganter schreiben?

#Aufgabe Code vereinfachen

print("Gib eine Note (1-6) ein: ", end="")
note = int(input())
if note == 1:
    print("Note",note, "(sehr gut)")
elif note == 2:
    print("Note",note, "(gut)")
elif note == 3:
    print("Note",note, "(befriedigend)")
elif note == 4:
    print("Note",note, "(ausreichend)")
elif note == 5:
    print("Note",note, "(mangelhaft)")
elif note == 6:
    print("Note",note, "(ungenügend)")
else:
    print("Eingabefehler!")

Auftrag 2: Supermarkt-Software

Früher mussten Kassierer in einem Supermarkt sehr gute Kopfrechner sein. Nehmen wir an, ein Kunde kauft Waren im Wert von 11,99€. In seinem Geldbeutel hat er aber nur einen 20-Euro-Schein sowie eine 2-Euro-Münze. Der Kunde gibt der Kassiererin 22€. Die Kassiererin musste also rechnen: 22€ - 11,99€ = 10,01€. Der Kunde bekommt 10 Euro und einen Cent zurück.

Zwischenfrage: Warum hat der Kunde 22€ gegeben und nicht einfach nur seinen 20€-Schein?

Dein Auftrag: Entwickle eine Software, die für jeden beliebigen Kaufpreis und für beliebige Beträge, die der Kunde dem Kassierer gibt, das Rückgeld berechnet.

Auftrag 3: Kino-Ticketautomat

Im Trostberger Kino wurde ein Ticketautomat angeschafft. Der muss aber noch programmiert werden. Der Inhaber will die Eintrittspreise nach folgenden Regeln gestalten:

Außerdem soll das Programm anzeigen, dass es sonntags um 13 Uhr, 16 Uhr und 20 Uhr Vorstellungen gibt, an den übrigen Tagen aber nur um 16:30 Uhr und um 20 Uhr.

Da du Hacker bist, baust du dir natürlich eine Hintertür ins Programm ein, mit der DU immer 50% Nachlass bekommst, und zwar wenn man als Alter die Ziffern 1010001 eingibt.

Hier zwei Screenshots vom Display des Automaten:

kino1.png

kino2.png

Auftrag 4: Gesamtnote berechnen

Schüler wollen oft wissen, wie sie gerade in einem bestimmten Fach “stehen”. Gemeint ist damit, welche Gesamtnote sie gerade haben. Nehmen wir an, ein Schüler hat folgende Noten:

Schulaufgabe 4
1. Ex 1
2. Ex 4
Abfrage 5

Schulaufgaben zählen doppelt, alle anderen Noten einfach. Der Schüler soll also folgende Noten in das Programm eingeben: 4 4 1 4 5

Von diesen Noten bildet man nun die Summe: 4 + 4 + 1 + 4 + 5 = 18

Diese Summe teilt man durch die Anzahl der Noten, hier also 5: 18/5 = 3,6

Wenn das Ergebnis größer als x,5 ist, wird aufgerundet, sonst abgerundet.

In unserem Beispiel bedeutet 3,6, dass der Schüler auf einer (guten) 4 steht.

Schreibe ein Programm, in das man beliebig viele Noten eingeben kann und anschließend die aktuelle Gesamtnote erhält.

Der Programmdialog könnte so aussehen:

noten.png

Auftrag 5: E-Mail-Adresse ausgeben

Viele Schüler:innen unserer Schule kennen ihre E-Mail-Adresse nicht. Schreibe ein Programm, bei dem ein Schüler seinen Namen eingibt und dann seine korrekte E-Mailadresse angezeigt bekommt.

Bildschirmdialog:

email.png

Auftrag 6: Begrüßung in Fremdsprachen

Das Programm begrüßt den User wahlweise in fünf Sprachen. Die Ausgabe sieht so aus:

begruessung.png

Auftrag 7: Kartendruckerei

Ein Programm erstellt automatisch Einladungskarten zu (d)einer Geburtstagsfeier. Dazu braucht man nur die Namen seiner Gäste (beliebig viele) eintragen, das ist alles.

Sieh dir den Screenshot an und schreibe den Code.

kartendruckerei.png

Auftrag 8: Wiederholungsaufgabe

Schreibe ein Programm, das ein bestimmtes Einmaleins ausgibt, z.B. das 5er Einmaleins.

Der Benutzer kann am Anfang des Programms eingeben, welches Einmaleins er möchte.

Auftrag 9: Wiederholungsaufgabe

Schreibe ein Programm, das das gesamte kleine Einmaleins ausgibt. Verwende dazu eine for-Schleife.

Auftrag 10: Wiederholungsaufgabe

Schreibe ein Programm, bei dem der Benutzer eine Zahl erraten muss. Das Programm “denkt” sich eine geheime Zufallszahl zwischen 1 und 100 aus. Der Benutzer muss diese Zahl erraten. Dazu gibt er eine Zahl ein. Das Programm meldet dann, ob diese Zahl zu groß, zu klein oder richtig ist.

Variante 1:

Baue zusätzlich einen Zähler für die benötigten Versuche des Benutzers ein.

Variante 2:

Begrenze die Versuche des Benutzers auf zum Beispiel 7.

Manipulation

/Auftrag 11: Manipulation

Dein Programm soll folgende Fähigkeiten haben:

Es soll dem Benutzer eine Aufgabe stellen, in bestimmten Fällen aber gezielt FALSCHE Antworten liefern.