Übungsblatt zu logischen Ausdrücken sowie einzweigigen und geschachtelten Fallunterscheidungen



Aufgabe 1: Internet Delikatessen

Ein Delikatessengeschäft benötigt ein Programm zur Rechnungserstellung. Das Programm erfragt den Preis in Cent des gewünschten Artikels 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.

Beispielablauf:

  




Aufgabe 2: Kontogebühr

Eine Bank verfährt nach der folgenden Regel: Wenn ein Kunde auf seinem Girokonto einen monatlichen Geldeingang von mehr als €2000 oder auf seinem Sparkonto ein Guthaben von mehr als €15000 hat, wird keine Kontogebühr erhoben. Andernfalls wird eine Gebühr von €4,50 pro Monat erhoben. Schreiben Sie ein Programm, das nach dem Geldeingang und Guthaben fragt und dann ausgibt, ob eine Gebühr erhoben wird oder nicht.

Beispielablauf 1:

Willkommen bei der Geldbank.
Bitte geben Sie Ihren Geldeingang und Ihr Guthaben ein.

Geldeingang: 2050
Guthaben: 1000

Glückwunsch! Wir erheben keine Kontogebühren!

Beispielablauf 2:

Willkommen bei der Geldbank.
Bitte geben Sie Ihren Geldeingang und Ihr Guthaben ein.

Geldeingang: 1950
Guthaben: 5000

Wir müssen bei Ihnen leider Kontogebühren erheben.
    

Aufgabe 3: Reifendruck

Die beiden vorderen Reifen eines Autos sollten beide denselben Reifendruck haben. Ebenso sollten die beiden hinteren Reifen denselben Reifendruck haben, aber nicht unbedingt denselben wie die Vorderreifen. Schreiben Sie ein Programm, das den Reifendruck der vier Reifen einliest und dann eine Meldung ausgibt, ob der Reifendruck in Ordnung ist oder nicht.

Beispielablauf 1:

Reifendruck rechts vorne: 38
Reifendruck links vorne: 38
Reifendruck rechts hinten: 42
Reifendruck links hinten: 42

Der Reifendruck ist in Ordnung

Beispielablauf 2:

Reifendruck rechts vorne: 38
Reifendruck links vorne: 40
Reifendruck rechts hinten: 44
Reifendruck links hinten: 44

Der Reifendruck ist NICHT in Ordnung

Zum Vergleich nochmal die Ausgabe unter Processing:





Aufgabe 4: Reifendruck zum Zweiten

Es genügt nicht, dass der Reifendruck der beiden Vorder- und Hinterräder derselbe ist. Die Drücke der beiden Reifen müssen sich ebenfalls jeweils innerhalb eines bestimmten Bereichs befinden. Erweitern Sie das Programm aus der vorigen Aufgabe in der Weise, dass zusätzlich überprüft wird, ob der Druck jedes Reifens sich zwischen 35 und 45 befindet. Befindet sich ein Reifen außerhalb dieses Bereichs, wird sofort eine Warnmeldung ausgegeben. Danach fährt das Programm mit dem Einlesen und Verarbeiten der Werte fort.

Kommt es zu einer Warnmeldung auf Grund des nicht eingehaltenen Druckbereichs, dann gibt das Programm am Ende zusätzlich eine letzte Warnmeldung aus. Diese Warnmeldung wird auch ausgegeben, wenn sich die Reifendrücke der beiden Vorderreifen oder der beiden Hinterreifen voneinander unterscheiden.

Deklarieren Sie für die Umsetzung dieser unterschiedlichen Situationen eine boolesche Variable goodPressure.

Initialisieren Sie die Variable goodPressure mit true und setzen Sie den Wert auf false, wenn sich ein Reifen außerhalb des gültigen Bereichs befindet.

Beispielablauf 1:

Reifendruck rechts vorne: 32
Warnung: Der Reifendruck ist außerhalb des erlaubten Bereichs

Reifendruck links vorne: 32
Warnung: Der Reifendruck ist außerhalb des erlaubten Bereichs

Reifendruck rechts hinten: 42
Reifendruck links hinten: 42

Der Reifendruck ist NICHT in Ordnung!

Beispielablauf 2:

Reifendruck rechts vorne: 38
Reifendruck links vorne: 40
Reifendruck rechts hinten: 44
Reifendruck links hinten: 44

Der Reifendruck ist NICHT in Ordnung!

Beispielablauf 3:

Reifendruck rechts vorne: 38
Reifendruck links vorne: 38
Reifendruck rechts hinten: 40
Reifendruck links hinten: 40

Der Reifendruck ist in Ordnung!

Aufgabe 5: Reifendruck zum Dritten

Reifen müssen nicht genau denselben Druck haben. Erweitern Sie Ihr Programm aus der vorigen Aufgabe dahingehend, dass sich zusätzlich die Drücke der beiden Vorder- und Hinterräder in einem Toleranzbereich von 3 psi bewegen dürfen.

Beispielablauf 1:

Reifendruck rechts vorne: 35
Reifendruck links vorne: 37
Reifendruck rechts hinten: 41
Reifendruck links hinten: 41

Der Reifendruck ist in Ordnung!

Beispielablauf 2:

Reifendruck rechts vorne: 35
Reifendruck links vorne: 37
Reifendruck rechts hinten: 40
Reifendruck links hinten: 45

Der Reifendruck ist NICHT in Ordnung!

Aufgabe 6: Mikrowellenherd

Ein Hersteller von Mikrowellen empfiehlt, bei der Erwärmung von Lebensmitteln 50% zur Erwärmungszeit zu addieren, wenn die Mikrowelle mit zwei Produkten gefüllt wird. Werden drei Produkte gleichzeitig erwärmt, so soll die Erwärmungszeit sogar verdoppelt werden. Mehr als drei Produkte gleichzeitig zu erwärmen wird nicht empfohlen.

Schreiben Sie ein Programm, dass nach der Anzahl zu erwärmender Produkte und der Erwärmungszeit für ein Produkt fragt und daraus die empfohlene Erwärmungszeit für alle Produkte berechnet.

Beispielablauf 1:

Bitte geben Sie die Erwärmungszeit des Produkts in Sekunden ein: 180
Bitte geben Sie die Anzahl der Produkte ein: 2

Die Erwärmungszeit beträgt: 270s

Beispielablauf 2:

Bitte geben Sie die Erwärmungszeit des Produkts in Sekunden ein: 180
Bitte geben Sie die Anzahl der Produkte ein: 3

Die Erwärmungszeit beträgt: 360s

Beispielablauf 3:

Bitte geben Sie die Erwärmungszeit des Produkts in Sekunden ein: 180
Bitte geben Sie die Anzahl der Produkte ein: 4

Fehler: Mehr als drei Produkte

Beispielablauf 4:

Bitte geben Sie die Erwärmungszeit des Produkts in Sekunden ein: 180
Bitte geben Sie die Anzahl der Produkt ein: -2

Falsche Produktanzahl

Entsprechend für Anzahl Produkte gleich 0 oder Erwärmungszeit <= 0.

Aufgabe 7: Torten essen

Beim "State Fair Pie Eating Contest" müssen die Teilnehmer in der Schwergewichtsklasse zwischen 235 und 265 Pfund wiegen. Schreiben Sie ein Programm, das nach dem Gewicht des Teilnehmers fragt und dann ausgibt, ob er oder sie zum Wettbewerb in der Schwergewichtsklasse zugelassen ist oder nicht.

Beispielablauf 1:

Bitte geben Sie ihr Gewicht in Pfund ein: 230
Sie sind leider zu leicht für die Schwergewichtsklasse

Beispielablauf 2:

Bitte geben Sie ihr Gewicht in Pfund ein: 250
Sie sind für die Schwergewichtsklasse zugelassen

Beispielablauf 3:

Bitte geben Sie ihr Gewicht in Pfund ein: 300
Sie sind leider zu schwer für die Schwergewichtsklasse

Aufgabe 8: Entscheidungsbaum

Implementieren Sie den in der Vorlesung erläuterten Entscheidungsbaum für das Sortieren dreier Zahlen. Das Programm soll die drei Zahlenwerte vom Benutzer erfragen und die sortierten Zahlenwerte in aufsteigender Reihenfolge ausgeben. (Dieses Programm werden wir in einer der folgenden Übungen wieder benötigen!)

Beispielablauf:

Erste Zahl: 100
Zweite Zahl: -6
Dritte Zahl: 14

Ergebnis: -6, 14, 100

Aufgabe 9: switch-Anweisung

Die Wochentage Montag bis Sonntag seien durch die Zahlenwerte 1 bis 7 codiert. Ein Sekretariat hat Montag, Samstag und Sonntag geschlossen. Von Dienstag bis Donnerstag ist es von 09:00-15:30 geöffnet. Freitags hingegen nur von 09:00-13:00.

Schreiben Sie ein Programm, welches zunächst den Wochentag einliest und dann die dazu passenden Öffnungszeiten des Sekretariats ausgibt. Wird ein Zahlenwert außerhalb des Bereichs 1 bis 7 eingegeben, so erfolgt eine Fehlermeldung des Programms.

Beispielablauf 1:

Tag: 1
Geschlossen





Beispielablauf 2:

Tag: 10
Kein zulaessiger Tag





Beispielablauf 3:

Tag: 3
09:00-15:30