Grundlagen der Programmierung (Pseudocode nachverfolgen)

Die Array-Indizes beginnen bei 1. Das folgende Programm vergleicht benachbarte Elemente. Welchen Wert hat c nach der Ausführung?

integer array: a ← {2, 2, 3, 3, 3, 1, 1}
integer: c ← 0
for (i from 1 to length(a) − 1 step 1)
  if (a[i] = a[i + 1])
    c ← c + 1
  endif
endfor
  1. A4
  2. B6
  3. C7
Antwort und Erläuterung anzeigen

Antwort: A. 4

Das Programm zählt die Paare benachbarter Elemente, die gleich sind. i läuft von 1 bis 6, und vier Paare sind gleich: a[1] und a[2], a[3] und a[4], a[4] und a[5] sowie a[6] und a[7]; also ist c = 4. Es finden 7 − 1 = 6 Vergleiche statt. Der Endwert ist length − 1, damit a[i + 1] innerhalb des Arrays bleibt.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen der Programmierung (Pseudocode nachverfolgen)

  1. m[i, j] ist das Element in Zeile i und Spalte j des zweidimensionalen Arrays m, und die Indizes beginnen bei 1. Welchen Wert hat s, nachdem das folgende Programm ausgeführt wurde?
  2. Das folgende Programm kopiert die Elemente des zweidimensionalen Arrays m mit 4 Zeilen und 5 Spalten in das Array b mit 20 Elementen. m[i, j] ist das Element in Zeile i und Spalte j, und die Indizes beginnen bei 1. An welchem Index von b wird m[3, 2] gespeichert?
  3. Die Array-Indizes beginnen bei 1, und + verkettet Zeichenketten. Welchen Wert hat r, nachdem das folgende Programm ausgeführt wurde?
  4. 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?
  5. ÷ 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?