MINT üben

Rekursive Methoden entwerfen

Zwei Aufgaben im Abiturformat — vom Binärsystem bis zum Wechselgeld.

Dein Fortschritt:
0 / 0 Aufgaben
1

Zahlen im Binärsystem

AFB I–II

Ein Lernprogramm zeigt zu jeder eingegebenen Zahl ihre Binärdarstellung. Dazu wird die abgebildete Methode verwendet. In Java hängt + eine Zahl an eine Zeichenkette an, "" + n macht aus der Zahl n eine Zeichenkette.

Material: Methode binaer
static String binaer(int n) {
    if (n < 2) {
        return "" + n;
    }
    return binaer(n / 2) + (n % 2);
}
  1. Wenden Sie die Methode auf n = 13 an. Geben Sie alle Aufrufe und die jeweiligen Rückgabewerte an. 4 BE
  2. Erläutern Sie, warum der Selbstaufruf vor dem Anhängen von n % 2 stehen muss. Geben Sie an, was return (n % 2) + binaer(n / 2); für n = 13 liefern würde. 4 BE
  3. Entwerfen Sie eine rekursive Methode zurBasis(int n, int b), die die Darstellung von \(n \ge 0\) zur Basis \(b\) mit \(2 \le b \le 9\) liefert, z. B. zurBasis(100, 8) = "144". 4 BE
  4. Schätzen Sie ab, wie viele Aufrufe binaer(n) für \(n \ge 1\) benötigt, und begründen Sie Ihre Angabe. 3 BE

Insgesamt 15 BE

Hinweise

Hinweis zu Aufgabe a)
Notieren Sie die Aufrufe untereinander, bis n kleiner als 2 ist, und setzen Sie die Ergebnisse dann von unten nach oben zusammen.
Hinweis zu Aufgabe b)
Welche Binärziffer liefert n % 2 — die höchstwertige oder die niedrigstwertige?
Hinweis zu Aufgabe c)
Ersetzen Sie in binaer die 2 durch den Parameter b.
Hinweis zu Aufgabe d)
Wie oft kann man eine Zahl ganzzahlig halbieren, bis sie kleiner als 2 ist?