erstellt 29.07.99; übersetzt 09.03.03; überarbeitet 27.04.04, 29.06.06, 06.05.10, 17.02.20, 12.10.20, 28.03.22; Deutsche Übersetzung Heinrich Gailer


Kapitel 13 Programmieraufgaben

Aufgabe 1 — Internet Delikatessen

Sam & Ellas Delikatessen-Versand braucht ein Programm, das Bestellungen über ein Internetformular entgegen nimmt. Das Programm fragt welchen Artikel der Kunde möchte, den Preis und ob der Artikel per Express verschickt werden soll. Für Artikel unter $10 betragen die Versandkosten $2.00. Kostet der Artikel $10 oder mehr betragen sie $3.00. Der Expresszuschlag beträgt $5.00.

Geben Sie den Artikel ein:
Geben Sie den Preis ein:
Expressversand (0==nein, 1==ja):

Rechnung
  Schoko: 12.0
  Versand: 8.0
  Gesamt: 20.0

(Wir verwenden die Konsole I/O-Methoden. Ein richtiges Internet Bestellformular würde natürlich andere I/O-Methoden verwenden, aber das ignorieren wir für jetzt.)

Zurück zum Inhaltsverzeichnis.


Aufgabe 2 — Effizienz von Dampfmaschinen

Die maximal mögliche Effizienz einer Dampfmaschine ist abhängig von der Dampftemperatur im Heizkessel und von der Außentemperatur der Luft:

effizienz = 1 - tLuft / tDampf

wobei tLuft die Lufttemperatur und tDampf die Dampftemperatur ist. Die Temperaturen werden in Kelvin angegeben. Die normale Lufttemperatur beträgt ungefähr 300oK (Kelvin). Der Siedepunkt liegt bei 373oK. Schreibe ein Programm, das den Anwender nach der Luft- und Dampftemperatur fragt und die maximal mögliche Effizienz der Dampfmaschine ausgibt. Aber, wenn die Dampftemperatur weniger als 373oK beträgt, dann gibt es keinen Dampf und die Effizienz beträgt 0.

Geben Sie die Lufttemperatur ein: 300
Geben Sie die Dampftemperatur ein: 373
Die Effizienz betraegt: 0.1957104557640751

Wir verwenden Ganzzahl- oder Gleitpunkt-Input, aber führen die Berechnungen mit Gleitpunkt durch.

Zurück zum Inhaltsverzeichnis.


Aufgabe 3 — Mikrowellenherd

Der Hersteller eines Mikrowellenherds empfiehlt beim Erhitzen von zwei Posten 50% mehr Erhitzungszeit und beim Erhitzen von drei Posten, die Erhitzungszeit zu verdoppeln. Das Erhitzen von mehr als drei Posten wird nicht empfohlen.

Wir schreiben ein Programm, das den Anwender nach der Anzahl der Posten und nach der Erhitzungszeit für einen Posten fragt. Das Programm gibt dann die empfohlene Erhitzungszeit aus.

Hinweis: Wir verwenden vier aufeinanderfolgende einzweigige if-Anweisungen, wobei jede von ihnen einen von vier Fällen testet: 1 Posten, 2 Posten, 3 Posten, mehr als drei Posten. Wenn Ihr nicht weiterkommt, werft einen Blick auf das Sportwagen-Programm in diesem Kapitel.

Zurück zum Inhaltsverzeichnis.


Aufgabe 4 — Fantasy-Spiel

In einem Fantasy-Rollenspiel können die Spieler ihre Spielfiguren entwerfen, indem sie einen Punktwert für jedes von drei Merkmalen vergeben:

Wir schreiben ein Programm, das nach dem Namen der Spielfigur und nach den Punktwerten der einzelnen drei Merkmale fragt. Aber, die Gesamtpunktzahl muss geringer als 15 sein. Wenn die Gesamtpunktzahl 15 überschreitet, dann wird jedem Merkmal 5 Punkte zugewiesen.

Willkommen zu Yertle's Schatzsuche
Geben Sie den Namen der Spielfigur ein:
Chortle
Staerke eingeben (1-10):
8
Gesundheit eingeben (1-10):
4
Glueck eingeben (1-10):
6

Sie haben Ihrer Spielfigur zu viele Punkte gegeben! Es wurden die Standardwerte zugewiesen:
Chortle, Staerke: 5, Gesundheit: 5, Glueck: 5

(Diese Benutzerschnittstelle könnte wesentlich komplizierter gestaltet werden. Vielleicht möchtet Ihr einige eurer eigenen Ideen implementieren.)

Zurück zum Inhaltsverzeichnis.


Ende der Aufgaben