Teil 2

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Loading
Mit Hilfe von Wahrheitswerten lassen sich Bedingungen an die Eingabedaten formulieren, unter denen ein Programm bestimmte Anweisungen ausführen soll. Dafür gibt es in Java wieder ein fest vorgegebenes Schema:

if(<Bedingung>){
  <Anweisung>;
  ...
  <Anweisung>;
}

Das Schema liest sich wie folgt: "Wenn die Bedingung erfüllt ist, führe diese Anweisungen aus, ansonsten führe diese Anweisungen nicht aus!" Der Block von Anweisungen, der ausgeführt werden soll, wird stets von geschweiften Klammern umschlossen. Die Bedingung ist ein logischer Ausdruck, der true oder false ergibt. Er wird mittels logischer Operatoren und/oder Vergleichsoperatoren formuliert.

Beispiel:

Als Bedingung kann auch eine Variable vom Typ boolean angegeben werden. In diesem Fall wird der Block von Anweisungen genau dann ausgeführt, wenn der Wert der Variable true ist.

Beispiel:

Sie sehen, dass keine Ausgabe angezeigt wird, da die Variable test zum Zeitpunkt der Überprüfung der Bedingung den Wert false besitzt.

Zusätzlich kann in Java auch ein Block von Anweisungen angegeben werden, der ausgeführt wird, wenn die Bedingung nicht erfüllt ist. Das alternative Schema lautet daher:

if(<Bedingung>){
  <Anweisung>;
  ...
  <Anweisung>;
}else{
  <Anweisung>;
  ...
  <Anweisung>;
}

Das liest sich so: "Wenn die Bedingung erfüllt ist, führe den ersten Block von Anweisungen aus, ansonsten führe den zweiten Block von Anweisungen aus!". Ein Block von Anweisungen wird immer von geschweiften Klammern eingeschlossen.

Beispiel:

Mit Bedingungen können unsere Methoden im Folgenden wesentlich intelligenter arbeiten als bisher.


Muster für die Aufgaben (außer Aufgabe 4)

Nutzen Sie folgendes Schema zur Bearbeitung der Aufgaben:

<Rückgabe-Datentyp> <Methodenname>(<Parameter-Datentyp> <Parametername>, <Parameter-Datentyp> <Parametername>,...){
   <Rückgabe-Datentyp> <ergebnisvariable> = <Wert>;  
   if(<Bedingung1>){ 
     <ergebnisvariable> = Berechnungsvorschrift zur Verarbeitung der Parameter;
   }
   if(<Bedingung2>){
     <ergebnisvariable> = Berechnungsvorschrift zur Verarbeitung der Parameter;
   }
   return <ergebnisvariable>;
}
  • Ich empfehle, die Rückgabevariable oberhalb der if-Blöcke zu initialisieren.
  • Außerdem empfehle ich, die return-Anweisung einmalig zu verwenden und ganz am Ende der Methode zu platzieren.

Der Rückgabetyp kann je nach Aufgabenstellung double, int oder boolean sein. Es können eine, zwei oder mehr Bedingungen erforderlich sein. Auch else-Blöcke und beliebig viele Hilfsvariablen können Sie natürlich einsetzen. Das Schema dient dazu, Fehler zu vermeiden und übersichtlichen, sauberen Code zu erhalten.


Muster für Aufgabe 4

 void <Methodenname>(<Parameter-Datentyp> <Parametername>, <Parameter-Datentyp> <Parametername>,...){
   String <ergebnisvariable> = " ";  
   if(<Bedingung1>){ 
     <ergebnisvariable> = "<hier soll die Ausgabe stehen>";
   }
   if(<Bedingung2>){
     <ergebnisvariable> = "<hier soll die Ausgabe stehen>";
   }
   System.out.println(<ergebnisvariable>);
 }

Das Muster unterscheidet sich vom oberen Muster durch den Rückgabetyp void. Die Druckanweisung wird einmalig am Ende der Methode ausgeführt.


Aufgabe 1

Erweitern Sie Ihre Methode zur Berechnung des Kreisumfangs (z.B. aus Arbeitsblatt Teil_3) so, dass die Berechnung nur ausgeführt wird, wenn der als Parameter übergebene Radius größer oder gleich 0 ist. Andernfalls soll die Methode den Wert -1 zurückgeben (sozusagen als Fehlercode).


Aufgabe 2

Gegeben sei folgende Funktion: $$f(x) = \begin{cases}\frac{12}{3+x^2} & x\leq 3\\ e^x & x>3\end{cases}$$ Die eulersche Zahl e erhalten wir über Math.E

Setzen Sie die Funktion als Java-Methode um!


Aufgabe 3

Gegeben sei folgende Funktion: $$f(x) = \begin{cases}1-cos\frac{x}{2} & 0\leq x\leq 3\pi\\ \frac{16}{(x-16)^2} & x>3\pi\end{cases}$$

Setzen Sie die Funktion als Java-Methode um!


Aufgabe 4

Kopieren Sie Ihre Methode zur Berechnung des Body-Mass-Index (BMI) in die folgende Codebox!

Der BMI als Zahl ist für den Nutzer nicht sehr vielsagend. Daher werden 8 Kategorien gebildet:

BMI.png

Entwickeln Sie eine Ausgabe-Methode ohne Rückgabewert, die Gewicht und Größe als Parameter entgegennimmt. In der Methode soll unter Anwendung der oberen Methode der BMI-Wert ausgerechnet werden. Überprüfen Sie mit Hilfe von Bedingungen, welcher Kategorie der BMI-Wert zugeordnet werden muss! Entscheiden Sie selbst, ob Sie die Kategorie für Mann oder Frau ermitteln. Die Kategorie, auf die der BMI-Wert zutrifft, soll dem Anwender auf der Konsole angezeigt werden.


Aufgabe 5

Quelle: | Christian Pape

Gegeben seien drei Variablen, die Auskunft über Eigenschaften einer bestimmten Stadt geben:

boolean istHaupstadt; int anzahlEinwohner; double steuernProEinwohner;

Dabei gilt folgendes:

  • istHauptstadt ist genau dann true, wenn die Stadt eine Hauptstadt ist.
  • anzahlEinwohner gibt die Anzahl der Einwohner der Stadt an.
  • steuernProEinwohner ist die durchschnittliche monatliche Steuerabgabe pro Einwohner und Monat.

Wir definieren eine Metropole als eine Stadt, die Hauptstadt ist mit mehr als 100 000 Einwohner oder die mehr als 200 000 Einwohner hat und im Durchschnitt mindestens 720 000 000 Steuereinnahmen hat.

Entwickeln Sie eine Methode ist_metropole, die genau dann true zurückgibt, wenn die Stadt eine Metropole ist!


Aufgabe 6

Quelle: | Christian Pape

Wir betrachten eine fiktive Hausratversicherung, bei der die Prämie wie folgt von der Anzahl der Personen und der Quadratmeteranzahl flaeche der Wohnung abhängt:

personen	Prämie
1-2	    10 + flaeche / 2
3	    15 + flaeche
4	    15 + 1,5 * flaeche
>4	    25 + 2 * flaeche

Entwickeln Sie eine Methode, welche den Wert der Versicherungsprämie in Abhängigkeit von den Parametern fläche und personen berechnet und zurückgibt!


Aufgabe 7

Quelle: | Christian Pape

In der Klausur Informatik 1 können Sie maximal 120 Punkte erreichen. Die Note wird anhand folgender Skala ermittelt:

Note	Punkte
5,0	0 - 49,5
4,0	50 - 64,5
3,0	65 - 79,5
2,0	80 - 94,5
1,0	95 - 120

Implementieren Sie eine Methode, die für eine Punktzahl von 0 bis 120 die entsprechende Note berechnet und zurückgibt.

Persönliche Werkzeuge