📝 Schreibtischtest: Schleifen nachvollziehen

Ein Schreibtischtest (engl. desk check) ist eine klassische Prüfungsaufgabe: Du spielst eine Schleife von Hand durch und trägst nach jedem Durchlauf in eine Tabelle ein, welche Werte die Variablen haben und was ausgegeben wird. So verstehst du den Ablauf – statt nur das Ergebnis zu raten.

Der immer gleiche Dreischritt pro Durchlauf

  1. Bedingung prüfen – ist die Schleifenbedingung noch wahr? Wenn nein, stoppt die Schleife.
  2. Block ausführen – die Anweisungen laufen, Variablen ändern sich, evtl. wird etwas ausgegeben.
  3. Zählvariable ändern – z. B. $i++. Ohne diesen Schritt würde die Schleife ewig laufen.

Fülle unten die leeren Zellen aus und klicke ✓ Prüfen – jede Zelle wird grün (richtig) oder rot (falsch) markiert. Mit 💡 Lösung zeigen trägst du die richtigen Werte ein, mit ↺ Zurücksetzen beginnst du neu.

💡 Tipp zur Schreibweise: Pfeile darfst du als ->, => oder schreiben, und Mal als ×, x oder * – das System erkennt alle Varianten an.

📝 for-Schleife – Zwischenwerte und Endwert einfach for

Beschreiben Sie den Programmablauf der for-Schleife in jeder Iteration: Wie lautet das Ergebnis der Bedingungsprüfung, welchen Wert hat $i, und was wird ausgegeben? Achten Sie besonders auf den Endwert von $i.

<?php
for ($i = 0; $i <= 3; $i++) {
    echo "Zwischenwert von i: $i <br>";
}
echo "Endwert von i: $i";
?>
Durchlauf Bedingung $i <= 3 Wert $i Ausgabe
1.
2.
3.
4.
Ende
So sieht die echte Programmausgabe aus
Zwischenwert von i: 0
Zwischenwert von i: 1
Zwischenwert von i: 2
Zwischenwert von i: 3
Endwert von i: 4
💡 Häufigster Fehler: Endwert wird als 3 statt 4 angegeben. $i wird nach dem letzten gültigen Durchlauf noch auf 4 erhöht – erst dann ist 4 <= 3 falsch und die Schleife stoppt.

📝 while-Schleife – Zähler & Ergebnis mittel while

Führen Sie den Schreibtischtest für die while-Schleife durch. Notieren Sie pro Durchlauf das Ergebnis der Bedingung, die Rechnung für $ergebnis, die Ausgabe und den Wert von $zähler NACH dem Durchlauf. Wann und warum stoppt die Schleife?

<?php
$zähler   = 1;
$ergebnis = 1;
while ($zähler < 5) {
    $ergebnis = $ergebnis * $zähler;
    echo "Zwischenergebnis: $ergebnis <br>";
    $zähler = $zähler + 1;
}
echo "Ergebnis: $ergebnis";
?>
Startwerte: $zähler = 1 $ergebnis = 1
Durchlauf $zähler < 5 ? $ergebnis = $ergebnis × $zähler Ausgabe $zähler danach
Start $ergebnis = 1 1
1.
2.
3.
4.
Ende
So sieht die echte Programmausgabe aus
Zwischenergebnis: 1
Zwischenergebnis: 2
Zwischenergebnis: 6
Zwischenergebnis: 24
Ergebnis: 24
💡 Reihenfolge beachten: Erst wird multipliziert, DANN $zähler erhöht – daher 1×1, 1×2, 2×3, 6×4 (und nicht 1×2×3×4×5). Nach dem 4. Durchlauf ist $zähler = 5, die Bedingung 5 < 5 ist falsch und die Schleife stoppt mit dem Ergebnis 24.

📝 foreach-Schleife – laufende Summe (Beispiel) einfach foreach

Beispielaufgabe: Verfolgen Sie, wie die foreach-Schleife die Preise aufsummiert. Notieren Sie pro Durchlauf den aktuellen $preis, den neuen $summe-Wert und die Ausgabe.

<?php
$preise = [10, 20, 30];
$summe = 0;
foreach ($preise as $preis) {
    $summe = $summe + $preis;
    echo "Summe: $summe <br>";
}
echo "Gesamt: $summe";
?>
Startwerte: $summe = 0
Durchlauf aktueller $preis $summe = $summe + $preis Ausgabe
1.
2.
3.
Ende
So sieht die echte Programmausgabe aus
Summe: 10
Summe: 30
Summe: 60
Gesamt: 60
💡 foreach gibt dir bei jedem Durchlauf automatisch das nächste Listen-Element in $preis – du musst keinen Zähler selbst hochzählen.