Grundlagen der Programmierung (Pseudocode nachverfolgen)
Das folgende Programm gibt eine verkettete Liste aus, deren Elemente über das Array next verbunden sind, indem es ihr ab dem Element mit Index 1 folgt. Die Array-Indizes beginnen bei 1. Der next-Wert 0 markiert das Ende der Liste. Welche Folge von Werten wird ausgegeben?
string array: val ← {"A", "B", "C", "D", "E"}
integer array: next ← {3, 0, 5, 2, 4}
integer: p ← 1
while (p ≠ 0)
output val[p]
p ← next[p]
endwhile
- AA, B, C, D, E
- BC, E, D, B
- CA, C, E, D, B
Antwort und Erläuterung anzeigen
Antwort: C. A, C, E, D, B
Mit p = 1 gibt das Programm val[1], also A, aus, und p ← next[1] setzt p auf 3. Danach gibt es C aus und geht zu next[3] = 5, gibt E aus und geht zu next[5] = 4, gibt D aus und geht zu next[4] = 2 und gibt B aus und geht zu next[2] = 0, womit die Schleife endet. Die Ausgabe ist A, C, E, D, B. Die Reihenfolge der Liste wird durch die Werte in next bestimmt, nicht durch die Reihenfolge im Array.
Weiter: 9 weitere Fragen zu Grundlagen der Programmierung (Pseudocode nachverfolgen)