ZWEI MASCHINEN · EINE SUMME?

Zähle die Arbeit, nicht nur die Plätze.

05 / 17

Deine Mission

Beide Maschinen bekommen dasselbe Array. Finde heraus, ob sie dasselbe Ergebnis liefern — und warum ihre Arbeit trotzdem verschieden ist.

Erster Zug: Verändere genau eine Zahl. Beobachte sofort, was mit den Einzelschritten passiert.

fun1: val = val + a[i]

fun2: solange v > 0: val += 1; v -= 1
      solange v < 0: val -= 1; v += 1

Array unter Strom

Drehe an den drei Werten. fun2 zerlegt jede Zahl in +1- oder −1-Schritte.

a[0]2
a[1]−1
a[2]3
Rückgabe beider Funktionen42 − 1 + 3
Innere Schritte von fun26|2| + |−1| + |3|
v ist nur eine Arbeitskopie von a[i]. Jede Runde bewegt v um genau 1 Richtung 0 — und val um denselben Schritt Richtung a[i].
Für a[i] = −3: v: −3 → −2 → −1 → 0 und gleichzeitig val dreimal −= 1. Netto wird also −3 addiert.

Gleiches Ergebnis?

Was gilt für beliebige positive, negative und Null-Werte?

Wähle eine Aussage.

Die n-Falle knacken

Zwei Arrays haben beide n = 3. Welcher Schluss ist korrekt?

[1, 1, 1]fun2: 3 innere Schritte
[100, 100, 100]fun2: 300 innere Schritte
Wähle die präzise Laufzeitaussage.

Prüfungssatz bauen

Wann erwartest du bei fun2 die höhere Laufzeit? Formuliere einen Satz. Erst dein Versuch öffnet den Musterweg.

Wie sitzt es?

Noch nicht markiert.