Hands-on Computer Science
Mein Lernen EN

Quiz15 Min.

Quiz: Eingabe, Verarbeitung, Ausgabe

Dreizehn Fragen zum IPO-Kasten: seine drei Teile, der Test, den er mitbringt, was ein Sensor wirklich liefert, Ketten und Ebenen von Kästen und die zwei Fragen, die jeder Kasten stellt. Jede Antwort kommt mit ihrer Begründung.

Themen:Probleme lösenInformation verarbeiten

Teil der Lektion Probleme lösen mit Computern

Aus welchen drei Teilen besteht nach dem IPO-Modell jedes Teilproblem, das ein Computer lösen kann?

  • Planung, Umsetzung, Dokumentation
  • Hardware, Software, Daten
  • Eingabe, Verarbeitung, Ausgabe
  • Sender, Kanal, Empfänger

Warum bringt ein Kasten mit klarer Eingabe und klarer erwarteter Ausgabe seinen Test gleich mit?

  • Weil der Computer bei jedem Aufruf selbst meldet, ob die gelieferte Ausgabe zur Eingabe passt.
  • Weil du eine bekannte Eingabe hineingeben und das Ergebnis mit der erwarteten Ausgabe vergleichen kannst.
  • Weil man in einem klar geschnittenen Kasten beim Lesen des Codes sofort sieht, welche Zeile welchen Teil der Ausgabe erzeugt.
  • Weil die Verarbeitung im Kasten dann so überschaubar ist, dass sie kaum noch falsch sein kann.

Vor einem Farbsensor mit vier Messkanälen leuchtet eine rote Lampe. Was ist die tatsächliche Eingabe, mit der ein Empfängerprogramm arbeitet?

  • Die Farbe Rot, so wie sie auch ein Mensch sieht, der neben dem Sensor steht.
  • Das Wort "red", das der Sensor als erkannte Farbe an das Programm meldet.
  • Vier Zahlen: die Anteile von Rot, Grün und Blau und die Gesamthelligkeit.
  • Ein kleines Bild der Lampe, aus dem das Programm die Farbe an der hellsten Stelle abliest.

Eine Strecke überträgt Text mit Licht als Kette von Kästen. Welche Aussagen treffen zu? (Mehrere richtige Antworten möglich.)

"hi" → encode() → Farben → Licht → Sensor → decode() → "hi"
  • Die Ausgabe von encode() ist die Eingabe des nächsten Kastens.
  • Sender und Empfänger müssen vorher vereinbaren, welche Farbe für welchen Buchstaben steht.
  • decode() kann unabhängig davon arbeiten, was encode() macht.
  • Die Kette zeigt, in welcher Reihenfolge die Daten durch das System fließen.
  • Die Kästen lassen sich in beliebiger Reihenfolge anordnen, solange jeder vorkommt.

Betrachte diese Funktion als IPO-Kasten. Was sind ihre Eingabe und ihre Ausgabe?

def encode(text):
    colours = []
    for letter in text:
        colours.append(colour_for(letter))
    return colours
  • Die Eingabe ist ein Text, die Ausgabe eine Liste von Farben.
  • Die Eingabe ist eine Liste von Farben, die Ausgabe ein Text.
  • Die Eingabe ist Licht, die Ausgabe sind vier Sensorwerte.
  • Die Eingabe ist ein einzelner Buchstabe, die Ausgabe eine einzelne Farbe.

Du willst einen Kasten classify() prüfen, der aus vier Sensorwerten eine Farbe entscheidet. Welcher Test passt zum IPO-Modell?

  • classify() eine Stunde lang mit laufenden Messwerten arbeiten lassen und schauen, ob es ohne Absturz durchhält.
  • classify() mit zufälligen Zahlen aufrufen und prüfen, dass keine Fehlermeldung kommt.
  • Gespeicherte Messwerte, die sicher bei roter Lampe entstanden sind, hineingeben und prüfen, ob "red" herauskommt.
  • Den Quelltext von classify() Zeile für Zeile lesen und jede Bedingung im Kopf mit Beispielwerten nachvollziehen.

Aus dem IPO-Kasten ergeben sich zwei Fragen: Wie arbeitet der Kasten, und wie werden Eingabe und Ausgabe für die Maschine dargestellt? Welche davon beantwortet ein Programm?

  • Beide: Ein Programm legt auch fest, wie Farben und Zeichen dargestellt werden.
  • Die Frage der Verarbeitung: Ein Programm beschreibt, wie der Kasten arbeitet.
  • Die Frage der Darstellung: Ein Programm legt fest, wie Daten aussehen.
  • Keine von beiden: Programme sind ein eigenes, drittes Thema.

Dasselbe IPO-Modell erscheint auf mehreren Ebenen. Welche Aussagen treffen zu? (Mehrere richtige Antworten möglich.)

System:      Nachricht → Sender   → Licht
Funktion:    Text      → encode() → Farben
Logikgatter: 1, 1      → AND      → 1
  • Von außen betrachtet ist der ganze Sender ein einziger Kasten: Nachricht hinein, Licht heraus.
  • Öffnest du den Kasten, wird seine Verarbeitung zu einer Kette kleinerer Kästen mit eigenen Eingaben und Ausgaben.
  • Ein einzelnes Logikgatter ist zu klein für das IPO-Modell, weil es nichts verarbeitet, sondern nur Strom durchlässt oder sperrt.
  • Welche Ebene die richtige ist, hängt von der Frage ab, die du gerade untersuchst.

Eine Textübertragung über eine Lichtstrecke liefert am Ende falschen Text. Was ist nach dem Kastenmodell der sinnvollste nächste Schritt?

  • Die ganze Übertragung so oft wiederholen, bis der Text stimmt.
  • Den großen Kasten öffnen und einen inneren Kasten, etwa encode(), für sich mit bekannter Eingabe prüfen.
  • Den Quelltext von Sender und Empfänger nebeneinanderlegen und die Stelle suchen, an der die Vereinbarung nicht zusammenpasst.
  • Den Abstand zwischen Sender und Empfänger verändern und erneut senden.

Warum „sieht“ der Computer keine Farbe, sondern nur Zahlen?

  • Weil der Farbsensor zu billig ist; ein besserer würde Farben direkt liefern.
  • Weil eine Maschine nur mit Dingen arbeiten kann, die in einer verarbeitbaren Darstellung vorliegen, meistens als Zahlen.
  • Weil der Umweg über Zahlen eine Eigenheit der Programmiersprache ist; eine Sprache mit eingebautem Farbtyp würde die Farbe direkt sehen.
  • Weil die Lampe nie reines Rot ausstrahlt.
  • Weil er die Farbe sehr wohl erkennt, sie intern aber als Zahlen ablegt und deshalb nur so weitergeben kann.

Auch ein KI-Assistent ist ein IPO-Kasten: Deine Worte gehen hinein, Code kommt heraus, und hineinsehen kannst du nicht. Was folgt daraus?

  • Der Kasten ist fertig und muss nicht mehr geprüft werden.
  • Die Eingabe spielt kaum eine Rolle: Der Assistent liefert zu jeder Frage ähnlich guten Code, egal wie du sie stellst.
  • Du kennst die Eingabe und prüfst die Ausgabe, weil dir die Verarbeitung verschlossen ist.
  • Der Kasten arbeitet am schnellsten, also sollte möglichst viel Arbeit dorthin.

Welcher der folgenden Aufrufe ist ein Test mit eingebauter Erwartung?

def to_signal(brightness):
    if brightness > 100:
        return "on"
    return "off"
  • to_signal(150) aufrufen und prüfen, dass "on" herauskommt.
  • to_signal(150) aufrufen und sich das Ergebnis ansehen.
  • to_signal() mit vielen verschiedenen Werten aufrufen, um die Funktion gut auszulasten.
  • Prüfen, dass der Aufruf keine Fehlermeldung erzeugt.

Was gehört zur Eingabe des Kastens classify(), der aus den Messwerten eines Sensors eine Farbe entscheidet?

  • Die erkannte Farbe, zum Beispiel "red".
  • Die vier Messwerte des Sensors.
  • Der Quelltext von classify().
  • Die Farbe, wie ein Mensch sie sieht.

Mit Lösungen herunterladen: CSV Anki

Zurück
Mehr dazu
Details
Niveau
Einstieg
Module
Digitalisierung und Programmierung
Code
6025
Stand
4. November 2026
Status
veröffentlicht

    Ein vierstelliger Code führt direkt zum Inhalt.