Grundlagen der Programmierung (Pseudocode nachverfolgen)

Die Array-Indizes beginnen bei 1, und + verkettet Zeichenketten. Welchen Wert hat r, nachdem das folgende Programm ausgeführt wurde?

string array: s ← {"S", "T", "O", "P"}
string: r ← ""
for (i from 1 to length(s) step 1)
  r ← s[i] + r
endfor
  1. APOTS
  2. BPOT
  3. CSTOP
Antwort und Erläuterung anzeigen

Antwort: A. POTS

r ← s[i] + r fügt jedes neue Zeichen vorn (links) an r an. r ändert sich zu „S“, „TS“, „OTS“ und „POTS“; die Zeichen stehen am Ende also in umgekehrter Reihenfolge. Mit r ← r + s[i] würde jedes Zeichen hinten angefügt, und es ergäbe sich „STOP“, wie im Original.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen der Programmierung (Pseudocode nachverfolgen)

  1. Die folgende Funktion isPal gibt true zurück, wenn die Zeichen im Zeichenketten-Array s vorwärts und rückwärts gelesen gleich sind (ein Palindrom). Die Array-Indizes beginnen bei 1. Was gehört an die Stelle von 【a】 im Programm?
  2. ÷ ist die Division; wird das Ergebnis einer ganzzahligen Variablen (auch einem Funktionsargument) zugewiesen, wird der Nachkommaanteil abgeschnitten. Was gibt die folgende Funktion f beim Aufruf f(9087) zurück?
  3. ÷ ist die Division; wird das Ergebnis einer ganzzahligen Variablen (auch einem Funktionsargument) zugewiesen, wird der Nachkommaanteil abgeschnitten. Was gibt die folgende Funktion toBin beim Aufruf toBin(12) zurück?
  4. Das folgende Programm subtrahiert die beiden ganzen Zahlen a und b voneinander, bis sie gleich sind. Welchen Wert hat k nach der Ausführung?
  5. Die folgende Funktion isLeap gibt true zurück, wenn das Jahr y ein Schaltjahr ist. and wird vor or ausgewertet. Für welches y gibt isLeap(y) true zurück?