Ü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:

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 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:

η c = 1 T n T h

Dabei ist T n die niedrigste (Umgebung) und T h 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 ....