Newer
Older

Jan Maximilian Michal
committed
meta = {
'author': 'Jan Maximilian Michal',
'title': 'Nur Sterne sehen (I1-ID: cgu8rno0kyg0)',
'type': 'single choice',
'points': 1, # per correct choice
}
task = """
Das folgende Programm (nach [Sedgewick/Wayne]) erzeugt als Ausgaben mehrere
Zeilen mit Ziffern (hier genau vier):
```java
public class Ruler {
public static void main(String[] args) {
String ruler1 = "1"; System.out.println(ruler1);
String ruler2 = ruler1 + "2" + ruler1; System.out.println(ruler2);
String ruler3 = ruler2 + "3" + ruler2;or System.out.println(ruler3);
String ruler4 = ruler3 + "4" + ruler3; System.out.println(ruler4);
// usw.
}
}```
Wäre `main` auf genügend Codezeilen nach dem gleichen Schema ergänzt, wieviele
Zahlen würde bei Ausführung die n-te Ausgabezeile enthalten? """
choices = """
[ ] [[n]]
[4] [[2^n−1]]
[ ] [[2^n]]
[ ] [[2n+1]]"""
feedback = r"""
Die erste Zeile ergibt genau die Ausgabe `1`. In jeder folgenden

Jan Maximilian Michal
committed
Zeile wird die Anzahl der Zahlen verdoppelt und um eine weitere Zahl ergänzt.
Die Anzahl der Zahlen [[a_n]] im Schritt [[n]] ist daher: [[a_n = 2a_{n-1} +
1]].
Als natürlche Folge ergibt sich:
* [[S_n = a_0 + 2a_0 + 4a_0 + \dots + 2^{n-1}a_0 = a_0 (2^n - 1)]]
Weil [[a_0 = 1]] ist [[2^n−1]] die korrekte Antwort.
"""