Skip to content
Snippets Groups Projects
nur_sterne_sehen.py 1.29 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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
    
    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.
    """