Jahrgangsstufe Ef - Informatik - Dienstag, der 09. Februar 2021


Mein Name:
Jahrgang/Klasse:
Meine E-Mail-Adresse:


Musterlösung vom 02.02.2021:

Die Aufgaben bzw. Lösungen zum 02.02.2021 sind hier in einer direkt lauffähigen Klasse zusammengefasst.

public class SchleifenII_02_02_2021
{
  public SchleifenII_02_02_2021()
  { int beispiel = 17;
    if (istGerade(beispiel))
         System.out.println("Die Zahl " + beispiel + " ist gerade.");
    else System.out.println("Die Zahl " + beispiel + " ist ungerade.");

    System.out.println("Das Maximum der Zahlen 17 und 23 ist " + maximum(17, 23) + ".");

    int collatzLaenge = collatzAnzahl(beispiel);
    String ausgabe = "Mit dem Startwert " + beispiel;
    ausgabe = ausgabe + " ist die Folgenlaenge " + collatzLaenge + ".";
    System.out.println(ausgabe);
  }

  public int maximum(int zahl1, int zahl2)
  {  if(zahl1 > zahl2)
          return zahl1;
     else return zahl2;
  }

  public boolean istGerade(int zahl)
  {  if(zahl % 2 == 0)
          return true;
     else return false;
     // Noch kuerzer: return (zahl % 2) == 0;
  }

  public int collatzAnzahl(int start)
  { // 3A + 1 - Problem
    int zahl = start;
    int anzahl = 1;
    while (zahl != 1)
    {    if (zahl % 2 == 0)
              zahl = zahl / 2;
         else zahl = 3 * zahl + 1;
         anzahl++;
    }
    return anzahl;
  }
}

Programmierübung 1:

Lege in Bluej in einem schon existierenden Verzeichnis eine neue Klasse (Art: Klasse) an und kopiere den obenstehenden Text über die Zwischenablage hinein und bringe das Programm zum Laufen (Alternative: Download der Java-Datei SchleifenII_02_02_2021.java). Teste das Programm auch mit verschiedenen Beispielzahlen. Teste auch die Kurzvariante der Funktion istGerade(int zahl).

Programmierübung 2 (Wiederholung zum 04.02.2021):

Eine Funktion mittelwert soll den Mittelwert (arithmetisches Mittel) von zwei Zahlen liefern.

public double mittelwert(double zahl_1, double zahl_2)
{
// fehlt noch
}

Eine Funktion positiv soll den booleschen Wert true oder false für eine Zahl x liefern, je nachdem, ob sie positiv oder nicht positiv ist.

public boolean positiv(double zahl)
{
// fehlt noch
}

Nimm die obige Musterlösung zum 02.02.2021 als Vorlage und erweitere diese Klasse um die beiden angegebenen Funktionen.
Erweitere dann auch die Ausgabeanweisungen im Konstruktor um Anweisungen, die die beiden Funktionen geeignet aufrufen.
Eine zusätzliche Ausgabe des Programmes sollte etwa so aussehen:

Die Zahl x ist 3.1415926.
Die Zahl ist positiv.

oder so:

Die Zahl x ist -5.389.
Die Zahl ist nicht positiv.

Kopiere dann den kompletten Text der erweiterten lauffähigen Klasse über die Zwischenablage in dieses Formular.