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:
- Stärke, von 1 bis 10
- Gesundheit, von 1 bis 10
- Glück, von 1 bis 10
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