Grundlagen der Programmierung (Pseudocode nachverfolgen)

÷ 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?

○integer: f(integer: x)
  integer: s ← 0
  while (x > 0)
    s ← s + x mod 10
    x ← x ÷ 10
  endwhile
  return s
  1. A4
  2. B15
  3. C24
Antwort und Erläuterung anzeigen

Antwort: C. 24

x mod 10 liefert die Einerstelle von x, und x ← x ÷ 10 entfernt sie; das ist eine Ganzzahldivision, weil der Nachkommaanteil abgeschnitten wird. mod hat Vorrang vor +, daher bedeutet s ← s + x mod 10 dasselbe wie s ← s + (x mod 10). x ändert sich zu 9087, 908, 90, 9 und 0, und zu s werden nacheinander 7, 8, 0 und 9 addiert: 7 + 8 + 0 + 9 = 24. Die Funktion berechnet die Quersumme.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen der Programmierung (Pseudocode nachverfolgen)

  1. ÷ 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?
  2. Das folgende Programm subtrahiert die beiden ganzen Zahlen a und b voneinander, bis sie gleich sind. Welchen Wert hat k nach der Ausführung?
  3. 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?
  4. ÷ ist die Division; wird das Ergebnis einer ganzzahligen Variablen (auch einem Funktionsargument) zugewiesen, wird der Nachkommaanteil abgeschnitten. Wie oft wird pow einschließlich des ersten Aufrufs aufgerufen, wenn die folgende Funktion pow als pow(2, 10) aufgerufen wird?
  5. Was gibt die folgende Funktion s beim Aufruf s(7) zurück?