MezData-Logo Creative Commons License 904 Lösungen Button :PI-BASIS: If-Anweisung / Benzinrechner

Problem: Ein Programm soll nach Eingabe der gefahrenen Km und der verbrauchten Liter den Spritverbrauch auf 100Km berechnen.

Aufgabe 1

PapieraufgabeErstellen Sie ein Struktogramm für die Problemlösung, verwenden Sie die Variablen km, l, verbrauch : double

RechneraufgabeImplementieren Sie Ihre Lösung als Projekt "benzinrechner"!

Musterlösung...

Einseitige Verzweigung / bedingte Anweisung

Problem: Der Benzinrechner soll eine Warnung ausgeben, wenn der Verbrauch über 8.0 Liter beträgt.

Mit anderen Worten: Die Anweisung für die Warnausgabe soll nur erfolgen, wenn die Bedingung (verbrauch > 8.0) erfüllt ist:

Struktogramm

C-Quelltext

if (verbrauch > 8.0){           // wenn verbrauch > 8.0
  Ausgabe "Zu viel Verbrauch!"; // Ausgabe "zu viel" 
}                               //-wenn verbrauch > 8.0

Aufgabe 2

RechneraufgabeFügen Sie die bedingte Anweisung in Ihr Struktogramm ein und implementieren Sie die Lösung.

Musterlösung...

Zweiseitige Verzweigung

Problem: Der Benzinrechner soll eine Warnung ausgeben, wenn der Verbrauch über 8.0 Liter beträgt, sonst soll er den Fahrer loben.

Struktogramm

C-Quelltext

if (verbrauch > 8.0){           // wenn verbrauch > 8.0
  Ausgabe "Zu viel Verbrauch!"; // Ausgabe "zu viel"
}                               //-wenn verbrauch > 8.0
else{                           // sonst verbrauch <= 8.0
  Ausgabe "Sparsam gefahren!";  // Ausgabe "sparsam"
}                               //-sonst verbrauch <= 8.0

Aufgabe 3

RechneraufgabeFügen Sie die zweiseitige Verzweigung in Ihr Struktogramm ein und implementieren Sie die Lösung.

Allgemeine if-Anweisung

Struktogramm

C/Java-Quelltext

if (Bedingung)  // Kopf der if-Anweisung
  Verarbeitung 1  // wenn Bedingung erfüllt
                         
else            // sonst-Zweig 
  Verarbeitung 2  // wenn Bedingung nicht erfüllt
 

Bedingung

Die Bedingung ist ein sogenannter Boolscher-Ausdruck er hat nach seiner Auswertung den Wert true oder false Beispiel:

x != 3 wird für x-Werte ungleich 3 true sonst false

Hinweis zu C: In C werden Werte ungleich 0 auch als true gewertet, somit hätte der Ausdruck x - 3 die selbe Wirkung als Bedingung wie x !=3.

In Java müssen Bedingungen vom Typ boolean sein!

Verarbeitung

Es gibt drei Möglichkeiten für Verarbeitung

Beispiel leere Anweisung eine Anweisung Block von Anweisungen
if (Bedingung)
  Verarbeitung
if (Bedingung);
if (Bedingung)
  Anweisung;
if (Bedingung){
  Anweisung 1;
  Anweisung 2;
  ...
  Anweisung n;
}
else
  Verarbeitung
else ;

Hinweis: Hier kann der else-Zweig
weggelassen werden

else
  Anweisung;
else{
  Anweisung 1;
  Anweisung 2;
  ...
  Anweisung n;
}

Verschachtelung von Verzweigungen

Problem: Der Benzinrechner soll in Abhänigkteit des Verbrauchs ausgeben:

Verbrauch in Litern Ausgabe
< 6.0 Sparsam gefahren!
6.0 .. 8.0 Normal
> 8.0 Zu viel Verbrauch!

 

© Oliver Mezger 15.02.2006 MezData.de Den Kontakt herstellen...