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 toBin beim Aufruf toBin(12) zurück?

○integer: toBin(integer: x)
  integer: y ← 0, p ← 1
  while (x > 0)
    y ← y + (x mod 2) × p
    p ← p × 10
    x ← x ÷ 2
  endwhile
  return y
  1. A11
  2. B100
  3. C1100
Antwort und Erläuterung anzeigen

Antwort: C. 1100

x mod 2 ist die Einerstelle im Binärsystem, und x ← x ÷ 2 verschiebt die Binärzahl um eine Stelle nach rechts. x ändert sich zu 12, 6, 3, 1 und 0, und von der niedrigsten Stelle an entstehen die Ziffern 0, 0, 1, 1. p wächst jedes Mal um den Faktor 10, also 1, 10, 100, 1000, sodass y = 0 × 1 + 0 × 10 + 1 × 100 + 1 × 1000 = 1100 gilt. Das Ergebnis schreibt die Binärziffern von 12 als Dezimalziffern einer ganzen Zahl.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen der Programmierung (Pseudocode nachverfolgen)

  1. Das folgende Programm subtrahiert die beiden ganzen Zahlen a und b voneinander, bis sie gleich sind. Welchen Wert hat k nach der Ausführung?
  2. 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?
  3. ÷ 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?
  4. Was gibt die folgende Funktion s beim Aufruf s(7) zurück?
  5. Welche Folge von Werten wird ausgegeben, wenn die folgende Prozedur p als p(3) aufgerufen wird?