Übungsaufgaben zum Thema einfache Fallunterscheidungen
Ab jetzt brauchen wir für die Lösung der Übungsaufgaben auch eine Dateneingabe
(Vorlesungsfolien ab Folie "Dateneingabe"). Dazu verwenden wir eine eigene Library: InOut
in Processing. Bitte laden Sie die ZIP-Datei unter dem vorstehend
angegebenen Link herunter und entpacken Sie diese in den Unterordner
"libraries" in Ihrem "Processing"-Ordner.
Aufgabe 1: Discountpreise
Während einer Sonderaktion wird ein Rabatt von 10% auf alle Einkäufe
mit einem Gesamtbetrag von mehr als €10.00 gewährt. Schreiben Sie ein
Programm, das nach dem Gesamtbetrag fragt und den Discountpreis
berechnet. Der Gesamtbetrag wird in Cent (als Ganzzahl) eingegeben.
Verwenden Sie Ganzzahl-Arithmetik. In Ihrem Programm dürfen
dann u. a. keine Kommazahlen stehen.
Lesen Sie zunächst - wie auf den Vorlesungsfolien beschrieben - mit Hilfe der InOut-Library den Wert für den Gesamtbetrag ein:

Die Bibliothek protokolliert den Eingabevorgang auf der Konsole.
Berechnen Sie dann den Discountpreis und geben Sie diesen aus, sodass
insgesamt die folgende Ausgabe für den Beispielwert 2000 auf der Konsole erscheint:
Aufgabe 2: Überprüfung der Bestellung
Bob's Schraubendiscount verlangt folgende Preise:
- 5 Cent pro Schraube
- 3 Cent pro Mutter
- 1 Cent pro Unterlegscheibe
Schreiben Sie ein Programm, das nach der Anzahl der Schrauben, Muttern
und Unterleg- (auch: Beileg-) scheiben fragt, und dann den Gesamtbetrag
berechnet und ausgibt. Zusätzlich überprüft das Programm die Bestellung.
Wenn die Anzahl der bestellten Schrauben von der Anzahl der bestellten
Muttern abweicht, gibt das Programm die Meldung "Kontrollieren Sie Ihre
Bestellung!" aus. Anderenfalls gibt das Programm "Die Bestellung ist in
Ordnung" aus. In jedem Fall wird der Gesamtbetrag ausgegeben.


Verwenden Sie für die Artikelpreise Konstanten. Konstanten werden in
Großbuchstaben geschrieben.
Für den Ein- und Ausgabevorgang werden wir bei den Beispielabläufen ab jetzt häufig die folgende, kompaktere Darstellung nutzen:
Anzahl der Schrauben: 12
Anzahl der Muttern: 8
Anzahl der Scheiben: 24
Kontrollieren Sie Ihre Bestellung!
Gesamtbetrag: 108
Aufgabe 3: Letzte Tankmöglichkeit vor Death Valley
Al's Last Chance Gas Station befindet sich an der Straße 190
am Rande des Death Valley. Die nächsten 200 Meilen gibt es
keine weitere Tankstelle. Schreiben Sie ein Programm, das den Fahrern
hilft, zu entscheiden, ob getankt werden sollte oder nicht. Das Programm
liest folgende Daten ein:
- Die Tankkapazität in Gallonen (3,78l).
- Die Benzinanzeige in Prozent (voll = 100, 3/4-voll = 75 usw.).
- Den Benzinverbrauch des Fahrzeugs in Meilen pro Gallone.
Die Ausgabe des Programms ist "Tanken!", oder "Weiterfahren." Je
nachdem, ob das Fahrzeug genug Benzin für 200 Meilen hat oder nicht.
Verwenden Sie für die Eingabe und die Arithmetik ganze Zahlen.
Beispielablauf 1:
Beispielablauf 2:
Aufgabe 4: Dampfmaschinenwirkungsgrad
Der thermische Wirkungsgrad einer Dampfmaschine hängt ab vom
Temperaturunterschied zwischen der Umgebungstemperatur und der des
Dampfs. Die Obergrenze des thermischen Wirkungsgrads ist der
Carnot-Wirkungsgrad:
Dabei ist die niedrigste (Umgebung) und die
höchste (Dampf) im Prozess auftretende Temperatur in Kelvin (K). 0°C
entsprechen 273,15K.
Schreiben Sie ein Programm, dass die Umgebungs- und Dampftemperatur in
Grad Celsius einliest und hieraus die Obergrenze für den thermischen
Wirkungsgrad in Prozent berechnet.
Unterhalb von 373,15K versiegt die Dampfbildung, sodass der
Wirkungsgrad 0 ist.
Führen Sie die Berechnungen in Gleitkommaarithmetik durch.
Beispielablauf 1:
Beispielablauf 2:
Aufgabe 5: Fantasy Game
In einem Rollenspiel können dem Spielercharakter Punktwerte für drei
verschiedene Charaktereigenschaften zugewiesen werden:
Schreiben Sie ein Programm, das zu Beginn Werte für die drei
Charaktereigenschaften erfragt. Die Gesamtsumme der vergebenen Punkte
darf allerdings 15 nicht überschreiten. Anderenfalls bekommen alle drei
Charaktereigenschaften die Standardwerte 5 zugewiesen.
Beispielablauf:
Willkommen im Rollenspiel.
Bitte weisen Sie ihrem Charakter max. 15 Punktwerte zu:
Stärke: 5
Gesundheit: 10
Glück: 15
Sie haben ihrem Charakter zu viele Punkte gegeben.
Es wurden deshalb Standardwerte zugewiesen:
Stärke -> 5, Gesundheit -> 5, Glück -> 5
Aufgabe 6: Jahrhundertwechselproblem
Schreiben Sie ein Programm, das die Eingabe des Geburtsjahrs
einer Person erfragt sowie das aktuelle Jahr und diese Angaben jeweils in
zweistelliger Form - ohne Jahrhundertangabe - erwartet. Das Programm
berechnet dann das Alter der Person und gibt dieses aus:
Beispielablauf 1:
Geburtsjahr: 01
Aktuelles Jahr: 13
Ihr Alter: 12
Beispielablauf 2:
Geburtsjahr: 89
Aktuelles Jahr: 07
Ihr Alter: 18
Aufgabe 7: Hackfleischangebote vergleichen
Die Hackfleischangebote unterschiedlicher Hersteller besitzen einen
unterschiedlichen Fleisch- und Fettanteil. Je höher der Fettanteil eines
Kilos Fleisch ist, umso geringer sein Wert.
Schreiben Sie ein Programm, das den Benutzer nach dem Kilopreis und dem
Fettanteil für zwei unterschiedliche Fleischangebote fragt und das
bessere Angebot bestimmt.
Beispielablauf:
Die Situation, dass zwei Angebote exakt gleich gut sind, brauchen Sie
nicht zu berücksichtigen.
Die Eingabe von Gleitkommazahlen geschieht in Processing nicht in der
landesüblichen Weise, d. h. in Deutschland mit Komma, sondern in der
angelsächsischen Form mit einem Punkt.
Bei der Ausgabe wird von der
Laufzeitumgebung ebenfalls die angelsächsische Form mit Punkt
verwendet.
Wird der Punkt bei der
Eingabe durch ein Komma ersetzt, so erfolgt üblicherweise ein
Syntaxfehler mit der Fehlermeldung: Missing Operator ....