Informatisches Denken und Problemlösen

Lerne, wie Informatikerinnen und Informatiker an Probleme herangehen. Erfahre, womit sich die Informatik beschäftigt, und übe dann die vier Techniken des informatischen Denkens: ein Problem in Teile zerlegen, Muster erkennen, nur die wichtigen Details behalten und eine genaue schrittweise Lösung formulieren. Schreibe Algorithmen in Pseudocode mit Variablen, Entscheidungen und Schleifen, zeichne sie als Programmablaufpläne, überprüfe sie mit Ablauftabellen und Testdaten und erstelle deine ersten Programme aus Blöcken in Scratch.

AnfängerEinheit 1 von 7 in Kurs: Informatik – Computer, Algorithmen, Internet und KI verstehen

Was du lernst

  1. Beschreibe, womit sich die Informatik beschäftigt, wie sie sich vom bloßen Programmieren unterscheidet und wie informatisches Denken ein Problem in eine Lösung überführt, die ein Mensch oder ein Computer ausführen kann.
    • Beschreibe, womit sich die Informatik beschäftigt
      Erkläre Informatik als Wissenschaft von Berechnung und Information, benenne ihre Hauptgebiete und beschreibe jede Berechnung als Umwandlung einer Eingabe in eine Ausgabe.
    • Beschreibe informatisches Denken und seine vier Techniken
      Definiere informatisches Denken, benenne Problemzerlegung, Mustererkennung, Abstraktion und Algorithmenentwurf und nutze sie gemeinsam in einem Problemlöseprozess.
  2. Nutze Problemzerlegung, Mustererkennung und Abstraktion, um ein großes, unübersichtliches Problem in kleine, allgemeine und leicht lösbare Teile zu überführen.
    • Zerlege ein Problem in überschaubare Teilprobleme
      Zerlege ein Problem in Teilprobleme, ordne sie in einer Hierarchie und entscheide, wann ein Teil klein genug ist, um ihn direkt zu lösen.
    • Erkenne Muster und verallgemeinere Lösungen
      Finde Ähnlichkeiten innerhalb eines Problems und zwischen Problemen, verwende Lösungen für wiederkehrende Teile erneut und verallgemeinere ein Muster, sodass eine Lösung viele Fälle abdeckt.
    • Konzentriere dich durch Abstraktion auf das Wesentliche
      Behalte die für einen Zweck nötigen Details, blende den Rest aus und nutze Modelle und benannte Prozeduren als Abstraktionen mit klaren Eingaben und Ausgaben.
  3. Beschreibe, was einen Algorithmus korrekt und nützlich macht, und schreibe Algorithmen in Pseudocode mit Variablen, Eingabe und Ausgabe, Entscheidungen und Schleifen.
    • Erkläre, was ein Algorithmus ist und welche Eigenschaften einen guten Algorithmus auszeichnen
      Definiere einen Algorithmus, prüfe Anweisungen auf Genauigkeit und Vollständigkeit und vergleiche verschiedene Algorithmen für dasselbe Problem nach Korrektheit und Schrittzahl.
    • Speichere und verändere Daten mithilfe von Variablen, Eingabe und Ausgabe
      Schreibe Pseudocode, der Eingaben einliest, Werte in Variablen speichert und aktualisiert, mit Operatoren rechnet und Ausgaben erzeugt.
    • Triff Entscheidungen mithilfe von Verzweigungen
      Schreibe Bedingungen mit Vergleichs- und logischen Operatoren und nutze IF, ELSE und ELSE IF, damit ein Algorithmus für jede Eingabe den richtigen Weg nimmt.
    • Wiederhole Schritte mithilfe von Schleifen
      Nutze zählergesteuerte und bedingungsgesteuerte Schleifen, führe laufende Summen und Zählungen und vermeide Endlosschleifen und Off-by-one-Fehler.
  4. Zeichne und lies Programmablaufpläne, wandle zwischen Programmablaufplänen und Pseudocode um und überprüfe Algorithmen, indem du sie nachvollziehst und mit sorgfältig ausgewählten Daten testest.
    • Lies und zeichne Programmablaufpläne
      Nutze die Standardsymbole und Ablauflinien, um die Schritte eines Algorithmus darzustellen und seinen Ablauf zu lesen.
    • Stelle Entscheidungen und Schleifen in Programmablaufplänen und Pseudocode dar
      Zeichne Verzweigungen und Iterationen in Programmablaufplänen und übertrage einen Algorithmus in beide Richtungen zwischen Programmablaufplan und Pseudocode.
    • Vollziehe einen Algorithmus nach, teste ihn und behebe Fehler
      Überprüfe einen Algorithmus von Hand mit einer Ablauftabelle, wähle normale, Grenz- und ungültige Testdaten und finde und behebe die drei Fehlerarten.
  5. Nutze eine blockbasierte Umgebung wie Scratch, um Programme mit Sequenzen, Schleifen, Entscheidungen, Variablen, Ereignissen und eigenen Blöcken zu erstellen, und stelle den Bezug zu Pseudocode und textbasiertem Code her.
    • Finde dich in einer blockbasierten Programmierumgebung zurecht
      Erkläre, wie blockbasierte Programmierung funktioniert, benenne die Bestandteile eines Scratch-Projekts und erstelle mithilfe von Blockformen und -kategorien ein Skript.
    • Erstelle Programme mit Blöcken für Schleifen, Entscheidungen und Variablen
      Nutze Wiederholungs-, fortlaufende Wiederholungs-, Falls-sonst- und Wiederhole-bis-Blöcke, Variablen und den Frageblock, um interaktive Programme zu erstellen, und lies sie als Algorithmen.
    • Nutze Ereignisse und eigene Blöcke und vollziehe den Übergang zu textbasiertem Code
      Starte Skripte durch Ereignisse, koordiniere Figuren mit Nachrichten, definiere eigene Blöcke mit Eingaben und übertrage dieselben Ideen auf textbasierte Sprachen.

Informatisches Denken einfach erklärt

5 Kapitel

1

Was die Informatik fragt und wie du an ein Problem herangehst

Die Informatik beginnt mit Fragen zu Informationen und den Abläufen, mit denen sie verarbeitet werden. Eine Aufgabe durch ihre Eingaben und Ausgaben zu beschreiben, klärt das Ziel, bevor Code geschrieben wird. Informatisches Denken liefert dann Möglichkeiten, die Arbeit zu organisieren, wiederverwendbare Strukturen zu erkennen, die wichtigen Details auszuwählen und eine überprüfbare Lösung zu entwickeln. Diese Methoden sind sowohl bei der Planung im Alltag als auch in Programmen nützlich.

1.1 Berechnung, Information und die Probleme, die sie lösen

Ein Computer kann eine Route berechnen, einen Ton abspielen oder eine Liste von Namen ordnen. Die Informatik untersucht die Abläufe hinter diesen Aufgaben: wie Informationen dargestellt und verarbeitet werden, welche Probleme lösbar sind und wie sich Systeme bauen lassen, die die Lösungen ausführen.

Eine Berechnung beschreiben

Ein nützliches Ausgangsmodell ist Eingabe → Verarbeitung → Ausgabe. Ein Routenplaner erhält einen Startpunkt und ein Ziel. Er durchsucht Informationen über Straßen und gibt dann eine Route, eine Entfernung in Kilometern und eine Fahrzeit zurück. Die Straßeninformationen sind ebenfalls Daten, die die Verarbeitung benötigt. Das sichtbare Ergebnis ist nur ein Teil der Berechnung.

Beschreibe ein Berechnungsproblem, bevor du das Verfahren auswählst. Zum Beispiel: „Eingabe: eine Liste von Namen. Ausgabe: dieselben Namen in alphabetischer Reihenfolge.“ Das legt fest, wie ein korrektes Ergebnis aussehen muss. Es lässt Raum für verschiedene Verfahren, um es zu erzeugen. Fehlt in der Ausgabe ein Name, erfüllt sie die Aufgabe nicht, auch wenn die übrigen Namen geordnet sind.

Mehr als Code schreiben

Programmierung bedeutet, Anweisungen in einer Sprache zu schreiben, die ein Computer ausführen kann. Sie ist eine wichtige Tätigkeit innerhalb der Informatik. Das weiter gefasste Fachgebiet fragt auch, ob eine Lösung existiert, wie viel Arbeit sie benötigt und wie Menschen sie sicher und einfach nutzen können.

GebietEine Frage, die es untersucht
Algorithmen und TheorieWelche Schritte lösen ein Problem und was kann berechnet werden?
ProgrammiersprachenWie lassen sich Anweisungen klar ausdrücken?
ComputersystemeWie unterstützen Hardware, Betriebssysteme und Netzwerke Berechnungen?
Daten und DatenbankenWie lassen sich Informationen speichern, organisieren und abrufen?
Künstliche Intelligenz und maschinelles LernenWie können Systeme Aufgaben wie das Erkennen von Mustern ausführen?
Mensch-Computer-InteraktionWie können Menschen ein System verstehen und nutzen?
SicherheitWie lassen sich Daten und Systeme schützen?
ComputergrafikWie lassen sich Bilder erstellen und anzeigen?
SoftwaretechnikWie können Teams zuverlässige Programme entwickeln und pflegen?

Die Gebiete überschneiden sich. Beim Entwurf eines Bildbearbeitungsprogramms können gleichzeitig Computergrafik, Benutzerinteraktion und Softwaretechnik eine Rolle spielen. Informatik unterstützt auch andere Fachgebiete: Biologinnen und Biologen vergleichen DNA-Sequenzen, Klimaforschende modellieren die Atmosphäre und Kunstschaffende nutzen Software, um Bilder und Musik zu schaffen.

Verwandte Gebiete und praktische Grenzen

Die Technische Informatik konzentriert sich auf physische Geräte wie Prozessoren und Platinen. Die Informationstechnologie, kurz IT, konzentriert sich auf die Auswahl, Einrichtung und den Betrieb von Systemen für eine Organisation. Data Science verbindet Statistik und Informatik, um aus Daten Schlussfolgerungen zu ziehen. Diese Gebiete teilen Methoden mit der Informatik, setzen aber unterschiedliche Arbeitsschwerpunkte.

Computer führen genaue Anweisungen schnell aus, oft Milliarden einfacher Operationen pro Sekunde. Geschwindigkeit behebt keine unklare Anweisung. „Gib etwas Salz hinzu“ lässt eine Mengenangabe offen; ein Ablauf für die automatische Ausführung benötigt eine genaue Aktion.

Es gibt auch Grenzen, die über die Geschwindigkeit hinausgehen. Manche genau beschriebenen Probleme haben keine algorithmische Lösung. Andere Probleme haben Lösungen, die zu viele Schritte erfordern, um praktisch durchführbar zu sein. Die Frage, was ein Computer leisten kann, gehört zur Informatik selbst.

Wichtige Erkenntnisse

  • Die Informatik untersucht Berechnung, Information und die Systeme, die Informationen verarbeiten.
  • Eine Aufgabenstellung legt zulässige Eingaben und erforderliche Ausgaben fest, bevor ein Verfahren ausgewählt wird.
  • Programmierung drückt Anweisungen aus; die Informatik untersucht auch Korrektheit, Bedienbarkeit, Sicherheit und Grenzen der Berechenbarkeit.
  • Eingabe, Verarbeitung und Ausgabe beschreiben die Rolle von Daten und Schritten in einer Berechnung.

1.2 Überführe ein Problem in einen überprüfbaren Plan

Informatisches Denken klärt ein Problem so weit, dass es sich Schritt für Schritt lösen lässt. Ein Mensch oder ein Computer kann die Lösung ausführen, oder beide teilen sich die Arbeit. Zum Denken gehört, zu entscheiden, was das Problem bedeutet und wie ein Ergebnis überprüft werden soll.

Vier Techniken, die zusammenwirken

Die Problemzerlegung teilt ein Problem in kleinere Teile. Die Mustererkennung findet Ähnlichkeiten oder wiederholte Arbeit. Die Abstraktion behält die für einen Zweck nötigen Details und lässt andere weg. Der Algorithmenentwurf überführt eine Lösung in genaue, geordnete Schritte.

Diese Techniken sind Werkzeuge, auf die du bei Bedarf zurückgreifen kannst. Es sind keine vier Kästchen, die in einer festen Reihenfolge abgearbeitet werden müssen. Ein fehlgeschlagener Test kann ein fehlendes Teilproblem aufdecken. Ein wiederkehrendes Teilproblem kann auf eine wiederverwendbare Prozedur hinweisen. Ein Modell benötigt vielleicht ein weiteres Detail, bevor der Algorithmus funktionieren kann.

Jeannette Wing trug 2006 mit einem Aufsatz dazu bei, den Begriff „informatisches Denken“ weithin bekannt zu machen. Ihre zentrale Aussage war, dass dieser Ansatz für alle nützlich ist und nicht nur für Menschen, die als Programmierende arbeiten.

Verstehen, planen, ausführen und überprüfen

Der Mathematiker George Pólya beschrieb 1945 vier Phasen des Problemlösens. In der Informatik führen sie zu konkreten Handlungen:

  1. Verstehe das Problem. Ermittle Eingaben, Ausgaben, Nebenbedingungen und Erfolgskriterien.
  2. Erstelle einen Plan. Wähle kleinere Aufgaben, nützliche Muster und einen Algorithmus.
  3. Führe den Plan aus. Stelle ihn mit Pseudocode, einem Programmablaufplan oder einem Programm dar und führe ihn aus.
  4. Blicke zurück. Vergleiche das Ergebnis mit den Erfolgskriterien und überarbeite die Lösung bei Bedarf.

Eine Nebenbedingung ist eine Regel, die die Lösung einhalten muss, etwa eine maximal verfügbare Zeit. Ein Erfolgskriterium ist eine Möglichkeit, das Ergebnis zu beurteilen. „Erstelle eine zusammengefasste Einkaufsliste mit den benötigten Mengen“ lässt sich überprüfen. „Verbessere den Einkauf“ lässt das Ergebnis unklar.

Einen Speiseplan durcharbeiten

Angenommen, du brauchst Abendessen für eine Woche. Zu den Eingaben gehören die Rezepte, die Anzahl der Personen und bereits vorhandene Lebensmittel. Die Ausgabe ist ein Plan und eine Einkaufsliste. Ernährungsbedürfnisse und die verfügbare Kochzeit sind Nebenbedingungen.

Zerlege die Arbeit in das Auswählen der Gerichte, das Erstellen der Liste und das Kochen. Die Mustererkennung zeigt, dass mehrere Rezepte Reis und Zwiebeln verwenden. Die Abstraktion stellt eine Zutat durch ihren Namen und ihre Menge dar, etwa „Reis, 1 kg“, ohne einen Markennamen zu behalten, wenn die Marke den Plan nicht beeinflusst.

Der Einkaufsalgorithmus lässt sich nun ordnen: Gerichte auswählen, ihre Zutaten auflisten, wiederkehrende Zutaten zusammenfassen, den vorhandenen Vorrat abziehen und den Rest einkaufen. Wenn du die Mengen vor der Prüfung des Vorratsschranks zusammenfasst, wird derselbe Vorrat nicht für jedes Rezept einzeln abgezogen.

Prüfe das Ergebnis anhand der Gerichte. Jede benötigte Zutat muss in ausreichender Menge verfügbar sein. Fehlt eine Zutat, verfolge nach, wie die Liste erstellt wurde, und überarbeite den betreffenden Schritt.

Ein häufiger Fehler ist, mit dem Programmieren zu beginnen, bevor feststeht, welches Ergebnis benötigt wird. Ein schnelles Programm kann das falsche Problem exakt lösen. Die Menschen wählen weiterhin das Modell, die Nebenbedingungen und die Schritte; der Computer führt die Anweisungen aus, die diese Entscheidungen ausdrücken.

Wichtige Erkenntnisse

  • Informatisches Denken macht Lösungen genau genug, damit Menschen oder Computer sie ausführen können.
  • Problemzerlegung, Mustererkennung, Abstraktion und Algorithmenentwurf können in jeder zweckmäßigen Reihenfolge eingesetzt werden.
  • Schreibe Eingaben, Ausgaben, Nebenbedingungen und Erfolgskriterien auf, bevor du eine Lösung umsetzt.
  • Nutze Tests, um den Plan, das Modell oder die Schritte gezielt zu überarbeiten.
  • Der Ansatz eignet sich sowohl für die Planung im Alltag als auch für Software.
2

Zerlege Probleme in nützliche, wiederverwendbare Teile

Eine komplizierte Aufgabe lässt sich leichter lösen, wenn ihre Teile, wiederkehrenden Strukturen und wesentlichen Details sichtbar sind. Die Problemzerlegung gibt jedem Teil eine Aufgabe, die Mustererkennung zeigt wiederverwendbare Verfahren und die Abstraktion lässt dich mit einem einfacheren Modell arbeiten. Die Beispiele zeigen, wie du diese Grenzen festlegst und prüfst, ob der vereinfachte Plan noch alles enthält, was zum Abschluss der ursprünglichen Aufgabe nötig ist.

2.1 Teile die Arbeit in Teile auf, die zusammenpassen

Ein großes Problem kann schwer auf einmal zu überblicken sein. Die Problemzerlegung ersetzt es durch kleinere Teilprobleme, die du getrennt verstehen, lösen und überprüfen kannst. Die Teile müssen sich weiterhin zu einer Lösung des ursprünglichen Problems zusammenfügen lassen.

Vom Ganzen zu den Details arbeiten

Beginne mit der Hauptaufgabe. Teile sie in einige sinnvolle Aufgabenbereiche und verfeinere dann jeden Bereich. Das ist die Zerlegung von oben nach unten. Ein Strukturbaum stellt das ganze Problem oben und die kleineren Aufgaben darunter dar. Die Zweige zeigen, zu welcher Aufgabe eine kleinere Aufgabe gehört.

Bei einer Quiz-App sind die Hauptteile das Speichern von Fragen und Antworten, das Stellen von Fragen, das Prüfen von Antworten sowie das Führen und Anzeigen des Punktestands. Der Teil „Eine Frage stellen“ lässt sich in das Anzeigen des Fragetexts, das Anzeigen der Antwortmöglichkeiten und das Einlesen der Auswahl der lernenden Person zerlegen.

Ein textueller Strukturbaum könnte so aussehen:

Run a quiz
    Store questions and answers
    Ask a question
        Show question text
        Show answer options
        Read the choice
    Check the answer
    Keep and show the score

Diese Zweige beschreiben Aufgabenbereiche. Ihre vertikale Position allein gibt nicht die vollständige Ausführungsreihenfolge an. So wiederholt die App zum Beispiel das Stellen und Prüfen von Fragen, solange noch Fragen übrig sind. Ein eigener Algorithmus beschreibt diesen Ablauf.

Entscheiden, wann die Zerlegung endet

Ein Teil ist klein genug, wenn du direkt erkennst, wie du ihn lösen kannst, oder wenn ein vorhandenes Verfahren oder Werkzeug ihn bewältigt. „Die Auswahl einlesen“ kann eine geeignete Aufgabe sein, sobald du weißt, wie die Schnittstelle Eingaben erfasst. Eine Zerlegung in einzelne Handbewegungen würde Details hinzufügen, die beim Entwurf der App nicht helfen.

Nimm zuerst die Hauptzerlegung vor. Wenn du damit beginnst, winzige Aktionen zu beschreiben, verbringst du leicht viel Zeit mit einem einzelnen Bildschirm und vergisst dabei einen ganzen Aufgabenbereich, etwa die Entscheidung, wann das Quiz endet.

Abhängigkeiten erkennen

Eine Abhängigkeit bedeutet, dass eine Aufgabe das Ergebnis einer anderen Aufgabe benötigt. Das Quiz muss eine Auswahl erhalten, bevor es sie prüft, und sie prüfen, bevor es den Punktestand aktualisiert. Schreibe auf, was jeder Teil erhält und erzeugt. Das macht die Übergaben klar.

Die Teile sollten möglichst unabhängig voneinander sein. Wenn die Anzeige von vier Antwortschaltflächen auf eine andere Eingabemethode umgestellt wird, sollte die Berechnung des Punktestands weiterhin mit dem geprüften Ergebnis funktionieren. Klare Abgrenzungen ermöglichen es, getrennte Teile gleichzeitig zu entwickeln, und erleichtern spätere Änderungen.

Unabhängigkeit bedeutet nicht, dass die Teile niemals Informationen austauschen. Sie benötigen vereinbarte Eingaben und Ausgaben. Ein Teil für die Punktevergabe, der TRUE oder FALSE erwartet, kann den Rohtext eines Teils zur Fragenanzeige nicht direkt verwenden, ohne dass ein Schritt die Antwort prüft.

Nach Lücken und Überschneidungen suchen

Lies das ursprüngliche Problem erneut und frag dich, ob das Erledigen aller Teile die ganze Aufgabe abschließen würde. Der erste Baum zeigt nicht, wann das Quiz endet. Ergänze diese Aufgabe in der übergeordneten Quizsteuerung. Frag dich auch, ob zwei Teile beide den Punktestand ändern und dadurch eine richtige Antwort doppelt zählen könnten.

Prüfe jeden kleinen Teil für sich und anschließend den kombinierten Ablauf. Eine korrekte Fragenanzeige und eine korrekte Antwortprüfung können zusammen dennoch scheitern, wenn der eine Teil die Auswahl in einem anderen Format sendet, als der andere erwartet.

Wichtige Erkenntnisse

  • Die Problemzerlegung teilt ein ganzes Problem in kleinere Aufgabenbereiche auf.
  • Verfeinere die Hauptteile, bevor du ihre kleinsten Aktionen beschreibst.
  • Höre auf, wenn ein Teil direkt gelöst oder von einer vorhandenen Lösung bearbeitet werden kann.
  • Abhängigkeiten bestimmen, welche Ergebnisse verfügbar sein müssen, bevor eine andere Aufgabe beginnt.
  • Prüfe, ob die zusammengefügten Teile keine Lücken lassen und keine Aufgabe doppelt ausführen.
  • Klare Eingaben und Ausgaben erleichtern es, getrennte Teile zu entwickeln und zusammenzufügen.

2.2 Finde das Muster und mache es wiederverwendbar

Hinter wiederholter Arbeit verbirgt sich oft ein wiederverwendbares Verfahren. Mustererkennung bedeutet, nach Ähnlichkeiten, Wiederholungen oder Trends innerhalb eines Problems und über verschiedene Probleme hinweg zu suchen. Die hilfreiche Frage lautet, was gleich bleibt und was sich ändert.

Wiederholungen innerhalb einer Aufgabe finden

Um ein Quadrat zu zeichnen, kann sich ein Stift viermal 100 Schritte vorwärts bewegen und um 90 Grad nach rechts drehen. Das Aktionspaar wiederholt sich. Eine Schleife drückt dieses Paar einmal aus und gibt die Anzahl der Wiederholungen vor:

REPEAT 4 TIMES
    Move forward 100 steps
    Turn right 90 degrees

Dieses Muster macht die Struktur leichter erkennbar. Es erleichtert auch eine Änderung: Wenn du die Strecke vorwärts an einer Stelle änderst, ändern sich alle Seiten.

Veränderliche Details durch Parameter ersetzen

Durch Verallgemeinerung funktioniert eine Lösung für eine Familie von Fällen. Ein Parameter ist eine benannte Eingabe, die ein veränderliches Detail darstellt. Bei regelmäßigen Vielecken können die Seitenzahl und die Seitenlänge Parameter sein.

Ein Stift, der ein regelmäßiges Vieleck umrundet, dreht sich insgesamt um eine volle Umdrehung. Die Drehung an jeder Ecke beträgt:

Drehwinkel=360∘/n

Dabei ist n die Anzahl der Seiten. Wiederhole das Paar aus Bewegung und Drehung n-mal und behalte jedes Mal dieselbe Seitenlänge und Drehung bei.

Regelmäßiges VieleckSeitenDrehung an jeder Ecke
Dreieck3120°
Quadrat490°
Fünfeck572°
Sechseck660°

Die Drehung ist die Änderung der Richtung des Stifts, nicht der Innenwinkel des Vielecks. Bei einem Dreieck würde eine Drehung um 60 Grad nicht den beabsichtigten dreiseitigen Weg ergeben.

Dasselbe Verfahren in verschiedenen Problemen erkennen

Beim Finden des günstigsten Flugs, der kürzesten Route und der höchsten Punktzahl in einem Test geht es jeweils darum, sich den bisher besten Kandidaten zu merken. Beginne mit einem Kandidaten. Prüfe jeden nächsten Kandidaten und ersetze den gemerkten, wenn der neue besser ist. Die Richtung des Vergleichs ändert sich zwischen dem kleinsten und dem größten Wert, aber das allgemeine Muster bleibt nützlich.

Muster können auch Daten ordnen. Die Einteilung von Ausgaben in Lebensmittel, Verkehr und Wohnen macht gemeinsame Merkmale sichtbar. Wenn die Verkäufe von Regenschirmen bei vorhergesagtem Regen wiederholt steigen, kann ein Geschäft den Trend nutzen, um seine Vorräte zu planen. Ein Trend ist ein Beleg, den es zu prüfen gilt; sein Grund ist wichtig für die Entscheidung, ob er anhalten wird.

Das vorgeschlagene Muster prüfen

Die Zahlen 1, 2, 4 bestimmen die nächste Zahl nicht eindeutig. Verdoppeln ergibt 8. Erhöht man die Abstände jeweils um eins, ergibt sich 7, denn die bisherigen Abstände sind 1 und 2. Um zu entscheiden, welches Muster zum Problem passt, sind weitere Fälle oder eine Regel nötig, die die Folge erklärt.

Suche nach bedeutsamen Unterschieden, bevor du eine Lösung wiederverwendest. Sowohl beim gleichmäßigen Aufteilen einer Rechnung als auch beim Aufteilen danach, was jede Person bestellt hat, gibt es eine gemeinsame Gesamtsumme. Gleichmäßiges Aufteilen löst die erste Aufgabe, aber für die zweite wird die Bestellung jeder Person benötigt. Verwende die gemeinsame Struktur erst wieder, nachdem du das Detail erkannt hast, das das geforderte Ergebnis verändert.

Wichtige Erkenntnisse

  • Mustererkennung findet wiederverwendbare Strukturen innerhalb eines Problems und zwischen Problemen.
  • Verallgemeinerung ersetzt veränderliche Details durch benannte Parameter.
  • Ein regelmäßiges Vieleck mit n Seiten verwendet n gleich lange Bewegungen und Drehungen um 360° / n.
  • Prüfe weitere Fälle und bedeutsame Unterschiede, bevor du einem Muster vertraust.

2.3 Behalte die für den Zweck nötigen Details

Ein Modell kann einfacher als die Wirklichkeit und dennoch nützlich sein. Abstraktion behält die für einen bestimmten Zweck nötigen Informationen und lässt andere Details weg. Ihre Qualität hängt davon ab, ob sie die Fragen der Aufgabe beantworten kann.

Ein Modell für die Aufgabe auswählen

Ein U-Bahn-Plan zeigt Stationen, ihre Reihenfolge entlang jeder Linie und die Stellen, an denen sich Linien verbinden. Diese Details helfen Reisenden bei der Planung einer Fahrt. Der Plan kann Entfernungen verzerren und Straßenverläufe auslassen, weil sein Hauptzweck darin besteht, Verbindungen zu zeigen.

Derselbe Plan ist ein schlechtes Werkzeug, um zu bestimmen, wie weit der Fußweg zwischen zwei Stationen ist. Das Modell hat ein Detail weggelassen, das der neue Zweck benötigt. Ein Detail ist aufgrund des Problems relevant, nicht weil es allgemein interessant ist.

Betrachte zwei Modelle desselben Autos:

ZweckDetails, die das Modell benötigt
RennspielGeschwindigkeit, Position und Richtung
ParkhaussystemKennzeichen, Ankunftszeit und Stellplatz

Das Rennspiel muss Bewegungen aktualisieren. Das Parkhaus muss das Auto identifizieren und seinen Aufenthalt verfolgen. Keines der Modelle muss jedes physische Merkmal des Autos erhalten.

Schritte hinter einem klaren Namen verbergen

Abstraktion ermöglicht es dir auch zu nutzen, was eine Komponente tut, ohne jedes Mal zu durchdenken, wie sie funktioniert. Wenn du ein Waschmaschinenprogramm auswählst, musst du den Motor nicht direkt steuern.

In einem Algorithmus ist eine Prozedur eine benannte Gruppe von Schritten. Der Aufruf des Namens führt diese Schritte aus. Ein Name wie average(list) vermittelt eine Aufgabe und verbirgt zugleich die wiederholte Rechnung. Eine Prozedur, die ein Ergebnis an die aufrufende Stelle zurücksendet, hat einen Rückgabewert. Die aufrufende Stelle kann diesen Wert speichern oder in einer anderen Berechnung verwenden.

Ein Parameter gibt einer Prozedur eine veränderliche Eingabe. drawPolygon(sides, length) hat zwei Parameter. Der Aufruf drawPolygon(6, 100) übergibt sechs Seiten und eine Länge von 100 Schritten. Das verbindet Abstraktion, die die Zeichenschritte verbirgt, mit Verallgemeinerung, die verschiedene Formen und Größen ermöglicht.

Die Abgrenzung einer Prozedur muss klar sein: Welche Eingaben nimmt sie an und welches Ergebnis oder welche Aktion erzeugt sie? Bei einem Mittelwert benötigt eine leere Liste eine besondere Behandlung, weil es keine Anzahl gibt, durch die dividiert werden kann. Das Verbergen von Schritten macht es nicht überflüssig, brauchbare Eingaben festzulegen.

Verständnisebenen aufbauen

Eine Chat-App bietet eine Möglichkeit, eine Nachricht zu senden. Darunter bietet das Betriebssystem Dienste an, die die App nutzen kann. Darunter führt die Hardware Operationen aus. Jede Schicht baut auf dem Verhalten der nächsten Schicht auf, ohne den Nutzenden der oberen Schicht jedes interne Detail der unteren offenzulegen. Eine interne Änderung kann auf die Schicht begrenzt bleiben, solange das zugesicherte Verhalten gleich bleibt.

Die Techniken unterstützen einander. Die Problemzerlegung bestimmt die Teile. Die Mustererkennung findet Teile mit einer gemeinsamen Struktur. Die Abstraktion gibt diesen Teilen Namen und klare Abgrenzungen, sodass sie kombiniert werden können.

Ein häufiger Abstraktionsfehler ist, eine Tatsache wegzulassen, die darüber entscheidet, ob ein Ergebnis funktioniert. Ein Routenplaner, der Einbahnstraßen ignoriert, kann eine unmögliche Fahrt vorschlagen. Um ein Modell zu prüfen, liste die Entscheidungen auf, die es unterstützen muss, und vergewissere dich, dass die behaltenen Daten für jede davon ausreichen.

Wichtige Erkenntnisse

  • Abstraktion behält Informationen, die für einen Zweck relevant sind, und verbirgt unnötige Details.
  • Dasselbe Objekt kann für verschiedene Aufgaben unterschiedliche Modelle benötigen.
  • Eine Prozedur benennt wiederverwendbare Schritte; Parameter liefern Eingaben und ein Rückgabewert geht an die aufrufende Stelle zurück.
  • Eine Prozedur mit Parametern kann sowohl Abstraktion als auch Verallgemeinerung bieten.
  • Schichten ermöglichen es einer Komponente, sich auf das Verhalten einer anderen zu verlassen, ohne alle deren internen Schritte offenzulegen.
3

Drücke Algorithmen mit Variablen, Entscheidungen und Schleifen aus

Ein Algorithmus überführt einen Plan in Anweisungen, deren Verhalten sich genau nachvollziehen lässt. Variablen speichern den veränderlichen Zustand, Bedingungen wählen Wege und Schleifen wiederholen Arbeit, bis eine Anzahl oder eine Bedingung sie beendet. Wenn du diese Strukturen Zeile für Zeile durchgehst, erkennst du, warum die Reihenfolge der Anweisungen wichtig ist. Du vergleichst außerdem Verfahren nach Korrektheit und Schrittzahl und nutzt dann Pseudocode, um Berechnungen, Entscheidungen und wiederholte Verarbeitung auszudrücken.

3.1 Schreibe ein Verfahren, das endet und das richtige Ergebnis liefert

Ein Algorithmus ist eine endliche, geordnete Folge genauer Anweisungen zur Lösung eines Problems oder zur Erfüllung einer Aufgabe. Bei zulässiger Eingabe liefert er nach einer endlichen Anzahl von Schritten die geforderte Ausgabe. Ein Rezept, eine Montageanleitung und die schriftliche Division nutzen alle diese Idee.

Die Eigenschaften des Verfahrens prüfen

Ein nützlicher Algorithmus hat festgelegte Eingaben und Ausgaben. Jeder Schritt muss genau genug sein, um eine einzige Bedeutung zu haben, und so beschaffen sein, dass er ausgeführt werden kann. Die Schritte müssen enden und ihr Ergebnis muss für jede zulässige Eingabe korrekt sein.

„Finde die größte Zahl“ nennt ein Ziel, legt aber kein Verfahren fest. „Prüfe jede Zahl und merke dir die bisher größte“ gibt ein Verfahren vor, das zu Anweisungen ausgearbeitet werden kann. Es wirft auch eine Frage zur Eingabe auf: Was soll bei einer leeren Liste geschehen? Wenn du zulässige Eingaben festlegst, vermeidest du ein unvollständiges Verfahren.

Anweisungen im Alltag können Lücken lassen, die Menschen aus Erfahrung füllen. „Tu die Marmelade auf das Brot“ lässt das Öffnen des Glases und das Verstreichen einer Menge auf einer Oberfläche aus. Wenn du ein Verfahren für die automatische Ausführung entwirfst, gib die Aktionen an, die das ausführende System benötigt, und bringe sie in eine brauchbare Reihenfolge.

Das Verfahren von seiner Darstellung unterscheiden

Ein Algorithmus ist das Lösungsverfahren. Ein Programm drückt ein Verfahren in einer Programmiersprache aus, sodass ein Computer es ausführen kann. Derselbe Algorithmus kann in Pseudocode, in einem Programmablaufplan und in Programmen stehen, die in verschiedenen Sprachen geschrieben sind.

Drei Kontrollstrukturen ordnen die Ausführung:

StrukturWas geschieht
SequenzSchritte werden nacheinander ausgeführt.
VerzweigungEine Bedingung wählt einen Weg.
IterationEin Block von Schritten wird wiederholt.

Zusammen mit Variablen reichen diese Strukturen aus, um jeden Algorithmus auszudrücken. Das ist die Idee hinter einem klassischen Ergebnis, das Böhm und Jacopini 1966 veröffentlichten. Ein Algorithmus kann sie kombinieren: eine Liste durchlaufen, jeden Wert prüfen und ein gespeichertes Ergebnis der Reihe nach aktualisieren.

Korrekte Verfahren vergleichen

Angenommen, ein alphabetisch sortiertes Telefonbuch hat 1.000 Seiten. Das Prüfen einer Seite nach der anderen kann 1.000 Seitenprüfungen erfordern. Wenn du jeweils zwei Seiten umblätterst und nur jede zweite Seite prüfst, brauchst du bis zu etwa 500 Prüfungen und einen Schritt zurück, falls du den Namen überblättert hast.

Ein anderes Verfahren schlägt den verbleibenden Abschnitt in der Mitte auf und behält die Hälfte, die den Namen enthalten kann. Höchstens 10 Halbierungen reduzieren 1.000 mögliche Seiten auf eine:

1000 → 500 → 250 → 125 → 63 → 32
     → 16 → 8 → 4 → 2 → 1

Die sortierte Reihenfolge macht es möglich, eine Hälfte sicher zu verwerfen. Ohne diese Ordnung könnte die verworfene Hälfte den Namen enthalten. Diese Annahme über die Eingabe gehört zum Verfahren.

Bei 2.000 Seiten kann das Prüfen jeder Seite doppelt so viele Prüfungen erfordern, während die Halbierung nur eine weitere Halbierung benötigt: 11. Der Vergleich, wie die Schrittzahl wächst, erklärt mehr als die Zeitmessung eines einzelnen Durchlaufs auf einer einzelnen Maschine.

Prüfe die Korrektheit, bevor du die Geschwindigkeit lobst. Ein Verfahren, das nur die erste und die letzte Zahl einer Liste untersucht, findet in [7, 3, 12] zufällig die 12. In [7, 12, 3] übersieht es die 12. Ein erfolgreiches Beispiel kann nicht belegen, dass das Verfahren den gesamten Eingabebereich bewältigt.

Wichtige Erkenntnisse

  • Ein Algorithmus muss eindeutig, ausführbar, endlich und korrekt sein und festgelegte Eingaben und Ausgaben haben.
  • Ein Algorithmus ist ein Verfahren; ein Programm drückt Anweisungen in einer Sprache aus, die ein Computer ausführen kann.
  • Sequenz, Verzweigung und Iteration ordnen die Schritte eines Algorithmus.
  • Die Annahmen eines Algorithmus über seine Eingabe müssen zutreffen, damit seine Begründung gültig ist.
  • Vergleiche korrekte Verfahren danach, wie ihr Aufwand mit der Eingabe wächst.

3.2 Speichere Werte und aktualisiere sie der Reihe nach

Pseudocode beschreibt einen Algorithmus durch strukturierte, lesbare Anweisungen. Er ist nicht an eine einzelne Programmiersprache gebunden. Du kannst damit an der Logik arbeiten, bevor du dich mit den Satzzeichen und anderen Schreibregeln einer Sprache befasst.

Die Schreibweise lesen

Schlüsselwörter stehen in Großbuchstaben: INPUT, OUTPUT, IF, WHILE und FOR. Jede Anweisung steht in einer eigenen Zeile. Einrückungen zeigen, welche Anweisungen zu einem Block gehören. Ein Kommentar beginnt mit // und erklärt den Code, ohne eine Aktion hinzuzufügen.

Der Pfeil ← bedeutet Zuweisung. Manche andere Pseudocode-Schreibweisen verwenden = oder SET … TO für Zuweisungen. Hier vergleicht = Werte. Lies count ← 0 als „count erhält null“. Eine Variable ist ein benannter Platz, der einen veränderlichen Wert speichert. Eine Konstante hat einen Namen, behält aber denselben Wert, etwa PASS_MARK ← 50.

Die rechte Seite einer Zuweisung wird zuerst ausgewertet. Ihr Ergebnis ersetzt den alten Wert auf der linken Seite. Enthält count den Wert 4, liest count ← count + 1 die alte 4, addiert 1 und speichert 5. Es ist eine Anweisung, gespeicherte Daten zu ändern, keine Gleichung, die behauptet, eine Zahl sei gleich sich selbst plus eins.

Datentypen und Operationen zuordnen
TypBedeutung und Beispiel
GanzzahlGanze Zahl, etwa 17
Reelle Zahl oder GleitkommazahlZahl, die einen Nachkommateil haben kann, etwa 21,5
ZeichenketteText, etwa „Lima“
WahrheitswertTRUE oder FALSE
Liste oder ArrayGeordnete Werte, etwa [18, 21, 19, 22, 20]

Die Addition der Zahlen 12 und 3 ergibt 15. Das Verketten der Zeichenketten „12“ und „3“ ergibt „123“. Wähle beschreibende Namen wie temperature und total, damit die Rolle eines Werts sichtbar bleibt.

Zu den arithmetischen Operatoren gehören +, −, * und /. DIV liefert den ganzzahligen Quotienten, MOD den Rest. Somit ist 17 DIV 5 gleich 3 und 17 MOD 5 gleich 2. Die Prüfung n MOD 2 = 0 erkennt eine gerade ganze Zahl. Vergleiche wie =, ≠, <, >, ≤ und ≥ liefern Wahrheitswerte.

Einlesen, berechnen und anzeigen
INPUT minutes
hours ← minutes DIV 60
rest ← minutes MOD 60
OUTPUT hours, "h", rest, "min"

Bei 135 Minuten ergeben zwei vollständige Gruppen zu je 60 insgesamt 120 Minuten, sodass 15 übrig bleiben. Die Ausgabe lautet „2 h 15 min“. INPUT empfängt Daten, die beiden Zuweisungen verarbeiten sie und OUTPUT sendet das Ergebnis.

Einen Wert vor dem Ersetzen erhalten

Angenommen, a enthält 5 und b enthält 8. Die Anweisungen a ← b und anschließend b ← a führen dazu, dass beide Variablen 8 enthalten. Die erste Anweisung hat die einzige gespeicherte Kopie von 5 überschrieben.

Verwende eine Hilfsvariable:

temp ← a
a ← b
b ← temp

Nach der ersten Zeile enthält temp den Wert 5. Die zweite Zeile schreibt 8 in a. Die dritte schreibt die gespeicherte 5 in b. Eine Zuweisung kopiert einen aktuellen Wert; sie erzeugt keine dauerhafte Verbindung zwischen Variablen.

Gib jeder Variablen einen Anfangswert, bevor du sie ausliest. Eine laufende Summe benötigt total ← 0 vor ihrer ersten Addition. Steht die Zuweisung nach der Addition, hat der erste Schritt keinen festgelegten Anfangswert.

Wichtige Erkenntnisse

  • Pseudocode verwendet eine einheitliche Schreibweise, um Logik auszudrücken, ohne eine Programmiersprache auszuwählen.
  • Eine Zuweisung wertet die rechte Seite aus und ersetzt den gespeicherten Wert auf der linken Seite.
  • Datentypen beeinflussen, welche Operationen sinnvoll sind.
  • DIV liefert einen ganzzahligen Quotienten; MOD liefert einen Rest.
  • INPUT empfängt Daten und OUTPUT sendet ein Ergebnis.
  • Eine Hilfsvariable erhält den alten Wert während einer Vertauschung.
  • Initialisiere eine Variable, bevor ihr Wert verwendet wird.

3.3 Wähle mit Bedingungen den richtigen Weg

Verzweigung wählt aus, welche Anweisungen ausgeführt werden. Eine Bedingung ist ein Ausdruck mit dem Wert TRUE oder FALSE. Der Vergleich score ≥ 50 fragt, ob die aktuelle Punktzahl mindestens 50 beträgt.

IF und ELSE verwenden
IF score ≥ 50 THEN
    OUTPUT "Pass"
ELSE
    OUTPUT "Fail"
END IF

Genau ein Zweig wird ausgeführt. Bei 50 ist die Bedingung wahr und die Ausgabe lautet „Pass“. Bei 49 ist sie falsch und die Ausgabe lautet „Fail“. Ein IF ohne ELSE überspringt seinen Block einfach, wenn seine Bedingung falsch ist.

Der Vergleich muss zur Regel passen. „Mindestens 50“ schließt 50 ein und benötigt daher ≥. Mit > würde diese Punktzahl am Grenzwert abgelehnt. Werte am Schwellenwert zu testen ist eine direkte Möglichkeit, diesen Fehler zu finden.

Mehrere Fälle ordnen

Eine ELSE IF-Kette prüft Bedingungen der Reihe nach und führt den ersten zutreffenden Zweig aus:

IF temperature ≥ 30 THEN
    OUTPUT "Hot"
ELSE IF temperature ≥ 20 THEN
    OUTPUT "Warm"
ELSE IF temperature ≥ 10 THEN
    OUTPUT "Mild"
ELSE
    OUTPUT "Cold"
END IF

Für 24 °C ist die erste Prüfung falsch und die zweite wahr. Die Ausgabe lautet „Warm“. Für 10 °C wird der dritte Zweig ausgeführt. Für −3 °C wird das abschließende ELSE ausgeführt.

Eine Temperatur von 35 °C erfüllt alle drei aufgeschriebenen Vergleiche, aber nur der erste zutreffende Zweig wird ausgeführt. Stünde temperature ≥ 10 zuerst, würde dieser Vergleich bei 35 zutreffen und „Mild“ ausgeben. Prüfe bei überlappenden Schwellenwerten der Form „mindestens“ zuerst den größten. Die unteren Zweige behandeln dann Werte, die die höheren Schwellenwerte nicht erfüllen.

Bedingungen verknüpfen
OperatorWann das Ergebnis wahr ist
A AND BSowohl A als auch B sind wahr.
A OR BMindestens eine der Bedingungen A und B ist wahr.
NOT AA ist falsch.

Um Temperaturen von 10 °C bis ausschließlich 20 °C einzuschließen, verwende temperature ≥ 10 AND temperature < 20. Beide Schranken müssen eingehalten werden. Bei 15 sind beide Bedingungen wahr. Bei 20 ist die zweite falsch.

Mit OR für diesen Bereich ergibt sich temperature ≥ 10 OR temperature < 20. Das akzeptiert jede Zahl: Ein Wert unter 10 erfüllt immer noch den zweiten Teil, während jeder Wert ab 10 den ersten erfüllt. OR ist nützlich, wenn eine der beiden Möglichkeiten genügt, nicht wenn beide Schranken eingehalten werden müssen.

Eine Entscheidung in eine andere setzen

Ein verschachteltes IF setzt eine Entscheidung in einen Zweig einer anderen. Du könntest zuerst prüfen, ob ein Passwort lang genug ist, und dann innerhalb des erfolgreichen Zweigs prüfen, ob es eine Ziffer enthält. Die innere Entscheidung wird nur erreicht, wenn die äußere Bedingung es zulässt.

Rücke den inneren Block ein, damit die Wege sichtbar sind. Wenn mehrere verschachtelte Entscheidungen eine einfache Regel schwer lesbar machen, erwäge, Bedingungen mit AND zu verknüpfen oder eine ELSE IF-Kette zu verwenden. Verfolge einen Wert durch die tatsächliche Reihenfolge, bevor du annimmst, dass jede aufgeschriebene Prüfung erreicht wird.

Wichtige Erkenntnisse

  • Eine Bedingung hat einen Wahrheitswert als Ergebnis: TRUE oder FALSE.
  • IF … ELSE wählt einen von zwei Wegen; eine ELSE IF-Kette wählt den ersten zutreffenden Fall.
  • Für ein- und ausgeschlossene Schwellenwerte ist der jeweils passende Vergleichsoperator nötig.
  • AND verlangt beide Bedingungen, OR mindestens eine, und NOT kehrt eine Bedingung um.
  • Ordne überlappende Schwellenwerte so, dass ein früher Zweig keinen späteren Fall abfängt.
  • Eine innere Entscheidung wird nur ausgeführt, wenn der Ablauf den Zweig erreicht, der sie enthält.

3.4 Wiederhole Schritte und behalte den richtigen Zustand bei

Iteration wiederholt einen Block von Anweisungen. Eine Schleife lässt dich wiederholte Arbeit einmal ausdrücken. Du musst aber weiterhin entscheiden, wann sie beginnt, wann sie endet und welche Werte sich bei jedem Durchlauf ändern.

Die Steuerung der Wiederholung wählen
SchleifeAusführung
FOR i ← 1 TO 5Wird fünfmal ausgeführt, für 1 bis einschließlich 5.
FOR EACH item IN listWird einmal für jedes Listenelement ausgeführt.
WHILE condition DOPrüft vor jedem Durchlauf; wiederholt, solange die Bedingung wahr ist.
REPEAT … UNTIL conditionPrüft nach jedem Durchlauf; endet, wenn die Bedingung wahr ist.

Eine FOR-Schleife eignet sich bei bekannter Anzahl von Wiederholungen. Eine bedingungsgesteuerte Schleife eignet sich für eine Aufgabe, deren Endpunkt von Werten oder neuen Eingaben abhängt. Der Rumpf einer WHILE-Schleife wird unter Umständen kein einziges Mal ausgeführt. Der Rumpf einer fußgesteuerten REPEAT … UNTIL-Schleife wird mindestens einmal ausgeführt.

Einen Countdown nachvollziehen
n ← 3
WHILE n > 0 DO
    OUTPUT n
    n ← n − 1
END WHILE
OUTPUT "Go!"

Bei der ersten Prüfung ist n gleich 3. Die Schleife gibt 3 aus und ändert n auf 2. Die nächsten Durchläufe geben 2 und 1 aus. Nach der Aktualisierung von 1 auf 0 ist die Prüfung falsch. Der Ablauf verlässt die Schleife und gibt „Go!“ aus.

Ohne die Aktualisierung bleibt n gleich 3, sodass die Schleife ihren Abbruchzustand nie erreicht. Eine Schleife, die enden soll, braucht eine Möglichkeit, die Bedingung zu ändern: eine Aktualisierung innerhalb der Schleife oder eine neue Eingabe.

Eine Summe bilden und Elemente zählen

Eine Akkumulatorvariable baut über mehrere Durchläufe ein Ergebnis auf. Eine Zählvariable hält fest, wie oft etwas auftritt. Um den Mittelwert der Tagestemperaturen 18, 21, 19, 22 und 20 °C zu finden:

total ← 0
count ← 0
FOR EACH t IN temperatures
    total ← total + t
    count ← count + 1
END FOR
OUTPUT total / count

Die aufeinanderfolgenden Summen sind 18, 39, 58, 80 und 100. Die Zählvariable steht am Ende auf 5, also beträgt der Mittelwert 20 °C. Initialisiere beide Variablen vor der Schleife. Würdest du total innerhalb der Schleife zurücksetzen, gingen die vorherigen Additionen verloren. Eine leere Liste benötigt vor der Division eine gesonderte Prüfung, weil ihre Anzahl null ist.

Den bisher besten Wert merken

Setze largest bei einer nicht leeren Liste auf das erste Element. Prüfe dann jeden Wert und ersetze largest, sobald ein größerer Wert erscheint:

largest ← first item of list
FOR EACH value IN list
    IF value > largest THEN
        largest ← value
    END IF
END FOR
OUTPUT largest

Für [7, 3, 12, 5] bleibt der gemerkte beste Wert zunächst 7, wird zu 12 und bleibt bei 12. Ein Startwert von null scheitert bei einer Liste wie [−4, −9, −2], deren größter Wert −2 ist. Null war kein Kandidat.

Den ersten und den letzten Durchlauf prüfen

Ein Off-by-one-Fehler fügt eine Wiederholung hinzu oder lässt eine aus. FOR i ← 0 TO 5 wird sechsmal ausgeführt. Im Countdown würde n ≥ 0 auch null ausgeben. Schreibe den ersten und den letzten Wert der Steuervariablen auf, um die Anzahl zu prüfen.

Verschachtelte Schleifen wiederholen eine Schleife innerhalb einer anderen. Bei 3 Zeilen und 4 Spalten wird der innere Block für jede Zeile viermal ausgeführt, insgesamt also 12-mal. Die innere Schleife beginnt bei jedem äußeren Durchlauf erneut.

Wichtige Erkenntnisse

  • Zählergesteuerte Schleifen wiederholen Schritte eine bekannte Anzahl von Malen; bedingungsgesteuerte Schleifen hängen von einer Prüfung ab.
  • WHILE prüft vor dem Rumpf, während Pseudocode-REPEAT … UNTIL danach prüft.
  • Initialisiere Akkumulator- und Zählvariablen vor der Schleife und aktualisiere sie innerhalb der Schleife.
  • Eine Suche nach dem größten Wert kann beim ersten Element einer nicht leeren Liste beginnen.
  • Eine Schleife, die enden soll, braucht einen Weg zu ihrem Abbruchzustand.
  • Prüfe Anfang und Ende auf Off-by-one-Fehler; der Bereich von 0 bis einschließlich 5 hat sechs Werte.
  • Eine innere Schleife wird bei jedem Durchlauf ihrer äußeren Schleife vollständig ausgeführt.
4

Zeichne die Wege und überprüfe die Ergebnisse

Ein Diagramm kann die Wege durch einen Algorithmus sichtbar machen und ein Nachvollzug die Werte entlang eines dieser Wege. Programmablaufpläne und Pseudocode beschreiben dieselbe Logik in unterschiedlichen Formen. Der Wechsel zwischen ihnen hilft, falsch platzierte Prüfungen und Aktualisierungen aufzudecken. Sorgfältig gewählte Testdaten prüfen anschließend gewöhnliche Fälle, Schwellenwerte und ungewöhnliche Eingaben. Bei der Fehlersuche hilft ein reproduzierbarer Fehler, den ersten Schritt zu finden, der korrigiert werden muss.

4.1 Lies einen Programmablaufplan Pfeil für Pfeil

Ein Programmablaufplan stellt einen Algorithmus als Formen dar, die durch Pfeile verbunden sind. Die Formen kennzeichnen die Arten von Schritten und die Pfeile zeigen, welcher Schritt als Nächstes ausgeführt wird. Ein kurzer Plan macht einen Ablauf für Menschen sichtbar, die möglicherweise keinen Code lesen.

Für jede Aufgabe eine Form wählen

Die wichtigsten Symbole folgen ISO 5807. Sie haben unterschiedliche Aufgaben:

SymbolFormAufgabe
GrenzstelleOval oder abgerundetes RechteckKennzeichnet Start oder Ende.
VerarbeitungRechteckFührt eine Aktion oder Berechnung aus.
Ein-/AusgabeParallelogrammLiest oder sendet Daten.
VerzweigungRautePrüft eine Bedingung oder einen Wert und wählt einen Ausgang.
UnterprogrammRechteck mit doppelten senkrechten SeitenlinienRuft eine gesondert beschriebene Prozedur auf.
VerbindungsstelleKleiner beschrifteter KreisVerbindet getrennte Teile des Ablaufs.

Eine Ablauflinie hat einen Pfeil, der die Richtung zeigt. Die übliche Leserichtung ist von oben nach unten und von links nach rechts, aber der Pfeil bestimmt den tatsächlichen nächsten Schritt. Eine Linie, die zu einem früheren Punkt zurückführt, kann eine Wiederholung zeigen.

Eine einfache Sequenz erstellen

Um die Fläche eines rechteckigen Raums zu berechnen, verwende diese fünf Symbole in der angegebenen Reihenfolge:

  1. Grenzstelle: „Start“.
  2. Ein-/Ausgabe: „Länge, Breite eingeben“.
  3. Verarbeitung: area ← length * width.
  4. Ein-/Ausgabe: „Fläche ausgeben“.
  5. Grenzstelle: „Ende“.

Verbinde jeden Schritt durch einen Pfeil mit dem nächsten. Bei einer Länge von 4,5 m und einer Breite von 3 m ergibt die Berechnung 13,5 Quadratmeter. Das Einlesen der Eingabe berechnet nicht die Fläche; das gehört in ein eigenes Verarbeitungsrechteck. Die Anzeige der Fläche gehört in das Ausgabeparallelogramm.

Dieser Plan hat weder eine Auswahl noch einen wiederholten Weg. Er ist eine reine Sequenz und seine Form macht die Reihenfolge deutlich.

Einer Entscheidung mit aktuellen Werten folgen

Eine Raute stellt eine Frage oder prüft einen Wert. Beschrifte bei einer Ja-Nein-Frage wie score ≥ 50? die Ausgänge mit „Ja“ und „Nein“. Werte die Bedingung mit der aktuellen Punktzahl aus und folge genau einem passenden Pfeil.

Eine Verzweigung kann mehr als zwei mögliche Ausgänge haben, wenn sie mehrere unterschiedliche Werte prüft. Beschrifte jeden Ausgang mit dem Wert oder Fall, für den er steht. Die Beschriftungen sollen den nächsten Schritt eindeutig machen.

Eine Aktion wie count ← count + 1 gehört in ein Verarbeitungsrechteck. Eine Frage wie count < 5? gehört in eine Verzweigungsraute. Wenn du diese Aufgaben vermischst, ist nicht mehr erkennbar, ob ein Wert geändert oder geprüft wird.

Die Verbindungen prüfen

Ein übersichtlicher Plan hat einen Start und mindestens ein Ende. Jedes Verarbeitungs- und Ein-/Ausgabesymbol hat eine abgehende Ablauflinie. Jede Ja-Nein-Entscheidung hat zwei beschriftete Ausgänge. Folge jedem Weg und prüfe, ob er einen vorgesehenen nächsten Schritt oder Ende erreicht.

Lass einen Zweig nach seiner Ausgabe nicht offen enden. Sollen beide Zweige mit demselben Schritt fortfahren, zeichne sie vor diesem Schritt zusammen. Verwende beschriftete Verbindungsstellen, wenn lange oder sich kreuzende Linien die Seite unübersichtlich machen würden. Ein Unterprogrammsymbol ermöglicht es, eine große Prozedur in einem eigenen Plan darzustellen, während der Hauptplan seine Gesamtstruktur behält.

Wichtige Erkenntnisse

  • Ein Programmablaufplan verwendet Formen für Schrittarten und Pfeile für die Ausführungsreihenfolge.
  • Rechtecke führen Aktionen aus, Parallelogramme verarbeiten Daten und Rauten wählen Wege.
  • Beschrifte die Ausgänge einer Verzweigung und folge dem zum aktuellen Wert passenden Pfeil.
  • Nutze Start- und Endsymbole und verbinde jeden vorgesehenen Weg.
  • Ein Unterprogrammsymbol kann die Details einer gesonderten Prozedur verbergen.

4.2 Zeichne Zweige und Schleifen, ohne ihre Logik zu ändern

Pseudocode und Programmablaufpläne können denselben Algorithmus ausdrücken. Bei der Umwandlung zwischen ihnen müssen die Reihenfolge der Aktionen, die Bedingungen und jeder Weg durch den Ablauf erhalten bleiben. Ein übersichtliches Diagramm mit einer anders platzierten Prüfung beschreibt einen anderen Algorithmus.

Eine Auswahl zeigen und die Wege wieder zusammenführen

Zeichne für eine Bestehensgrenze von 50 eine Raute mit der Beschriftung score ≥ 50?. Ihr Ja-Ausgang führt zu einem Ausgabeparallelogramm mit der Beschriftung „Pass“. Ihr Nein-Ausgang führt zu einem mit der Beschriftung „Fail“. Führe die Wege vor Ende zusammen.

Im Pseudocode werden diese Wege zu den Zweigen IF und ELSE. Der Punkt, an dem sie wieder zusammenlaufen, entspricht der ersten Anweisung nach END IF. Der Plan darf die Ausgabe „Pass“ nicht zur Ausgabe „Fail“ weiterleiten; bei einem einzelnen Durchlauf gehört nur eine der beiden Ausgaben zum Weg.

Die Prüfung an die richtige Stelle setzen

Eine Schleife hat einen Weg zurück zu einem früheren Schritt und eine Entscheidung, die steuert, ob die Wiederholung fortgesetzt wird. Setze bei einer WHILE-Schleife die Entscheidung vor den Rumpf. Der Ausgang für eine falsche Bedingung führt am Rumpf vorbei, sodass kein einziger Durchlauf möglich ist.

Setze bei einem fußgesteuerten REPEAT … UNTIL die Entscheidung nach den Rumpf. Der Ausgang für eine falsche Bedingung führt zum Rumpf zurück, der für eine wahre Bedingung verlässt die Schleife. Der Rumpf wird mindestens einmal ausgeführt, weil der Ablauf ihn vor der ersten Prüfung erreicht.

SchleifePosition der EntscheidungAusstieg aus der Wiederholung
WHILE conditionVor dem RumpfBedingung ist falsch.
REPEAT … UNTIL conditionNach dem RumpfBedingung ist wahr.
Eine Anmeldung mit drei Versuchen durchgehen
attempts ← 0
REPEAT
    INPUT password
    attempts ← attempts + 1
UNTIL password = storedPassword OR attempts = 3
IF password = storedPassword THEN
    OUTPUT "Welcome"
ELSE
    OUTPUT "Account locked"
END IF

Beginne den Plan mit Start und einem Verarbeitungsrechteck für attempts ← 0. Zeichne danach das Parallelogramm für die Passworteingabe und dann das Rechteck für die Erhöhung. Die Schleifenraute fragt: „Passwort korrekt ODER attempts = 3?“ Ihr Nein-Ausgang führt zurück zur Passworteingabe. Ihr Ja-Ausgang verlässt die Schleife.

Die Abbruchbedingung nennt zwei mögliche Gründe für das Ende und kann daher die abschließende Meldung nicht allein auswählen. Ergänze eine zweite Raute, die fragt, ob das Passwort korrekt ist. Ja führt zu „Welcome“; Nein führt zu „Account locked“. Bei einem korrekten dritten Versuch endet die Schleife und der Zweig für das korrekte Passwort begrüßt die Nutzerin oder den Nutzer trotzdem.

Durch Verfolgen der Wege umwandeln

Wandle beim Übergang von Pseudocode zu einem Plan jede Zuweisung in ein Rechteck und jede Eingabe oder Ausgabe in ein Parallelogramm um. Verwandle Verzweigungs- und Schleifenprüfungen in Rauten. Verbinde den Rumpf an der richtigen Stelle zurück mit seiner steuernden Entscheidung.

Untersuche beim Übergang von einem Plan zu Pseudocode, wohin die Wege jeder Raute führen. Wege, die Alternativen ausführen und wieder zusammenlaufen, deuten auf eine Verzweigung hin. Ein Weg, der zu früheren Schritten zurückführt, deutet auf eine Iteration hin. Rücke jeden Rumpf passend zu seiner Abgrenzung ein.

Prüfe das Ziel jedes Rückwärtspfeils. Eine Rückkehr nach der steuernden Entscheidung würde die nächste Prüfung überspringen. Eine Rückkehr vor eine einmalige Initialisierung könnte eine Zählvariable bei jedem Durchlauf zurücksetzen und das Ende der Schleife verhindern.

Wichtige Erkenntnisse

  • Beim Umwandeln von Darstellungen müssen Aktionen, Bedingungen und Ausführungswege erhalten bleiben.
  • Die Zweige einer Verzweigung laufen nach ihren alternativen Schritten wieder zusammen.
  • Kopfgesteuerte Schleifen können den Rumpf überspringen; fußgesteuerte Schleifen führen ihn mindestens einmal aus.
  • Nach dem Verlassen einer Schleife kann eine gesonderte Entscheidung nötig sein, um den Grund für das Ende zu bestimmen.
  • Rückwärtspfeile müssen durch die vorgesehene steuernde Prüfung zurückführen und dürfen eine einmalige Initialisierung nicht wiederholen.

4.3 Finde Fehler mit Nachvollzügen und gut gewählten Tests

Ein Algorithmus kann vernünftig aussehen und dennoch das Falsche tun. Beim Nachvollziehen werden seine Anweisungen genau befolgt und die Ergebnisse festgehalten. Beim Testen wird er mit ausgewählten Eingaben ausgeführt und die Ergebnisse werden überprüft. Die Fehlersuche und Fehlerbehebung findet und behebt die Ursache eines Fehlers.

Den Zustand sichtbar machen

Eine Ablauftabelle hält Variablen und Ausgaben während eines Schreibtischtests fest. Verwende die aktuellen Werte, nicht die Werte, die du als Absicht der Urheberin oder des Urhebers vermutest. Zum Beispiel:

total ← 0
FOR i ← 1 TO 4
    total ← total + i
END FOR
OUTPUT total
Zeitpunkt der AusführungitotalAusgabe
Nach der Initialisierung–0–
Nach der ersten Addition11–
Nach der zweiten Addition23–
Nach der dritten Addition36–
Nach der vierten Addition410–
Bei OUTPUT41010

Diese kompakte Tabelle zeigt den Zustand nach jeder Addition. Ergänze bei einem schwer zu findenden Fehler Zeilen nach einzelnen Anweisungen und eine Spalte für die Ergebnisse von Bedingungen. Auch eine falsche Schleifenbedingung gehört in einen detaillierten Nachvollzug: Sie erklärt, warum der Ablauf die Schleife verlässt.

Tests anhand der Regeln auswählen

Ermittle das erwartete Ergebnis, bevor du jeden Test ausführst. Andernfalls ist es leicht, die Ausgabe des Programms zu akzeptieren, nur weil sie erschienen ist. Manche Tests prüfen eine Eigenschaft, etwa die Reihenfolge der Ausgabe, statt eines einzelnen genauen Ergebnisses.

Für zulässige Punktzahlen von 0 bis 100 mit einer Bestehensgrenze von 50:

ArtBeispieleingabeWas geprüft wird
Normal73Eine typische zulässige Punktzahl zum Bestehen.
Grenze0, 49, 50, 100Endpunkte und Entscheidungsschwelle.
Knapp außerhalb des Bereichs−1, 101Zurückweisung außerhalb der zulässigen Endpunkte.
Ungültiger Typ„abc“Zurückweisung von Text, wo eine Punktzahl benötigt wird.

Grenzdaten und ungültige Daten können sich überschneiden: −1 liegt sowohl nahe an einer Grenze als auch außerhalb des zulässigen Bereichs. Die Kategorie erklärt, warum der Test nützlich ist. Eine Regel mit score > 50 besteht normale Tests bei 73 und 49, scheitert aber bei genau 50.

Teste auch ungewöhnliche Eingabestrukturen. Eine leere Liste, ein einzelnes Element, lauter gleiche Werte und negative Werte decken unterschiedliche Annahmen auf. Ein Algorithmus für den Mittelwert muss eine leere Liste behandeln, bevor er durch ihre Anzahl dividiert. Ein Algorithmus für den größten Wert, der mit null initialisiert wird, kann bei einer Liste mit ausschließlich negativen Werten scheitern.

Den zu behebenden Fehler bestimmen

Ein Syntaxfehler verstößt gegen die Schreibregeln einer Sprache, etwa eine fehlende schließende Klammer. Ein Laufzeitfehler tritt während der Ausführung auf, etwa eine Division durch null. Ein logischer Fehler lässt die Ausführung zu, liefert aber ein falsches Ergebnis, etwa wenn die zum Bestehen ausreichende Punktzahl am Grenzwert durch > ausgeschlossen wird.

Diese Kategorien helfen dir, eine Prüfung auszuwählen. Die Syntaxprüfung erkennt fehlerhafte Sprachformen. Ein Nachvollzug kann bei einem logischen Fehler den ersten falschen Zustand aufdecken. Testdaten können einen Laufzeitfehler auslösen, der bei einer typischen Eingabe nie auftritt.

Vom ersten abweichenden Wert aus Fehler beheben

Reproduziere den Fehler mit einer bestimmten Eingabe. Verfolge Zwischenwerte nach oder zeige sie an und finde den ersten Schritt, bei dem der tatsächliche Zustand vom erwarteten abweicht. Ändere die Ursache und führe dann den fehlgeschlagenen Test und die früheren Tests erneut aus. Eine Korrektur in einem Zweig kann einen anderen beeinträchtigen.

Bestandene ausgewählte Tests liefern Belege für diese Eingaben. Korrektheit verlangt weiterhin, dass das Verfahren jede zulässige Eingabe bewältigt. Verbinde daher das Testen mit Überlegungen zu den Anweisungen und ihren Annahmen.

Wichtige Erkenntnisse

  • Ein Nachvollzug hält anhand aktueller Variablenwerte fest, was Anweisungen tatsächlich tun.
  • Lege erwartete Ergebnisse oder geforderte Eigenschaften vor der Ausführung von Tests fest.
  • Nutze normale, Grenz-, ungültige und strukturelle Randfälle.
  • Syntaxfehler verletzen Sprachregeln, Laufzeitfehler treten während der Ausführung auf und logische Fehler erzeugen falsches Verhalten.
  • Finde den ersten falschen Zustand, behebe seine Ursache und führe frühere Tests erneut aus.
  • Eine Reihe bestandener Tests liefert Belege, ohne die Korrektheit für jede zulässige Eingabe nachzuweisen.
5

Erstelle und koordiniere Programme in Scratch

Blöcke geben Anweisungen eine sichtbare Form, sodass du ein Programm erstellen und ausführen und dich dabei auf seine Logik konzentrieren kannst. Scratch führt dieses Modell anhand von Figuren, Ereignissen, Variablen, Entscheidungen und Schleifen ein. Kurze Projekte verbinden Eingaben mit sichtbaren Ausgaben und eigene Blöcke machen aus wiederholter Arbeit benannte Prozeduren. Die Koordination mehrerer Skripte zeigt auch, warum sich die Reihenfolge innerhalb eines Skripts vom zeitlichen Ablauf zwischen Skripten unterscheidet.

5.1 Erstelle ein Skript aus Scratch-Blöcken

Bei der blockbasierten Programmierung stehen grafische Blöcke für Anweisungen und Werte. Du ziehst sie in einen Arbeitsbereich und steckst sie zusammen. Die Formen nehmen dir einen großen Teil der Arbeit ab, dir die Syntax zu merken, sodass du dich auf die Logik des Programms konzentrieren kannst.

Die Teile eines Projekts kennen

Scratch wurde am MIT Media Lab entwickelt. Zu den anderen blockbasierten Umgebungen gehören Snap!, entwickelt an der University of California, Berkeley, Microsoft MakeCode und Blockly. Blockly ist eine Bibliothek zum Erstellen von Blockoberflächen; sie entstand bei Google und wechselte 2025 zur Raspberry Pi Foundation.

In Scratch ist die Bühne der Bereich, in dem das Projekt sichtbar abläuft. Figuren sind Charaktere oder Objekte, die darauf handeln. Eine Figur kann Skripte, Kostüme und Klänge haben. Ein Skript ist ein Stapel von Blöcken; ein Kostüm ist ein Bild, das die Figur anzeigen kann.

Die Bühne ist 480 mal 360 Scratch-Einheiten groß. Ihre Mitte ist der Koordinatenpunkt (0|0). Die waagerechten x-Koordinaten reichen von −240 bis 240 und die senkrechten y-Koordinaten von −180 bis 180. Bewegungsschritte in Scratch sind Bühneneinheiten, keine Meter.

Dich von der Blockform leiten lassen
BlockformAufgabeBeispiel
KopfblockStartet ein Skript als Reaktion auf ein Ereignis.„Wenn die grüne Flagge angeklickt wird“
StapelblockFührt einen Befehl aus.„gehe 10 er-Schritt“
C-förmigUmschließt Blöcke in einer Schleife oder einem Zweig.„wiederhole 10 mal“
Abgerundeter WerteblockLiefert einen Wert.Werteblock einer Variablen
Sechseckiger WahrheitsblockLiefert TRUE oder FALSE.„wird Mauszeiger berührt?“
AbschlussblockBeendet ein Skript.„stoppe alles“

Ein Werteblock passt in ein Eingabefeld eines anderen Blocks. Ein Befehl passt in einen Stapel von Aktionen. Ein Wahrheitsblock passt in ein Bedingungsfeld. Die Form hilft, die Abgabe eines Werts von der Ausführung eines Befehls zu unterscheiden.

Blöcke nach Kategorien finden

Scratch 3 hat neun farblich gekennzeichnete Hauptkategorien: Bewegung, Aussehen, Klang, Ereignisse, Steuerung, Fühlen, Operatoren, Variablen und Meine Blöcke. Bewegung ändert die Position; Aussehen steuert das sichtbare Erscheinungsbild und das Sprechen; Fühlen empfängt Informationen; Operatoren berechnen oder vergleichen. Die Erweiterung Malstift wird gesondert hinzugefügt, wenn ein Projekt beim Bewegen einer Figur Linien zeichnen soll.

Eine kurze Sequenz ausführen

Wähle eine Figur und setze diese Blöcke unter einen Kopfblock „Wenn die grüne Flagge angeklickt wird“:

  1. „gehe zu x: 0 y: 0“
  2. „sage Hallo! für 2 Sekunden“
  3. „gehe 100 er-Schritt“

Klicke auf die grüne Flagge. Die Figur geht zuerst in die Mitte, zeigt dann zwei Sekunden lang „Hallo!“ an und bewegt sich anschließend 100 Schritte in ihre aktuelle Richtung. Der zeitlich begrenzte Sprechblock macht die Pause sichtbar. Der Stapel wird von oben nach unten ausgeführt.

Ein loser Stapel kann durch direktes Anklicken im Arbeitsbereich ausgeführt werden. Er startet aber nicht durch die grüne Flagge, wenn ihm der passende Ereignis-Kopfblock fehlt. Prüfe sowohl die Reihenfolge des Stapels als auch sein Startereignis, wenn das Projekt nicht zu reagieren scheint.

Auch korrekt zusammenpassende Blöcke brauchen einen korrekten Plan. Eine Bewegung kann vor dem vorgesehenen Zurücksetzen der Position stattfinden oder eine Frage erst nach der Anzeige des Ergebnisses gestellt werden. Die Formen helfen beim zulässigen Zusammenbau; das Nachvollziehen zeigt, ob dieser Aufbau die beabsichtigte Arbeit erledigt.

Wichtige Erkenntnisse

  • Blöcke drücken Anweisungen und Werte durch Formen aus, die beim Platzieren helfen.
  • Die Bühne zeigt das Projekt; Figuren haben eigene Skripte, Kostüme und Klänge.
  • Ein Skript läuft von seinem Startereignis aus den Stapel der Reihe nach durch.
  • Die Mitte von Scratch liegt bei (0|0); die Bühne ist 480 mal 360 Einheiten groß.
  • Nutze Kategorien, um Blöcke zu finden, und füge bei Bedarf Erweiterungen wie Malstift hinzu.
  • Eine passend zusammengesteckte Blockanordnung kann trotzdem einen logischen Fehler enthalten.

5.2 Lass ein Blockprogramm reagieren und wiederholen

Scratch nutzt dieselben Ideen wie Pseudocode: einen Wert speichern, eine Bedingung prüfen und Schritte wiederholen. Die Blöcke machen die Struktur sichtbar, aber ihre Position bestimmt weiterhin, wann jede Aktion geschieht.

Eine zur Aufgabe passende Schleife wählen

„wiederhole 10 mal“ führt seinen Rumpf zehnmal aus. „wiederhole fortlaufend“ läuft weiter, bis das Programm stoppt, und eignet sich für ein Spiel, das ständig Eingaben prüft. „wiederhole bis “ prüft vor jedem Durchlauf und endet, wenn die Bedingung wahr ist. Anders als das fußgesteuerte REPEAT … UNTIL im Pseudocode kann dieser Block daher kein einziges Mal ausgeführt werden.

Mit der Erweiterung Malstift und abgesenktem Stift zeichnet „wiederhole 4 mal“ mit den enthaltenen Blöcken „gehe 100 er-Schritt“ und „drehe dich um 90 Grad nach rechts“ ein Quadrat. Verwende für ein regelmäßiges Sechseck sechs Wiederholungen und eine Drehung um 60 Grad. Die Richtungsänderungen addieren sich um die Figur herum zu 360 Grad.

Einen Wert speichern und einen Zweig wählen

Erstelle score unter Variablen. „setze score auf 0“ weist den Anfangswert zu. „ändere score um 1“ addiert zum aktuellen Wert. Setze das Zurücksetzen vor eine Schleife zur Punktevergabe; innerhalb der Schleife würde es jedes Mal den bisherigen Punktestand löschen.

Der abgerundete Werteblock score liefert den aktuellen Wert an andere Blöcke. Wenn du sein Kästchen aktivierst, wird auf der Bühne eine Anzeige eingeblendet, die beim Nachvollziehen hilft.

Ein „falls … dann … sonst“-Block führt einen seiner beiden Rümpfe aus. Sein sechseckiges Bedingungsfeld nimmt einen Wahrheitsblock wie „(score) > (9)“ oder „wird Mauszeiger berührt?“ auf. Die Operatoren „und“, „oder“ und „nicht“ verknüpfen Bedingungen mit derselben Bedeutung wie im Pseudocode.

Eingabe empfangen, Text erstellen und anzeigen

Der Block „frage [Wie heißt du?] und warte“ hält für eine Eingabe an und speichert sie in „Antwort“. Der Block „verbinde [Hallo, ] (Antwort)“ erstellt Text. Setze diesen Werteblock in „sage … für 2 Sekunden“, um die Begrüßung anzuzeigen. Bei der Eingabe „Amara“ lautet die Ausgabe „Hallo, Amara“.

Die drei Aufgaben sind getrennt: Fragen empfängt Daten, Verbinden verarbeitet Text und Sagen zeigt ihn an. Ein Werteblock kann einen nützlichen Wert berechnen, ohne selbst etwas anzuzeigen.

Ein Ratespiel erstellen

Verwende diese Blockreihenfolge; jeder eingerückte Teil steht innerhalb des umschließenden Blocks:

"when green flag clicked"
"set secret to (pick random 1 to 10)"
"ask [Guess a number from 1 to 10] and wait"
"repeat until <(answer) = (secret)>"
    "if <(answer) > (secret)> then"
        "say [Too high] for 2 seconds"
    "else"
        "say [Too low] for 2 seconds"
    "ask [Guess a number from 1 to 10] and wait"
"say [Correct!] for 2 seconds"

Ein richtiger erster Tipp überspringt die Schleife. Bei der Geheimzahl 6 und den Tipps 3, 8 und 6 lautet die Rückmeldung „Too low“, „Too high“ und dann „Correct!“. Die erneute Frage innerhalb der Schleife liefert einen Wert, der ihre Bedingung wahr machen kann.

Zeitlich begrenzte Rückmeldungen sind wichtig. Die Frage einer sichtbaren Figur nutzt deren Sprechblase, sodass die nächste Frage eine unbegrenzte Sprechblase sofort ersetzt. Ein zwei Sekunden lang angezeigter Text lässt die lernende Person zuerst die Rückmeldung lesen.

Lies die Schleife als WHILE answer ≠ secret, um sie in Pseudocode zu prüfen. Ohne die wiederholte Frage bleibt das Spiel bei der alten falschen Antwort gefangen; verschiebst du die abschließende Erfolgsmeldung in die Schleife, steht sie auf dem falschen Weg.

Wichtige Erkenntnisse

  • Der Scratch-Block „wiederhole bis“ prüft vor jedem Durchlauf und kann seinen Rumpf überspringen.
  • Initialisiere einen Punktestand vor einer Schleife und aktualisiere ihn innerhalb der Schleife.
  • Ein Wahrheitsblock liefert die Bedingung für eine Entscheidung.
  • Fragen liest eine Eingabe ein, Verbinden erstellt Text und Sagen zeigt Text an.
  • Eine Rateschleife benötigt neue Tipps, damit sie ihre Abbruchbedingung erreichen kann.
  • Zeitlich begrenzte Sprechblöcke halten Rückmeldungen sichtbar, bevor eine neue Frage die Sprechblase ersetzt.

5.3 Koordiniere Skripte und verwende einen eigenen Block erneut

Ein Scratch-Projekt hat oft mehrere Skripte, die auf unterschiedliche Ereignisse warten. Ereignisgesteuerte Programmierung startet ein Skript, wenn ein Ereignis eintritt. Ein eigener Block ermöglicht es einem Skript, eine benannte, wiederverwendbare Aufgabe aufzurufen.

Das richtige Skript starten

Zu den Kopfblöcken gehören „Wenn die grüne Flagge angeklickt wird“, „Wenn diese Figur angeklickt wird“, „Wenn Taste Leertaste gedrückt wird“ und „Wenn ich [Nachricht] empfange“. Jeder beschreibt, was den angehängten Stapel startet.

Mehrere Skripte können auf dasselbe Ereignis reagieren. Zwei Figuren können beide starten, wenn die grüne Flagge angeklickt wird, und dann nebeneinander laufen. Die Position ihrer Stapel im Arbeitsbereich legt keine Ausführungsreihenfolge zwischen ihnen fest.

Innerhalb eines Skripts bleiben Aktionen von oben nach unten geordnet. Zwischen Skripten kann der zeitliche Ablauf wichtig sein. Bewegen zwei Skripte dieselbe Figur in entgegengesetzte Richtungen, hängt ihr gemeinsames Ergebnis davon ab, wann ihre Aktionen ausgeführt werden. Gib Skripten klare Aufgaben und koordiniere die Arbeit, wenn eine Aufgabe das Ergebnis einer anderen benötigt.

Eine Nachricht zwischen Skripten senden

„sende [Spiel vorbei] an alle“ sendet eine Nachricht an alle Figuren und die Bühne. Passende Skripte mit „Wenn ich [Spiel vorbei] empfange“ starten als Reaktion. Der Nachrichtenname muss übereinstimmen; er bezeichnet das Ereignis, das die Empfänger behandeln.

„sende an alle und warte“ hält auch das sendende Skript an, bis die empfangenden Skripte beendet sind. Nutze dies, wenn die nächste Aktion von ihrem Abschluss abhängt. Ein steuerndes Skript kann zum Beispiel eine Einrichtungsnachricht senden und warten, während Figuren zu ihren Startpositionen gehen, und dann das Spiel beginnen.

Das Warten legt keine Reihenfolge zwischen den Empfängern fest. Wenn zwei empfangende Einrichtungsskripte denselben Wert überschreiben, benötigen sie weiterhin einen Plan, der widersprüchliche Zuständigkeiten vermeidet. Ein Empfangsskript, das endlos läuft, verhindert ebenfalls, dass das wartende sendende Skript fortfährt.

Wiederholter Arbeit einen Namen und eine Eingabe geben

Erstelle unter Meine Blöcke einen eigenen Block mit einer Eingabe namens size. Seine Definition lässt sich so beschreiben:

"define square (size)"
    "repeat 4"
        "move (size) steps"
        "turn right 90 degrees"

Bei abgesenktem Stift zeichnet der Aufruf „square (100)“ Seiten von 100 Schritten. Der Aufruf „square (60)“ nutzt dieselben Anweisungen mit kürzeren Seiten. Der eigene Block bietet Abstraktion, indem er die Schritte hinter einem Namen verbirgt, und Verallgemeinerung, indem die aufrufende Stelle die Größe übergeben kann.

Der Aufruf führt die Definition aus; er kopiert keine zweite, von Hand gepflegte Version in das Skript. Eine Änderung der Definition ändert die Arbeit, die spätere Aufrufe ausführen. So lässt sich ein wiederholtes Verfahren leichter pflegen.

Die Ideen in Text übertragen
Scratch-IdeeIdee in Pseudocode oder textbasiertem Code
„wiederhole 4 mal“Zählergesteuerte Schleife
„falls … dann … sonst“Verzweigung
„setze Punktestand auf 0“Zuweisung
Eigener BlockProzedur
Ereignis-Kopfblock und angehängtes SkriptEreignisbehandlungsroutine

In einer textbasierten Sprache tippst du die Anweisungen und befolgst die Regeln der Sprache für Satzzeichen und Abstände. Die zugrunde liegenden Überlegungen zu Zustand, Bedingungen und Wiederholung gelten weiterhin.

Blöcke beseitigen viele Syntaxfehler, aber die falsche Bedingung kann weiterhin den falschen Weg wählen. Nachvollzüge und Tests bleiben nützlich. Große Blockprojekte können außerdem schwer zu überblicken und zu vergleichen sein, weil ihre Skripte viel Bildschirmplatz beanspruchen; Text lässt sich bei großen Softwareprojekten leichter durchsuchen und verwalten.

Wichtige Erkenntnisse

  • Ein Ereignis startet die Skripte, deren Kopfblöcke darauf reagieren.
  • Skripte können nebenläufig ausgeführt werden; ihre Position im Arbeitsbereich legt daher ihre Reihenfolge nicht fest.
  • Das Senden einer Nachricht startet passende Empfangsskripte; „sende an alle und warte“ wartet zusätzlich auf deren Abschluss.
  • Eigene Blöcke verbergen wiederverwendbare Schritte und können Parameter aufnehmen.
  • Dieselbe Logik von Zuweisung, Verzweigung, Iteration und Prozeduren gilt auch für textbasierten Code.

Informatisches Denken: Beispiele

5 Interaktive Lektionen

1

Von einer Aufgabe zu einer überprüfbaren Lösung

10 Schritte
Erkenne eine Berechnung, definiere ihr Ergebnis und nutze die vier Denktechniken, um eine Lösung zu planen.
  1. 1
    EinführungBeginne mit dem Ergebnis

    Ein klares Problem lässt sich leichter lösen als eine vage Anfrage. Angenommen, eine Lesegruppe möchte die Namen ihrer Mitglieder alphabetisch anzeigen. Ermittle, bevor du Software auswählst, welche Informationen vorliegen und was das fertige Ergebnis enthalten muss.

    Du verfolgst diese Anfrage von einer Aufgabenstellung bis zu einem Plan und nutzt dabei Eingabe, Verarbeitung, Ausgabe und die vier Techniken des informatischen Denkens.

  2. 2
    ErklärungBenenne Eingabe und Ausgabe

    Die Eingabe ist die Liste der Namen der Mitglieder. Die geforderte Ausgabe ist dieselbe Liste in alphabetischer Reihenfolge. Die Verarbeitung ist das Verfahren, das die Namen neu anordnet.

    Diese Aufgaben unterscheiden sich. Eine Liste, in der ein Mitglied fehlt, erfüllt die Aufgabe nicht, selbst wenn die übrigen Namen geordnet sind. Wenn du die Ausgabe festlegst, kannst du diesen Fehler erkennen, bevor du entscheidest, wie das Verfahren funktioniert.

  3. 3
    VerbindungOrdne die Aufgabe in die Informatik ein

    Die Informatik untersucht Informationen und die Abläufe, die sie verarbeiten. Diese Aufgabe wirft Fragen zur Darstellung von Namen, zum Entwurf eines Verfahrens und zur Prüfung der Korrektheit des Ergebnisses auf.

    Bei der Programmierung würden Anweisungen in einer Sprache ausgedrückt, die ein Computer ausführen kann. Zuerst kommen die weiter gefassten Fragen: Welche Ausgabe ist gefordert, welche Annahmen benötigt das Verfahren und wie viel Arbeit verursacht eine größere Liste?

  4. 4
    HerausforderungPrüfe eine vorgeschlagene Ausgabe

    Die eingegebenen Namen lauten „Noor“, „Ava“ und „Luis“. Ein System zeigt „Ava“, „Noor“ an. Welche Anforderung hat es nicht erfüllt, noch bevor du seine Geschwindigkeit besprichst?

    ---reveal---

    Es hat nicht jeden eingegebenen Namen erhalten: Luis fehlt. Die alphabetische Reihenfolge allein erfüllt nicht die vollständige Anforderung an die Ausgabe. Das Ergebnis muss die ursprünglichen Namen enthalten und sie in die geforderte Reihenfolge bringen.

  5. 5
    ErklärungWähle Denkwerkzeuge

    Vier Techniken helfen, die Anfrage in eine Lösung zu überführen. Die Problemzerlegung trennt das Sammeln der Namen, das Ordnen und das Anzeigen des Ergebnisses. Die Mustererkennung findet wiederholte Arbeit bei den Namen. Die Abstraktion behält die Informationen, die die Aufgabe benötigt. Der Algorithmenentwurf legt die Anweisungen fest.

    Du kannst zu jeder Technik zurückkehren, wenn eine Überprüfung ein Problem aufdeckt. Ihre Namen beschreiben Arten des Denkens, keine feste Ausführungsfolge aus vier Schritten.

  6. 6
    BeispielMache die Anforderungen nutzbar

    Schreibe Eingaben, Ausgaben, Nebenbedingungen und Erfolgskriterien auf. Bei der Lesegruppe ist die Eingabe ihre Mitgliederliste und die Ausgabe eine geordnete Anzeige. Jeden Namen zu erhalten ist eine Anforderung; die Prüfung der Anzahl und der enthaltenen Mitglieder hilft, das Ergebnis zu beurteilen.

    Erstelle dann einen Plan, drücke ihn aus und teste ihn. Diese Handlungen folgen Pólyas Phasen: verstehen, planen, ausführen und zurückblicken. Ein Test kann etwas aufdecken, das der erste Plan übersehen hat.

  7. 7
    AnalogieNutze dieselbe Denkweise für Mahlzeiten

    Die Planung von Mahlzeiten nutzt denselben Ansatz. Trenne das Auswählen der Rezepte vom Erstellen der Einkaufsliste. Erkenne gemeinsame Zutaten, behalte relevante Mengen und ordne dann die Handlungen: Bedarf zusammenfassen, vorhandene Lebensmittel prüfen und einkaufen.

    Die Darstellung „Reis, 1 kg“ behält eine nützliche Mengenangabe, ohne eine unwichtige Marke zu erhalten. Der Zweck entscheidet, welche Details wichtig sind; wenn für mehr Menschen gekocht wird, ändern sich die Mengen, die der Plan benötigt.

  8. 8
    HerausforderungWähle die erste nützliche Handlung

    Eine organisierende Person sagt: „Verbessere den Veranstaltungszeitplan.“ Eine entwickelnde Person beginnt, eine farbenfrohe Anzeige zu entwerfen. Was sollte das Team vor dieser Umsetzungsentscheidung klären?

    ---reveal---

    Kläre die verfügbaren Informationen, das geforderte Ergebnis und die Nebenbedingungen. Frage zum Beispiel, was „besser“ bedeutet und wie der Erfolg überprüft wird. Eine aufwendig gestaltete Anzeige kann einen Plan ausführen, der das Zeitplanproblem nie behandelt hat.

  9. 9
    HerausforderungVerbinde den Plan mit der Überprüfung

    Ein Werkzeug fasst Zutatenlisten zusammen, rechnet aber denselben Vorratsschrankbestand einmal für jedes Rezept an, das ihn verwendet. Die endgültige Einkaufsmenge ist zu klein. Welcher Teil des geordneten Verfahrens muss untersucht werden und warum?

    ---reveal---

    Untersuche, wie gemeinsamer Bedarf zusammengefasst und vorhandener Vorrat abgezogen wird. Der Vorratsschrankbestand sollte vom zusammengefassten Bedarf abgezogen werden. Die fehlerhafte Ausgabe weist auf die Verarbeitungsschritte zurück, obwohl die Zutatendaten korrekt eingegeben worden sein können.

  10. 10
    ZusammenfassungNimm ein klares Problem in den nächsten Schritt mit

    Eine nützliche Ausgangsbeschreibung nennt ihre Eingaben, geforderten Ausgaben, Nebenbedingungen und Prüfungen. Die Lösung kann dann zerlegt, vereinfacht, ausgedrückt und überarbeitet werden.

    Schreibe für deine nächste Aufgabe ein konkretes Erfolgskriterium auf, bevor du ein Verfahren auswählst. Es sollte einer anderen Person ermöglichen, das Ergebnis zu beurteilen, ohne zu wissen, welche Software oder Sprache es erzeugt hat.

2

Erstelle ein kleines Modell einer größeren Aufgabe

13 Schritte
Teile ein Quiz in Aufgabenbereiche, verwende gemeinsame Verfahren erneut und wähle die Details, die jeder Teil benötigt.

Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.

  1. 1
    EinführungMache ein Quiz überschaubar
  2. 2
    ErklärungBeginne mit den Aufgabenbereichen
  3. 3
    BeispielVerfeinere einen Zweig
  4. 4
    TippSchreibe die Übergaben auf
  5. 5
    HerausforderungFinde eine Lücke im Plan
  6. 6
    ErklärungSuche nach gleicher Arbeit
  7. 7
    BeispielVerallgemeinere ein Zeichenverfahren
  8. 8
    HerausforderungPrüfe, ob die Wiederverwendung gerechtfertigt ist
  9. 9
    AnalogieBehalte den Zweck des Plans im Blick
  10. 10
    BeispielBenenne eine Aufgabe und verberge ihre Schritte
  11. 11
    HerausforderungWähle Daten passend zum Zweck
  12. 12
    HerausforderungVerbinde die drei Techniken
  13. 13
    ZusammenfassungUntersuche die gewählten Abgrenzungen
3

Vollziehe einen vollständigen Algorithmus von der Eingabe bis zur Ausgabe nach

20 Schritte
Erstelle ein kleines Verfahren zur Listenverarbeitung und übe dabei Zuweisung, Verzweigung, Schleifen und Terminierung.

Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.

  1. 1
    EinführungVerfolge, was die Anweisungen tatsächlich tun
  2. 2
    ErklärungVervollständige das Verfahren
  3. 3
    BeispielVergleiche den Aufwand bei geordneten Seiten
  4. 4
    HerausforderungPrüfe die Annahme des Verfahrens
  5. 5
    ErklärungLies eine Zuweisung als Ersetzung
  6. 6
    BeispielErhalte den alten Wert bei einer Vertauschung
  7. 7
    HerausforderungTeile eine Dauer in Gruppen und Rest auf
  8. 8
    ErklärungWähle einen Weg
  9. 9
    BeispielVerlange beide Schranken
  10. 10
    HerausforderungOrdne überlappende Prüfungen
  11. 11
    ErklärungBestimme, wann die Schleife prüft
  12. 12
    BeispielBereite eine laufende Mittelwertberechnung vor
  13. 13
    BeispielFühre die ersten beiden Durchläufe aus
  14. 14
    BeispielSchließe die Mittelwertberechnung ab
  15. 15
    TippPrüfe Fortschritt und Endpunkte
  16. 16
    BeispielBeginne den besten Wert mit einem Kandidaten
  17. 17
    HerausforderungVollziehe den Ablauf vor der nächsten Prüfung nach
  18. 18
    VerbindungWiederhole eine Schleife für jede Zeile
  19. 19
    HerausforderungVerbinde Verzweigung und Akkumulation
  20. 20
    ZusammenfassungBegründe das Ergebnis mit einem Nachvollzug
4

Folge einem Programmablaufplan und behebe einen Grenzwertfehler

15 Schritte
Übertrage einen kurzen Ablauf, verfolge seine Werte und wähle Tests, die korrektes und fehlerhaftes Verhalten unterscheiden.

Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.

  1. 1
    EinführungBetrachte sowohl den Weg als auch die Werte
  2. 2
    ErklärungOrdne Formen den Aktionen zu
  3. 3
    BeispielZeichne die Sequenz zur Flächenberechnung
  4. 4
    HerausforderungWähle das fehlende Symbol
  5. 5
    ErklärungWandle eine Verzweigung in IF um
  6. 6
    BeispielSetze eine WHILE-Entscheidung an den Anfang
  7. 7
    BeispielSetze eine Anmeldeprüfung nach die Eingabe
  8. 8
    HerausforderungVollziehe einen erfolgreichen letzten Versuch nach
  9. 9
    ErklärungHalte den aktuellen Zustand fest
  10. 10
    BeispielSchreibe Erwartungen vor der Ausführung auf
  11. 11
    TippWähle unterschiedliche Arten von Testeingaben
  12. 12
    HerausforderungFinde die erste falsche Aktualisierung
  13. 13
    ErklärungBehebe die Ursache und prüfe erneut
  14. 14
    HerausforderungNutze einen Nachvollzug und einen neuen Test zusammen
  15. 15
    ZusammenfassungLass jede Prüfung eine Frage beantworten
5

Erstelle ein interaktives Scratch-Programm

17 Schritte
Nutze Ereignisse, Zustand, Eingabe, Rückmeldung, Schleifen und eigene Blöcke und halte dabei Skripte aufeinander abgestimmt.

Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.

  1. 1
    EinführungVerbinde einen Plan mit sichtbarem Verhalten
  2. 2
    ErklärungWähle die Figur und das Startereignis
  3. 3
    BeispielFühre einen kurzen Stapel der Reihe nach aus
  4. 4
    HerausforderungUnterscheide einen Wert von einer Aktion
  5. 5
    ErklärungInitialisiere vor wiederholten Schritten
  6. 6
    BeispielEmpfange eine Eingabe und erzeuge eine Ausgabe
  7. 7
    BeispielWähle die Geheimzahl und frage einmal
  8. 8
    BeispielGib eine lesbare Rückmeldung
  9. 9
    BeispielVerfolge drei Tipps
  10. 10
    HerausforderungVergleiche die beiden Bis-Formen
  11. 11
    ErklärungKoordiniere ein abhängiges Skript
  12. 12
    HerausforderungPrüfe, was der Abschluss verlangt
  13. 13
    BeispielErstelle eine Zeichenprozedur
  14. 14
    VerbindungÜbertrage die Struktur in Text
  15. 15
    TippGib einem gemeinsam genutzten Zustand eine klare Zuständigkeit
  16. 16
    HerausforderungVerbinde Einrichtung, Wiederholung und Wiederverwendung
  17. 17
    ZusammenfassungLies das Verhalten als Algorithmus

Informatisches Denken: Übungsaufgaben

50 Übungsfragen in 5 Sets

Set 1: Definiere ein Problem und erstelle einen Plan10 Übungsfragen

Frage 1 von 10

Ein System erhält eine Liste gemessener Massen, berechnet ihren Mittelwert und zeigt einen Wert in Kilogramm an. Was ist seine Ausgabe?
  1. Die eingegebene Liste der Massen.
  2. Die angezeigte mittlere Masse.
  3. Die Schritte zur Mittelwertberechnung.
  4. Die Anzahl der verwendeten Schritte.
Antwort zeigenAntwort ausblenden
Antwort: B
Die Ausgabe ist das Ergebnis, das die Verarbeitung ausgibt: die mittlere Masse in Kilogramm. Die Messwerte sind die Eingabe, aus der dieses Ergebnis berechnet wird. Wer beides verwechselt, kehrt die Richtung der Berechnung um; die Schritte zur Mittelwertberechnung beschreiben die Verarbeitung selbst.

Frage 2 von 10

Eine organisierende Person bittet um ein Programm, das Workshopnamen alphabetisch ordnet. Mit welcher Anforderung ließe sich sein Ergebnis überprüfen?
  1. Das Programm zeigt eine Liste mit kürzeren Namen weiter oben an.
  2. Das Programm prüft jeden eingereichten Workshopnamen mit einer Schleife.
  3. Die Ausgabe enthält die zehn von Besuchenden am häufigsten gewünschten Namen.
  4. Die Ausgabe enthält jeden ursprünglichen Namen in alphabetischer Reihenfolge.
Antwort zeigenAntwort ausblenden
Antwort: D
Eine überprüfbare Anforderung legt die geforderte Ausgabe fest: alle ursprünglichen Namen in alphabetischer Reihenfolge. Eine Schleife zu verlangen wählt einen Teil eines Verfahrens, ohne festzulegen, ob das Ergebnis korrekt ist. Fehlende Namen würden die Aufgabe nicht erfüllen, selbst wenn die übrigen Namen geordnet wären.

Frage 3 von 10

Vor dem Entwurf eines Programms für Raumbuchungen listet ein Team die verfügbaren Informationen, das geforderte Ergebnis und Regeln gegen Doppelbuchungen auf. Welche Phase des Problemlösens ist das?
  1. Das Problem verstehen.
  2. Den Algorithmus ausführen.
  3. Fehler in der Umsetzung beheben.
  4. Ausführungsgeschwindigkeiten vergleichen.
Antwort zeigenAntwort ausblenden
Antwort: A
Das Team legt Eingaben, Ausgaben und Nebenbedingungen fest; das gehört zum Verstehen des Problems. Es hat noch keine ausführbaren Anweisungen gewählt. Für die Fehlerbehebung wäre ein Verhalten nötig, das untersucht werden kann; das Auflisten der Buchungsregeln legt fest, wie korrektes Verhalten aussehen muss.

Frage 4 von 10

Ein Paketsystem wird in das Einlesen von Aufträgen, das Auswählen von Routen und das Drucken von Routenetiketten zerlegt. Die Etiketten müssen die gewählte Route zeigen. Welche Abhängigkeit muss der Plan einhalten?
  1. Die Route muss vor dem Drucken ihres Etiketts gewählt werden.
  2. Das Etikett muss vor dem Einlesen seines Auftrags gedruckt werden.
  3. Das Einlesen der Aufträge muss auf den Druck aller Etiketten warten.
  4. Die Auswahl der Routen muss auf den Druck der Etiketten warten.
Antwort zeigenAntwort ausblenden
Antwort: A
Das Drucken benötigt die Routenauswahl als Eingabe, daher muss für das Paket zuerst die Route ausgewählt werden. Bei umgekehrter Reihenfolge fehlte dem Etikettenschritt sein benötigter Wert. Die Aufteilung des Systems in getrennte Teile hilft nur, wenn der Plan auch ihre Abhängigkeiten einhält.

Frage 5 von 10

Eine entwerfende Person zerlegt eine Aufgabe immer weiter in kleinere Teile. Wann ist es sinnvoll, einen Teil nicht weiter zu verfeinern?
  1. Wenn jeder Hauptzweig bis zur gleichen Tiefe verfeinert wurde.
  2. Wenn der Teil einen Namen hat, sein Verfahren aber unbekannt bleibt.
  3. Wenn seine Lösung klar ist oder ein vorhandenes Werkzeug ihn bewältigt.
  4. Wenn seine Eingaben aufgelistet sind, seine Ausgabe aber noch nicht festgelegt ist.
Antwort zeigenAntwort ausblenden
Antwort: C
Die Verfeinerung kann enden, sobald ein Teil direkt lösbar ist oder bereits von einer bekannten Lösung bewältigt wird. Gleich viele Zweige machen eine Problemzerlegung nicht besser. Die sinnvolle Abgrenzung hängt von der Arbeit und den verfügbaren Verfahren ab, sodass verschiedene Zweige unterschiedlich tief sein können.

Frage 6 von 10

Ein Zeichenverfahren wiederholt acht gleich lange Bewegungen und gleich große Rechtsdrehungen, um ein regelmäßiges Achteck zu zeichnen. Welche Drehung ist nach jeder Bewegung nötig?
  1. 135 Grad.
  2. 45 Grad.
  3. 60 Grad.
  4. 90 Grad.
Antwort zeigenAntwort ausblenden
Antwort: B
Die Richtungsänderungen müssen zusammen eine volle Umdrehung ergeben, daher beträgt jede der acht Drehungen 360∘/8=45∘. Wer 135 Grad verwendet, verwechselt den Innenwinkel des Achtecks mit der Richtungsänderung. Die wiederholte Drehung wird zwischen der alten und der neuen Bewegungsrichtung gemessen.

Frage 7 von 10

Ein Liefermodell behält Straßenverbindungen und Straßenlängen, lässt aber Einbahnstraßenregelungen weg. Es schlägt manchmal eine Fahrt entgegen der erlaubten Fahrtrichtung vor. Was sollte geändert werden?
  1. Straßenlängen aus der Routenplanung entfernen.
  2. Nur die Namen der Start- und Zielstraße behalten.
  3. Straßen in gleich lange Abschnitte aufteilen.
  4. Einbahnstraßenregelungen im Modell behalten.
Antwort zeigenAntwort ausblenden
Antwort: D
Ein Modell für Autofahrten benötigt die erlaubten Fahrtrichtungen, weil sie beeinflussen, welche Routen nutzbar sind. Abstraktion sollte für den Zweck unwichtige Details entfernen, nicht eine Regel, die die Antwort verändert. Mehr geometrische Details würden die fehlenden Informationen zur erlaubten Fahrtrichtung nicht ersetzen.

Frage 8 von 10

Drei Programme finden in nicht leeren Listen das leichteste Paket, die kürzeste Aufnahme und die niedrigste Temperatur. Welches wiederverwendbare Verfahren passt für alle drei?
  1. Null merken und ersetzen, sobald ein kleinerer Wert erscheint.
  2. Nur den ersten und letzten Wert vergleichen und den kleineren zurückgeben.
  3. Den ersten Wert merken und ersetzen, sobald ein kleinerer Wert erscheint.
  4. Den Wert genau zwischen dem ersten und letzten Listenwert zurückgeben.
Antwort zeigenAntwort ausblenden
Antwort: C
Alle drei Aufgaben suchen ein Minimum, daher lässt sich das Verfahren, den bisher besten Wert zu merken, übertragen. Wenn du mit dem ersten Wert beginnst, ist das gespeicherte Ergebnis ein tatsächlicher Kandidat; ein Start bei null scheitert, wenn alle Werte positiv sind. Das Prüfen aller übrigen Werte erfasst auch ein Minimum in der Mitte.

Frage 9 von 10

Eine Anleitung sagt „Wiederhole die Prüfung“, nennt aber weder eine Abbruchregel noch eine endliche Anzahl. Welche Eigenschaft eines Algorithmus ist nicht sichergestellt?
  1. Dass das Verfahren endet.
  2. Dass das Verfahren Daten speichert.
  3. Dass das Verfahren eine Verzweigung nutzt.
  4. Dass das Verfahren eine Eingabe hat.
Antwort zeigenAntwort ausblenden
Antwort: A
Ein Algorithmus muss für seine zulässigen Eingaben nach einer endlichen Anzahl von Schritten enden. Die Anweisung lässt nicht erkennen, wann die Wiederholung endet. Wiederholung selbst ist erlaubt und eine Schleife kann endlich sein; die fehlende Abbruchregel verhindert hier eine Begründung der Terminierung.

Frage 10 von 10

Welche Werte liegen nach diesem Pseudocode vor?

a ← 6
b ← 11
a ← b
b ← a
  1. a = 11, b = 6
  2. a = 11, b = 11
  3. a = 6, b = 11
  4. a = 6, b = 6
Antwort zeigenAntwort ausblenden
Antwort: B
Die dritte Zeile kopiert 11 nach a und ersetzt dessen vorherige 6. Die letzte Zeile liest diesen aktuellen Wert von a und kopiert daher ebenfalls 11 nach b. Für eine Vertauschung müsste die ursprüngliche 6 in einer Hilfsvariablen gespeichert werden, bevor a überschrieben wird; eine Zuweisung erhält alte Werte nicht von selbst.
Set 2: Verfolge Variablen, Entscheidungen und Schleifen10 Übungsfragen

Speichere diese Einheit, um jede Antwort zu sehen und jedes Set zu üben.

Frage 1 von 10

Was wird hier ausgegeben?

value ← 7
value ← value + 4
OUTPUT value
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 2 von 10

Eine Dauer beträgt 248 Minuten. Welche Werte ergeben 248 DIV 60 und 248 MOD 60 in dieser Reihenfolge?
  1. 4 und 8.
  2. 4 und 48.
  3. 8 und 4.
  4. 3 und 68.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 3 von 10

Ein Messwert wird akzeptiert, wenn er mindestens 12 beträgt. Welcher Vergleich sollte die Annahme prüfen?
  1. measurement > 12
  2. measurement ≤ 12
  3. measurement = 12
  4. measurement ≥ 12
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 4 von 10

Ein Sensorwert muss von einschließlich 4 bis ausschließlich 9 reichen. Welche Bedingung prüft das?
  1. value ≥ 4 OR value < 9
  2. value ≥ 4 AND value < 9
  3. value > 4 AND value ≤ 9
  4. value ≤ 4 OR value ≥ 9
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 5 von 10

Was wird für load = 82 ausgegeben?

IF load ≥ 80 THEN
    OUTPUT "High"
ELSE IF load ≥ 50 THEN
    OUTPUT "Medium"
ELSE
    OUTPUT "Low"
END IF
  1. Nur „Medium“.
  2. Nur „High“.
  3. „High“, dann „Medium“.
  4. Nur „Low“.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 6 von 10

Wie oft wird die Ausgabe ausgeführt?

FOR i ← 2 TO 6
    OUTPUT i
END FOR
  1. 4-mal.
  2. 6-mal.
  3. 5-mal.
  4. 2-mal.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 7 von 10

Welche Folge wird ausgegeben?

n ← 5
WHILE n > 0 DO
    n ← n − 2
    OUTPUT n
END WHILE
  1. 3, 1, −1.
  2. 5, 3, 1.
  3. 3, 1.
  4. 5, 3, 1, −1.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 8 von 10

Was wird ausgegeben?

total ← 0
FOR EACH n IN [2, 5, 6, 9]
    IF n MOD 2 = 0 THEN
        total ← total + n
    END IF
END FOR
OUTPUT total
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 9 von 10

Eine äußere Schleife besucht die Zeilen 1 bis einschließlich 3. Für jede Zeile besucht eine innere Schleife die Spalten 1 bis einschließlich 5 und addiert 2 zu einer einmalig mit null initialisierten Summe. Welche Summe bleibt?
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 10 von 10

Eine nicht leere Liste kann beliebige ganze Zahlen enthalten. Ein Verfahren zur Suche des größten Werts initialisiert largest ← 0 und ersetzt den Wert nur, wenn ein größeres Element erscheint. Welche einzelne Änderung macht den Anfangswert für jede solche Liste zulässig?
  1. Den Vergleich > durch ≥ ersetzen.
  2. largest mit dem letzten Element plus 1 initialisieren.
  3. largest vor jedem Vergleich auf null zurücksetzen.
  4. largest mit dem ersten Listenelement initialisieren.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Set 3: Lies Programmablaufpläne und untersuche Fehler10 Übungsfragen

Speichere diese Einheit, um jede Antwort zu sehen und jedes Set zu üben.

Frage 1 von 10

Welches Symbol eines Programmablaufplans sollte distance ← speed * time enthalten?
  1. Ein Ein-/Ausgabeparallelogramm.
  2. Eine Verzweigungsraute.
  3. Eine Start-/End-Grenzstelle.
  4. Ein Verarbeitungsrechteck.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 2 von 10

Ein Programmablaufplan liest eine ganzzahlige Anzahl ein und erreicht eine Raute mit der Beschriftung count = 0?. Wohin sollte der Ablauf bei count gleich 3 als Nächstes führen?
  1. Über den mit Ja beschrifteten Ausgang.
  2. Über den mit Nein beschrifteten Ausgang.
  3. Nacheinander über beide Ausgänge.
  4. Vor der Auswahl zurück zu Start.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 3 von 10

Ein Programmablaufplan prüft items > 0? vor einem wiederholten Rumpf. Ja führt in den Rumpf und zurück zur Prüfung; Nein führt zu Ende. Welche Pseudocode-Struktur passt dazu?
  1. WHILE items > 0 DO … END WHILE
  2. REPEAT … UNTIL items > 0
  3. IF items > 0 THEN … END IF
  4. FOR items ← 0 TO 1 … END FOR
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 4 von 10

Ein Programm akzeptiert ganzzahlige Altersangaben von 18 bis einschließlich 65. Welche Eingabe prüft direkt, ob der obere Endpunkt fälschlich ausgeschlossen wird?
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 5 von 10

Ein Programm zur Mittelwertberechnung dividiert total durch count. Es funktioniert für mehrere nicht leere Listen, scheitert aber bei einer leeren Liste. Was sollte vor der Division behandelt werden?
  1. Der Fall, dass count null ist.
  2. Der Fall einer negativen Summe.
  3. Der erste Wert unter dem letzten.
  4. Wiederholte Werte in der Liste.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 6 von 10

Wie lauten die nacheinander gespeicherten Summen nach jeder Ausführung des Rumpfs?

total ← 1
FOR i ← 1 TO 3
    total ← total * 2
END FOR
  1. 1, 2, 4.
  2. 2, 3, 4.
  3. 2, 4, 8.
  4. 2, 4, 6.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 7 von 10

Ein Anmeldeablauf liest einen Code ein, erhöht attempts und wiederholt, wenn der Code falsch ist UND attempts < 4 gilt. Beim vierten Versuch ist der Code korrekt. Welche Prüfung sollte nach der Schleife zwischen „Akzeptiert“ und „Grenze erreicht“ wählen?
  1. Ob attempts kleiner als vier ist.
  2. Ob der eingegebene Code korrekt ist.
  3. Ob der Schleifenrumpf mindestens einmal lief.
  4. Ob attempts seinem Anfangswert entspricht.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 8 von 10

Ein Programm muss ganzzahlige Temperaturen von −8 bis einschließlich 12 akzeptieren. Derzeit prüft es temperature > −8 AND temperature ≤ 12. Tests mit −9, 0, 12 und 13 sind erfolgreich. Welcher neue Test deckt den Fehler auf und welches Ergebnis sollte erwartet werden?
  1. −7, akzeptiert.
  2. 11, akzeptiert.
  3. −9, abgelehnt.
  4. −8, akzeptiert.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 9 von 10

Ein Programmablaufplan initialisiert total ← 0, liest dann einen Wert ein, addiert ihn zu total und prüft, ob ein weiterer Wert benötigt wird. Sein Ja-Pfeil führt zur Initialisierung zurück. Das Ziel ist eine laufende Summe. Wohin sollte dieser Ja-Pfeil zurückführen?
  1. Zum Eingabeschritt nach der Initialisierung.
  2. Zum Initialisierungsschritt vor der Eingabe.
  3. Zum Ausgabeschritt nach der Entscheidung.
  4. Zum Additionsschritt ohne neue Eingabe.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 10 von 10

Ein Programm läuft ohne Absturz, lehnt aber eine zum Bestehen ausreichende Punktzahl ab, weil es > verwendet, wo die Regel ≥ benötigt. Um welche Fehlerart handelt es sich?
  1. Einen Syntaxfehler.
  2. Einen logischen Fehler.
  3. Einen Laufzeitfehler.
  4. Einen Eingabetippfehler.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Set 4: Erstelle und koordiniere Scratch-Skripte10 Übungsfragen

Speichere diese Einheit, um jede Antwort zu sehen und jedes Set zu üben.

Frage 1 von 10

Ein Scratch-Stapel wird beim Anklicken im Arbeitsbereich ausgeführt, tut aber nichts, wenn die grüne Flagge angeklickt wird. Was sollte den Stapel bei diesem Ereignis starten?
  1. Ein Kopfblock „Wenn die grüne Flagge angeklickt wird“.
  2. Ein Kopfblock „Wenn diese Figur angeklickt wird“.
  3. Ein Abschlussblock „stoppe alles“ am unteren Ende.
  4. Ein abgerundeter Werteblock am oberen Ende.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 2 von 10

Welche Art von Scratch-Block liefert TRUE oder FALSE an das Bedingungsfeld eines Falls-Blocks?
  1. Ein abgerundeter Textwerteblock.
  2. Ein Stapelblock für einen Befehl.
  3. Ein sechseckiger Wahrheitsblock.
  4. Ein startender Ereignis-Kopfblock.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 3 von 10

In Scratch wird score vor „wiederhole 6 mal“ auf 0 gesetzt. Innerhalb des Wiederholungsrumpfs folgt auf „setze score auf 0“ der Block „ändere score um 2“. Welcher Punktestand bleibt?
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 4 von 10

In Scratch ist done bereits TRUE, bevor ein Block „wiederhole bis “ erreicht wird. Wie oft wird sein Rumpf ausgeführt?
  1. Einmal.
  2. Zweimal.
  3. Er wiederholt sich, bis er gestoppt wird.
  4. Keinmal.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 5 von 10

Ein Scratch-Skript fragt nach einer Stadt und wertet dann „verbinde [Stadt: ] (Antwort)“ aus. Welche zusätzliche Aktion zeigt den entstehenden Text in der Sprechblase der Figur an?
  1. Einen Block zum Setzen einer Variablen nach „verbinde“ setzen.
  2. Den „verbinde“-Block in einen „sage“-Block setzen.
  3. Den „verbinde“-Block in einen weiteren „verbinde“-Block setzen.
  4. Einen Vergleichsblock um den „verbinde“-Block setzen.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 6 von 10

Was ist der Eingabeparameter in einem eigenen Block namens „Weg zeichnen (length)“?
  1. Der benannte Wert Länge.
  2. Der Stapel, der ihn aufruft.
  3. Das Ereignis der grünen Flagge.
  4. Das Kostüm der Figur.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 7 von 10

Eine Steuerung sendet „Vorbereiten“. Ein Empfangsskript bewegt eine Figur zwei Sekunden lang zu ihrer Startposition. Die Steuerung darf erst „Bereit“ verkünden, nachdem das Empfangsskript beendet ist. Welche Änderung stellt die erforderliche Reihenfolge her?
  1. Das Empfangsskript im Arbeitsbereich unter die Steuerung setzen.
  2. Vor „Bereit“ den Block „sende Vorbereiten an alle und warte“ nutzen.
  3. „Vorbereiten“ unmittelbar nach „Bereit“ an alle senden.
  4. Vor „Bereit“ zwei gewöhnliche Nachrichten senden.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 8 von 10

Zwei Skripte für die grüne Flagge setzen dieselbe Variable jeweils auf unterschiedliche Werte und enden dann. Ein drittes Skript liest sie ohne Koordination aus. Warum ist es unsicher, sich auf einen bestimmten Endwert zu verlassen?
  1. Die Variable behält beide zugewiesenen Zahlen als Liste mit zwei Elementen.
  2. Das untere Skript im Arbeitsbereich muss seinen Wert immer zuletzt zuweisen.
  3. Die Skripte laufen nebenläufig, sodass der Schreibzeitpunkt den gelesenen Wert ändern kann.
  4. Die Zuweisung mit der größeren Zahl muss immer die kleinere ersetzen.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 9 von 10

Ein Ratespiel fragt einmal und wiederholt dann bis Antwort = Geheimzahl. Innerhalb der Schleife gibt die Figur Rückmeldung, ob der Tipp zu hoch oder zu niedrig ist, fragt aber nie erneut. Der erste Tipp ist falsch. Was verhindert das Ende der Schleife?
  1. Die Schleife prüft ihre Abbruchbedingung vor dem ersten Rumpfdurchlauf.
  2. Die Rückmeldung wählt zwischen einer Meldung für zu hoch und zu niedrig.
  3. Die Geheimzahl wurde vor der Anzeige der ersten Frage gewählt.
  4. Keine Anweisung holt eine neue Antwort für die nächste Bedingungsprüfung.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 10 von 10

Ein eigener Block zeichnet ein regelmäßiges Vieleck mit Eingaben für Seitenzahl und Seitenlänge. Was verleiht ihm Verallgemeinerung?
  1. Sein Name lässt die aufrufende Stelle die internen Zeichenschritte ausblenden.
  2. Sein Kopfblock startet beim Ereignis der grünen Flagge.
  3. Seine veränderlichen Eingaben lassen ein Verfahren verschiedene Fälle behandeln.
  4. Seine Kategorie macht alle Blockkombinationen logisch korrekt.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Set 5: Wende die Ideen in neuen Situationen an10 Übungsfragen

Speichere diese Einheit, um jede Antwort zu sehen und jedes Set zu üben.

Frage 1 von 10

Ein Museumsmodell speichert die Anzahl der Besuchenden je Raum. Eine neue Aufgabe soll rollstuhlgerechte Wege planen. Was ist der Hauptgrund, warum das Modell mehr Informationen benötigt?
  1. Jedes Modell muss jedes physische Merkmal eines Gebäudes enthalten.
  2. Der neue Zweck benötigt Angaben zur Zugänglichkeit, die das Zählmodell ausließ.
  3. Das Modell benötigt mehr Stichproben von Besuchenden, bevor Routenplanung funktioniert.
  4. Das Modell kann die neue Aufgabe erfüllen, wenn Anzahlen genauer gespeichert werden.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 2 von 10

Ein Verfahren halbiert wiederholt eine sortierte Auswahl von 64 möglichen Seiten. Die Auswahl wächst dann auf 256 Seiten. Wie ändert sich die Anzahl der Halbierungen, die nötig sind, um sie auf eine Seite zu reduzieren?
  1. Sie steigt von 6 auf 24.
  2. Sie steigt von 8 auf 10.
  3. Sie steigt von 6 auf 8.
  4. Sie steigt von 32 auf 128.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 3 von 10

Ein System akzeptiert eine Probe nur, wenn ihre Masse von 2 bis einschließlich 5 kg reicht und ihr Etikett lesbar ist. Die aktuelle Prüfung lautet (mass ≥ 2 AND mass ≤ 5) OR readable. Welche fehlerhafte Annahme kann auftreten?
  1. Eine Probe von 6 kg wird bei lesbarem Etikett akzeptiert.
  2. Eine Probe von 3 kg wird bei lesbarem Etikett abgelehnt.
  3. Eine Probe von 2 kg wird bei lesbarem Etikett abgelehnt.
  4. Eine Probe von 5 kg wird bei lesbarem Etikett abgelehnt.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 4 von 10

Ein Programm versucht bei der Verarbeitung von Daten, durch null zu dividieren, und stoppt mit einem Fehler. Welche Fehlerart ist aufgetreten?
  1. Ein Syntaxfehler.
  2. Eine rein logische Fehleinordnung.
  3. Eine Überschneidung bei der Problemzerlegung.
  4. Ein Laufzeitfehler.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 5 von 10

Was wird ausgegeben?

total ← 0
count ← 0
FOR EACH n IN [−3, 4, 0, 8, −1]
    IF n > 0 THEN
        total ← total + n
        count ← count + 1
    END IF
END FOR
OUTPUT total / count
  1. 2,4.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 6 von 10

Eine Steuerung nutzt „sende an alle und warte“, um die Einrichtung vor Spielbeginn abzuschließen. Eines der Empfangsskripte für die Einrichtung enthält eine „wiederhole fortlaufend“-Schleife. Es erfolgt keine Aktion zum Stoppen. Was geschieht mit dem nächsten Block der Steuerung?
  1. Er wird ausgeführt, sobald das Empfangsskript seinen ersten Durchlauf beginnt.
  2. Er wartet weiter, weil dieses Empfangsskript nie endet.
  3. Er wird nach genau einem Durchlauf der Empfangsschleife ausgeführt.
  4. Er wird ausgeführt, wenn alle Empfangsskripte gemeinsam gestartet sind.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 7 von 10

Ein Team entwirft eine Einlassregistrierung, die die Anwesenheitszahl um eins erhöht, ein Begrüßungsmodul, das sie für dieselbe Ankunft ebenfalls um eins erhöht, und ein Anzeigemodul. Welche Zuständigkeit sollte sich ändern, um eine falsche Summe zu vermeiden?
  1. Nur ein Modul sollte die Anwesenheitszahl pro Ankunft erhöhen.
  2. Beide Module sollten vor der Erhöhung auf die Anzeige warten.
  3. Das Anzeigemodul sollte die Anzahl vor beiden Erhöhungen zurücksetzen.
  4. Die beiden Erhöhungen sollten nach der Begrüßung gemeinsam ablaufen.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 8 von 10

Ein Algorithmus beginnt mit n ← 0, wiederholt dann n ← n + 2 bis n ≥ 5 und gibt n aus. Ein Programmablaufplan wird mit derselben Bedingung vor dem Rumpf gezeichnet: Ja führt zur Ausgabe, Nein führt in den Rumpf und zurück. Für diese Eingabe geben beide 6 aus. Welche Änderung zeigt ihr unterschiedliches Schleifenverhalten?
  1. n mit 2 initialisieren: Die fußgesteuerte Version gibt 6 aus, die kopfgesteuerte 6.
  2. n mit 4 initialisieren: Die fußgesteuerte Version gibt 6 aus, die kopfgesteuerte 6.
  3. n mit 6 initialisieren: Die fußgesteuerte Version gibt 8 aus, die kopfgesteuerte 6.
  4. n mit −2 initialisieren: Die fußgesteuerte Version gibt 6 aus, die kopfgesteuerte 6.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 9 von 10

Welches Paar wird ausgegeben?

a ← 9
b ← 14
temp ← a
a ← b + 1
b ← temp
OUTPUT a, b
  1. 14, 9.
  2. 15, 9.
  3. 15, 15.
  4. 9, 14.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 10 von 10

Ein Team fragt, ob ein genau beschriebenes Problem überhaupt eine algorithmische Lösung hat, bevor jemand ein Programm schreibt. Welchen Teil der Informatik veranschaulicht das?
  1. Die Grenzen der Berechenbarkeit untersuchen.
  2. Hardware für eine Organisation auswählen.
  3. Aus einer Datenstichprobe Schlussfolgerungen ziehen.
  4. Die Syntax einer ausführbaren Sprache schreiben.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Hängst du bei deiner eigenen Aufgabe fest? Hausaufgabenhilfe

Schlüsselbegriffe

90 Schlüsselbegriffe, jeweils mit Definition

A

Abhängigkeit
Eine Abhängigkeit ist eine Beziehung, bei der eine Aufgabe das Ergebnis einer anderen Aufgabe benötigt. Das schränkt ein, wann die abhängige Aufgabe fortfahren kann.
In einem Quiz muss die Punktevergabe die geprüfte Antwort erhalten, bevor sie entscheiden kann, ob ein Punkt hinzugefügt wird.
Ablauflinie
Eine Ablauflinie ist eine Verbindung mit Pfeil zwischen Symbolen eines Programmablaufplans, die festlegt, welcher Schritt auf einen anderen folgt, einschließlich einer Rückkehr zu wiederholten Schritten.
Eine rückwärts führende Ablauflinie kann von der Aktualisierung im Rumpf zu der Entscheidung zurückführen, die einen weiteren Durchlauf steuert.
Ablauftabelle
Eine Ablauftabelle hält Variablenwerte, Ergebnisse von Bedingungen und Ausgaben fest, während die Anweisungen eines Algorithmus in einem bestimmten Durchlauf nachvollzogen werden.
Der Nachvollzug einer laufenden Summe zeigt die Summe nach jeder Addition und macht ein unerwartetes Zurücksetzen sichtbar.
Abstraktion
Abstraktion behält die für einen bestimmten Zweck nötigen Details und verbirgt andere, sodass sich ein Problem oder eine Komponente leichter nutzen lässt.
Ein U-Bahn-Plan kann Verbindungen zeigen und dabei den Straßenverlauf zwischen den Stationen weglassen.
Abstraktionsschicht
Eine Abstraktionsschicht ist eine Ebene eines Systems, die ein festgelegtes Verhalten bereitstellt und dabei die Details der Arbeit auf niedrigeren Ebenen verbirgt.
Eine Chat-App nutzt Dienste des Betriebssystems, ohne dass ihre Nutzenden die Hardware direkt steuern müssen.
Akkumulatorvariable
Eine Akkumulatorvariable baut über Schleifendurchläufe hinweg ein laufendes Ergebnis auf, indem sie jeden neuen Beitrag in den gespeicherten Wert einbezieht.
Eine laufende Summe addiert die nächste Temperatur zu dem bereits aus früheren Tagen angesammelten Wert.
Algorithmus
Ein Algorithmus ist eine endliche, geordnete Folge genauer Anweisungen, die für jede Eingabe aus ihrem zulässigen Bereich die geforderte Ausgabe erzeugt.
Ein korrektes Verfahren zur Suche des größten Werts muss genügend Teile der Liste prüfen, um auch ein Maximum in der Mitte zu finden.
Ausgabe
Eine Ausgabe ist ein von einer Berechnung ausgegebenes Ergebnis, etwa angezeigter Text, ein berechneter Wert oder Daten, die an einen anderen Ablauf übergeben werden.
Die nach der Verarbeitung einer Sammlung von Messwerten angezeigte mittlere Masse ist die Ausgabe der Berechnung.

B

Bedingung
Eine Bedingung ist ein Ausdruck, der als TRUE oder FALSE ausgewertet wird und damit die Entscheidung für eine Verzweigung oder eine bedingungsgesteuerte Schleife liefert.
Die Bedingung remaining > 0 entscheidet, ob die Schleife ein weiteres Element verarbeiten soll.
Bedingungsgesteuerte Schleife
Eine bedingungsgesteuerte Schleife entscheidet anhand einer Prüfung mit Wahrheitswert über die Wiederholung, sodass die Anzahl der Durchläufe von veränderlichen Daten oder neuen Eingaben abhängen kann.
Ein Ratespiel kann weiterfragen, bis die Antwort dem zu Beginn gewählten geheimen Wert entspricht.
Berechnung
Eine Berechnung ist ein Ablauf, der Anweisungen auf eingegebene Informationen anwendet, um ein Ergebnis zu erzeugen, das anschließend von einem anderen Ablauf verwendet werden kann.
Eine Routenberechnung erhält Orte und Kartendaten und erzeugt eine Route mit Entfernung und Fahrzeit.
Blockbasierte Programmierung
Blockbasierte Programmierung erstellt ein Programm aus grafischen Anweisungs- und Werteblöcken, deren Formen zeigen, wie sie kombiniert werden können.
Eine Anfängerin oder ein Anfänger kann eine Schleife zusammensetzen, ohne die in einer textbasierten Sprache nötigen Satzzeichen zu tippen.
Bühne
Die Bühne ist der sichtbare Projektbereich von Scratch. Sie misst 480 mal 360 Einheiten und ihre waagerechten und senkrechten Koordinaten haben ihren Ursprung bei (0|0).
Eine Figur, die zu x: 0 und y: 0 geschickt wird, bewegt sich in die Mitte, bevor sie den nächsten Block ausführt.

D

Data Science
Data Science nutzt Statistik und Informatik, um Schlussfolgerungen aus Daten zu ziehen, und verbindet quantitatives Denken mit Verfahren zur Informationsverarbeitung.
Eine Fachkraft für Data Science kann aufgezeichnete Messwerte untersuchen, um Trends zu erkennen und mögliche Erklärungen zu beurteilen.
Datentyp
Ein Datentyp bezeichnet die Art des dargestellten Werts und bestimmt mit, welche Operationen für diesen Wert sinnvoll sind.
Die Addition von Zahlen berechnet eine numerische Summe, während das Verketten zweier Zeichenketten deren Texte zusammenfügt.
DIV
DIV ist ein Operator für die ganzzahlige Division, der den ganzzahligen Quotienten liefert und vollständige Gruppen der Größe des Divisors in einem nicht negativen Dividenden zählt.
Bei 135 Minuten bestimmt 135 DIV 60 zwei vollständige Stunden, bevor die übrigen Minuten behandelt werden.

E

Eigener Block
Ein eigener Block ist eine benannte Scratch-Prozedur, deren Definition wiederverwendbare Befehle enthält und Eingabeparameter für veränderliche Werte enthalten kann.
Ein Quadratblock kann Seiten unterschiedlicher Länge zeichnen, wenn jeder Aufruf eine neue Größe übergibt.
Ein-/Ausgabesymbol
Ein Ein-/Ausgabesymbol ist ein Parallelogramm im Programmablaufplan, das einen Schritt zum Empfangen von Daten oder zum Senden eines Ergebnisses an eine nutzende Person oder ein anderes Ziel darstellt.
Sowohl das Einlesen einer Raumlänge als auch das Anzeigen einer Fläche nutzen Datensymbole, während die Berechnung ein Rechteck nutzt.
Eingabe
Eine Eingabe sind Daten, die einer Berechnung vor oder während ihrer Ausführung zugeführt werden und Informationen liefern, die ihre Anweisungen nutzen können.
Eine von einer Nutzerin oder einem Nutzer eingegebene Temperatur ist die Eingabe für ein Programm, das entscheidet, welche Meldung angezeigt wird.
ELSE-IF-Kette
Eine ELSE-IF-Kette prüft Bedingungen der Reihe nach und führt nur den ersten zutreffenden Zweig aus; ein abschließendes ELSE für nicht zutreffende Fälle ist optional.
Überlappende Schwellenwerte der Form „mindestens“ benötigen eine sorgfältige Reihenfolge, damit ein früher Zweig nicht jeden Fall abfängt.
Endlosschleife
Eine Endlosschleife ist eine Wiederholung, die nie endet, weil der Ablauf niemals einen Zustand oder eine Aktion erreicht, die die wiederholte Arbeit beendet.
Ein Countdown mit positivem Anfangswert wiederholt sich endlos, wenn sein Rumpf den von der Schleife geprüften Wert nie verringert.
Ereignis
Ein Ereignis ist ein Vorkommnis, etwa ein Tastendruck oder der Empfang einer Nachricht, das in einem Programm Skripte auslösen kann, die für eine Reaktion darauf eingerichtet sind.
Ein Klick auf die grüne Flagge startet die Scratch-Skripte mit passenden Kopfblöcken für die grüne Flagge.
Ereignisbehandlungsroutine
Eine Ereignisbehandlungsroutine ist ein Skript oder Codeteil, der beim Eintreten eines bestimmten Ereignisses startet und die diesem Ereignis zugewiesene Reaktion ausführt.
Ein Skript „Wenn ich [Spiel vorbei] empfange“ kann Bewegungen stoppen, wenn das Projekt diese Nachricht sendet.
Erfolgskriterium
Ein Erfolgskriterium ist ein konkreter Maßstab, mit dem sich beurteilen lässt, ob eine Lösung das angestrebte Ergebnis erreicht und den Anforderungen des Problems genügt.
Eine Einkaufsliste erfüllt ihren Zweck, wenn sie genügend von jeder Zutat für die ausgewählten Gerichte bereitstellt.

F

Fehlersuche und Fehlerbehebung
Fehlersuche und Fehlerbehebung bedeutet, die Ursache eines Programmfehlers zu finden und zu beheben, indem man ihn reproduziert, die Ausführung untersucht und die Wirkung einer Korrektur prüft.
Der erste unerwartete Wert beim Nachvollziehen kann auf eine Aktualisierung hinweisen, die das angesammelte Ergebnis gelöscht hat.
Figur
Eine Figur ist ein Charakter oder Objekt in einem Scratch-Projekt mit eigenen Skripten, Kostümen und Klängen, das auf Ereignisse reagieren und Aktionen ausführen kann.
Zwei Figuren können auf dieselbe Nachricht reagieren und dabei unterschiedliche Aufgaben im Projekt ausführen.
Fußgesteuerte Schleife
Eine fußgesteuerte Schleife wertet ihre steuernde Bedingung nach dem wiederholten Rumpf aus, sodass der Rumpf vor einer Abbruchentscheidung mindestens einmal ausgeführt wird.
Eine REPEAT-…-UNTIL-Anmeldung fragt nach einem Passwort, bevor sie entscheidet, ob ein weiterer Versuch nötig ist.

G

Ganze Zahl
Eine ganze Zahl kann negativ, null oder positiv sein und eignet sich damit für Anzahlen und andere Werte ohne Bruchteil.
Eine Schleifenzählvariable nimmt ganzzahlige Werte an, während der berechnete Mittelwert ihrer Eingabewerte einen Bruchteil haben kann.
Grenzstelle
Eine Grenzstelle ist ein als Oval oder abgerundetes Rechteck gezeichnetes Symbol im Programmablaufplan, das einen Start- oder Endpunkt der Ausführung kennzeichnet.
Ein Plan zur Berechnung einer Raumfläche beginnt bei Start und erreicht Ende, nachdem die berechnete Fläche angezeigt wurde.
Grenzwerttest
Ein Grenzwerttest prüft einen zulässigen Endpunkt oder Entscheidungsschwellenwert und nahe gelegene Werte, bei denen kleine Vergleichsfehler die Annahme verändern können.
Ein Test mit genau 50 deckt einen strengen Größer-als-Vergleich auf, wenn eine Bestehensregel diese Punktzahl einschließt.

I

Informatik
Informatik ist die Wissenschaft von Berechnung und Information sowie vom Entwurf von Systemen, die Probleme durch genaue Abläufe lösen.
Eine Informatikerin oder ein Informatiker kann untersuchen, ob ein Problem lösbar ist, bevor jemand ein ausführbares Programm schreibt.
Informationstechnologie
Informationstechnologie umfasst die Auswahl, Einrichtung, Wartung und den Betrieb von Computersystemen für eine Organisation.
Ein IT-Team kann die Computer und Konten einrichten, die eine Organisation für ihre tägliche Arbeit benötigt.
Informatisches Denken
Informatisches Denken ist eine Art, Probleme und Lösungen als Schritte zu formulieren, die ein Mensch, ein Computer oder beide gemeinsam ausführen können.
Die Planung gemeinsamer Zutaten für mehrere Mahlzeiten nutzt informatisches Denken, bevor Software ins Spiel kommt.
Iteration
Iteration ist das Wiederholen eines Anweisungsblocks anhand einer Anzahl oder Bedingung, sodass ein Verfahren wiederholte Arbeit ohne Verdopplung seiner Schritte behandeln kann.
Eine Schleife kann denselben Vergleich auf jeden Kandidaten anwenden und dabei den bisher besten Wert behalten.

K

Konstante
Eine Konstante ist ein benannter Wert, der während eines Algorithmus unverändert bleibt und eine feste Regel oder Größe in dessen Anweisungen ausdrücklich angibt.
Eine benannte Bestehensgrenze kann mit vielen Punktzahlen verglichen werden, ohne sich während der Berechnung zu ändern.
Kontrollstruktur
Eine Kontrollstruktur ist eine Art, die Ausführungsreihenfolge zu organisieren, etwa durch aufeinanderfolgende Schritte, bedingte Entscheidungen oder wiederholte Arbeitsblöcke.
Ein Algorithmus zur Listenverarbeitung kann eine Entscheidung in eine Schleife setzen und eine Variable innerhalb einer Sequenz aktualisieren.
Kopfblock
Ein Kopfblock startet ein Scratch-Skript. Seine Form sitzt über dem Befehlsstapel und bezeichnet das Ereignis, das seine angehängten Anweisungen auslöst.
Ein Kopfblock für die grüne Flagge lässt seinen Stapel auf die Flagge reagieren, während ein Kopfblock für einen Tastendruck auf diese Taste reagiert.
Kopfgesteuerte Schleife
Eine kopfgesteuerte Schleife wertet ihre steuernde Bedingung vor jeder Ausführung des Rumpfs aus, sodass der Rumpf kein einziges Mal ausgeführt werden kann, wenn die Eintrittsbedingung nicht erfüllt ist.
Ein WHILE-Plan kann von seiner ersten Entscheidung direkt zum Schritt nach der Schleife führen.
Korrektheit
Korrektheit ist die Eigenschaft, für jede zulässige Eingabe das geforderte Verhalten zu erzeugen und dabei die festgelegten Regeln des Problems einzuhalten.
Ein Verfahren, das das Maximum nur findet, wenn es an einem Listenende steht, ist nicht für alle Listen korrekt.

L

Laufzeitfehler
Ein Laufzeitfehler ist ein Fehler während der Ausführung eines Programms, der oft durch eine bestimmte Eingabe oder einen bestimmten Zustand bei einer Operation ausgelöst wird.
Bei der Mittelwertberechnung für eine leere Liste kommt es zur Division durch null, wenn ihre Anzahl ohne vorherige Prüfung verwendet wird.
Liste
Eine Liste ist eine geordnete Sammlung von Werten, die als eine Dateneinheit behandelt wird und deren Elemente ein Algorithmus besuchen, kombinieren oder vergleichen kann.
Eine FOR-EACH-Schleife kann die Temperaturmesswerte in einer Liste durchlaufen und ihre Summe aufbauen.
Logischer Fehler
Ein logischer Fehler ist ein Mangel in den Anweisungen, durch den ein laufendes Programm Verhalten oder Ergebnisse erzeugt, die von den geforderten Regeln abweichen.
Ein strenger Vergleich bei einer Bestehensgrenze, die den Grenzwert einschließt, lehnt die Punktzahl am Schwellenwert fälschlich ab.
Logischer Operator
Ein logischer Operator verknüpft Bedingungen mit Wahrheitswerten oder kehrt sie um: AND verlangt beide, OR mindestens eine und NOT kehrt einen Wert um.
Eine Prüfung auf ein zulässiges Intervall verknüpft die untere und obere Schranke mit AND, sodass beide eingehalten werden müssen.

M

MOD
MOD ist ein Ganzzahloperator, der den Rest nach einer ganzzahligen Division liefert; bei nicht negativen Eingaben ist dies, was nach vollständigen Gruppen übrig bleibt.
Der Wert 135 MOD 60 liefert die 15 Minuten, die nach dem Abzug von zwei vollständigen Stunden übrig bleiben.
Modell
Ein Modell ist eine vereinfachte Darstellung von etwas, die genügend relevante Informationen erhält, um Fragen für einen bestimmten Zweck zu beantworten.
Ein Parkhausmodell erfasst die Identität und Ankunftszeit eines Autos, ohne die Funktionsweise seines Motors zu simulieren.
Mustererkennung
Mustererkennung ist das Erkennen von Ähnlichkeiten, Wiederholungen oder Trends in Daten oder Aufgaben, die auf eine gemeinsame Struktur oder ein wiederverwendbares Verfahren hinweisen.
Wiederholte Bewegungs- und Drehpaare deuten auf eine Schleife hin, wenn ein Stift den Seiten eines regelmäßigen Vielecks folgt.

N

Nachricht
Eine Nachricht wird in Scratch an alle Figuren und die Bühne gesendet und startet alle Skripte, deren Empfangs-Kopfblöcke zu dieser Nachricht passen.
Eine Steuerung kann „Vorbereiten“ senden, sodass mehrere Figuren sich über ihre eigenen Empfangsskripte in Position bewegen.
Nebenbedingung
Eine Nebenbedingung ist eine Regel oder Einschränkung, die eine Lösung einhalten muss und die bestimmt, welche möglichen Ergebnisse oder Verfahren akzeptabel sind.
Ein Speiseplan muss sowohl die verfügbare Kochzeit als auch die Ernährungsbedürfnisse jeder Person berücksichtigen.
Nebenläufigkeit
Nebenläufigkeit ist die Ausführung mehrerer Skripte über sich überschneidende Zeiträume, sodass ihre Aktionen ohne Koordination vom zeitlichen Ablauf abhängen können.
Zwei Skripte, die unterschiedliche Werte in eine Variable schreiben, benötigen einen Plan, bevor ein anderes Skript sich auf deren Wert verlässt.

O

Off-by-one-Fehler
Ein Off-by-one-Fehler ist ein Grenzfehler, durch den eine Zählung oder ein wiederholter Ablauf ein Element zu viel oder zu wenig einschließt.
Ein Countdown mit n ≥ 0 gibt neben den positiven Werten auch null aus, wenn sein Rumpf n ausgibt.

P

Parameter
Ein Parameter ist eine benannte Eingabe in der Definition einer Prozedur, die deren Anweisungen mit Werten aus verschiedenen Aufrufen arbeiten lässt.
Der Parameter für die Größe lässt eine Zeichenprozedur bei einem Aufruf 60 Schritte und bei einem anderen 100 Schritte verwenden.
Problemlösezyklus
Ein Problemlösezyklus ist ein Prozess, bei dem ein Problem verstanden, eine Lösung geplant, ausgeführt und überprüft und bei Bedarf überarbeitet wird.
Ein fehlgeschlagener Test kann dazu führen, dass eine entwerfende Person den ursprünglichen Plan ändert oder eine fehlende Eingabe ergänzt.
Problemzerlegung
Problemzerlegung ist das Aufteilen einer komplexen Aufgabe in kleinere Teilprobleme, die verstanden, gelöst und überprüft werden können, bevor sie zusammengefügt werden.
Bei einem Quiz kann das Stellen einer Frage vom Prüfen der Antwort und vom Aktualisieren des Punktestands getrennt werden.
Programm
Ein Programm ist eine Folge von Anweisungen in einer Programmiersprache, sodass ein Computer das festgelegte Verhalten ausführen kann.
Ein Programmablaufplan und ein ausführbares Programm können dasselbe Verfahren in unterschiedlichen Darstellungen ausdrücken.
Programmablaufplan
Ein Programmablaufplan ist ein Diagramm, das Algorithmusschritte durch Symbole darstellt und die Ausführungsreihenfolge durch gerichtete verbindende Ablauflinien zeigt.
Wenn du einem einzelnen Satz von Eingabewerten durch die Pfeile folgst, erkennst du den Weg dieses Durchlaufs.
Programmierung
Programmierung ist das Schreiben von Anweisungen in einer Sprache, die ein Computer ausführen kann, wodurch ein geplantes Verfahren in ausführbares Verhalten überführt wird.
Eine entwickelnde Person kann dasselbe Berechnungsverfahren in mehreren verschiedenen Programmiersprachen umsetzen.
Prozedur
Eine Prozedur ist eine benannte Gruppe von Anweisungen, die zur Erfüllung einer Aufgabe aufgerufen werden kann, manchmal mit übergebenen Eingaben oder einem zurückgegebenen Ergebnis.
Eine aufrufende Stelle kann eine Prozedur zur Mittelwertberechnung nutzen, ohne deren Additions- und Divisionsschritte jedes Mal neu zu schreiben.
Pseudocode
Pseudocode ist eine strukturierte, lesbare Beschreibung eines Algorithmus, die seine Logik ausdrückt, ohne der Syntax einer bestimmten Programmiersprache zu folgen.
Schlüsselwörter in Großbuchstaben und eingerückte Blöcke machen die beabsichtigte Schleifenstruktur vor der Umsetzung sichtbar.

R

Reellwertige Daten
Reellwertige Daten stellen numerische Größen dar, die Bruchteile haben können und in einem Programm häufig mit einem Gleitkommadatentyp gespeichert werden.
Eine gemessene Raumlänge von 4,5 Metern benötigt einen numerischen Typ, der ihren Bruchteil darstellen kann.
Rückgabewert
Ein Rückgabewert ist ein Ergebnis, das eine Prozedur an ihre aufrufende Stelle zurücksendet, wo es gespeichert, mit anderen Daten kombiniert oder weitergegeben werden kann.
Eine Prozedur zur Mittelwertberechnung kann 20 zurückgeben, damit die aufrufende Stelle den Wert mit einer anderen Messung vergleichen kann.

S

Schreibtischtest
Ein Schreibtischtest ist das manuelle Nachvollziehen eines Algorithmus mit ausgewählten Eingabewerten, wobei seine tatsächlichen Operationen festgehalten werden, ohne ein Computerprogramm auszuführen.
Eine lernende Person nutzt eine Ablauftabelle, um den ersten und letzten Durchlauf einer Schleife sowie ihre Abbruchprüfung von Hand zu prüfen.
Schrittweise Verfeinerung
Schrittweise Verfeinerung ist das Zerlegen eines ganzen Problems in Hauptteile und das anschließende Verfeinern dieser Teile zu kleineren, direkter lösbaren Aufgaben.
Eine entwerfende Person bestimmt die Aufgabenbereiche eines Quiz, bevor sie die einzelnen Aktionen auf jedem Bildschirm festlegt.
Sequenz
Eine Sequenz ist die Kontrollstruktur, bei der Anweisungen nacheinander ausgeführt werden und jede spätere Anweisung den zuvor hinterlassenen Zustand nutzt.
Das Einlesen eines Messwerts vor der Berechnung seines Ergebnisses ist eine Sequenz mit einer notwendigen Abhängigkeit.
Skript
Ein Skript ist ein verbundener Stapel von Scratch-Blöcken, der ein geordnetes Verhalten beschreibt und häufig durch einen Ereignis-Kopfblock gestartet wird, wenn dessen Ereignis eintritt.
Ein Skript für die grüne Flagge kann eine Variable zurücksetzen, eine Frage stellen und dann eine Rückmeldung auswählen.
Strukturbaum
Ein Strukturbaum zeigt, wie eine gesamte Aufgabe auf aufeinanderfolgenden Detailebenen in kleinere Aufgabenbereiche zerlegt wird.
Zweige unter „Eine Frage stellen“ können das Anzeigen des Textes, das Anzeigen der Auswahlmöglichkeiten und das Einlesen der Eingabe zeigen.
Syntaxfehler
Ein Syntaxfehler ist ein Verstoß gegen die Schreibregeln einer Programmiersprache, der verhindert, dass die betroffenen Anweisungen korrekt interpretiert werden.
Eine fehlende schließende Klammer kann verhindern, dass textbasierter Code ausgeführt wird, bevor seine Logik getestet wird.

T

Technische Informatik
Technische Informatik umfasst den Entwurf und die Entwicklung physischer Computerhardware, etwa Prozessoren, Platinen und zugehöriger Geräte.
Der Entwurf einer Prozessorschaltung betont die Technische Informatik, während die Untersuchung lösbarer Probleme die Theorie betont.
Teilproblem
Ein Teilproblem ist eine kleinere Aufgabe innerhalb eines größeren Problems, deren Zuständigkeit zur Lösung des gesamten Problems beiträgt.
Das Anzeigen von Antwortmöglichkeiten ist ein Teilproblem innerhalb der größeren Aufgabe, eine Quizfrage zu stellen.
Trend
Ein Trend ist eine wiederkehrende Richtung oder Beziehung, die in Daten beobachtet wird und Vorhersagen unterstützen kann, solange das Muster relevant bleibt.
Ein Geschäft vergleicht Regenschirmverkäufe mit Regenvorhersagen, bevor es dieses Muster für die Vorratsplanung nutzt.

U

Unterprogramm
Ein Unterprogramm ist ein Schritt im Programmablaufplan, der eine gesondert beschriebene Prozedur aufruft und als Rechteck mit doppelten senkrechten Linien an den Seiten gezeichnet wird.
Ein Hauptplan kann eine Prüfprozedur aufrufen, ohne jeden internen Vergleich auf derselben Seite zu zeichnen.

V

Variable
Eine Variable ist ein benannter Speicherplatz, dessen aktueller Wert während der Ausführung eines Algorithmus oder Programms gelesen und ersetzt werden kann.
Eine Zählvariable ändert sich von 4 auf 5, nachdem eine Anweisung eins zu ihrem aktuellen Wert addiert hat.
Verallgemeinerung
Verallgemeinerung macht aus einer konkreten Lösung ein Verfahren für eine Familie von Fällen, indem bestimmt wird, was gleich bleibt und was sich ändern kann.
Ein einziges Zeichenverfahren für Vielecke kann verschiedene Seitenzahlen annehmen, statt für jede Form ein eigenes Skript zu benötigen.
Verarbeitungssymbol
Ein Verarbeitungssymbol ist ein Rechteck im Programmablaufplan, das eine Aktion oder Berechnung darstellt, die aktuelle Daten des Programms verändert oder verarbeitet.
Das Rechteck area ← length * width berechnet einen Wert, nachdem die beiden Maße eingelesen wurden.
Verbindungsstelle
Eine Verbindungsstelle ist ein beschriftetes Symbol im Programmablaufplan, das getrennte Teile des Ausführungsablaufs verbindet und hilft, einer Fortsetzung im Diagramm zu folgen.
Übereinstimmende Beschriftungen von Verbindungsstellen können eine lange kreuzende Linie ersetzen, die einen großen Plan unübersichtlich machen würde.
Verschachtelung
Verschachtelung bedeutet, eine Kontrollstruktur in den Rumpf einer anderen Struktur zu setzen, sodass das Erreichen der inneren Struktur vom umgebenden Ablauf abhängt.
Eine innere Passwortprüfung kann erst ausgeführt werden, nachdem die äußere Längenprüfung den Ablauf in ihren Zweig geführt hat.
Verzweigung
Eine Verzweigung ist die Kontrollstruktur, die eine Bedingung prüft und anhand des aktuellen Zustands auswählt, welcher Zweig von Anweisungen ausgeführt wird.
Eine Bestehensprüfung wählt eine Meldung, wenn die Punktzahl ausreicht, und eine andere, wenn sie nicht ausreicht.
Verzweigungssymbol
Ein Verzweigungssymbol ist eine Raute im Programmablaufplan, die eine Bedingung oder einen Wert prüft und genau einen ihrer beschrifteten abgehenden Wege auswählt.
Die Raute score ≥ 50? leitet eine zum Bestehen ausreichende Punktzahl über Ja und eine niedrigere über Nein weiter.

W

Wahrheitsblock
Ein Wahrheitsblock ist ein sechseckiger Scratch-Werteblock, der TRUE oder FALSE für das Bedingungsfeld einer Entscheidung oder Schleife liefert.
Ein Vergleich aus der Kategorie Fühlen kann einem Falls-Block mitteilen, ob seine Figur den Mauszeiger berührt.
Wahrheitswert
Ein Wahrheitswert ist ein Datenwert mit einem von zwei möglichen Zuständen, TRUE oder FALSE, der häufig durch einen Vergleich oder eine logische Operation erzeugt wird.
Der Vergleich score ≥ 50 liefert einen Wahrheitswert, der entscheidet, welcher Zweig des Algorithmus ausgeführt wird.
Werteblock
Ein Werteblock ist ein abgerundeter Scratch-Block, der einen Wert wie Text oder eine Zahl für ein Eingabefeld in einem anderen Block liefert.
Der Werteblock für den Punktestand liefert die aktuelle Zahl an einen Vergleich, der prüft, ob das Ziel erreicht wurde.

Z

Zählergesteuerte Schleife
Eine zählergesteuerte Schleife wiederholt ihren Rumpf eine bekannte Anzahl von Malen, häufig mithilfe einer Zählvariable, deren Werte einen festgelegten Bereich einschließlich der Endpunkte abdecken.
Eine FOR-Schleife von 1 bis einschließlich 5 läuft fünfmal, während ein Start bei 0 einen weiteren Durchlauf hinzufügt.
Zählvariable
Eine Zählvariable hält fest, wie oft ein Ereignis auftritt oder wie viele Elemente während der Ausführung verarbeitet wurden.
Die Anzahl steigt pro Messwert einmal, sodass die abschließende Summe durch die Anzahl der Messwerte dividiert werden kann.
Zeichenkette
Eine Zeichenkette ist eine Folge von Textzeichen, mit der ein Programm Namen, Nachrichten oder wie Zahlen aussehenden Text als Textdaten speichern kann.
Das Verketten der Zeichenketten „12“ und „3“ ergibt „123“, was sich von der Berechnung ihrer numerischen Summe unterscheidet.
Zuweisung
Eine Zuweisung speichert einen neu ausgewerteten Wert in einer Variablen und ersetzt den zuvor unter diesem Namen gespeicherten Wert.
Bei count ← count + 1 wird der alte Wert von count gelesen, bevor der neue Wert wieder in count gespeichert wird.
Zweig
Ein Zweig ist ein möglicher Weg durch eine Entscheidung, der die Arbeit enthält, die bei Auswahl seiner beschrifteten Bedingung oder seines Falls ausgeführt wird.
In einem Anmelde-Programmablaufplan zeigt der Zweig für eine erfolgreiche Anmeldung „Welcome“ an und führt vor Ende wieder mit dem Ablauf zusammen.

#

„Antwort“-Block
Der „Antwort“-Block ist ein Scratch-Werteblock, der die zuletzt über einen „frage … und warte“-Block eingegebene Antwort zur weiteren Verarbeitung bereitstellt.
Nach der Frage nach einem Namen kann ein Skript „Antwort“ in „verbinde“ setzen, um eine persönliche Begrüßung zu erstellen.
„verbinde“-Block
Der „verbinde“-Block ist ein Scratch-Werteblock, der aus zwei übergebenen Textteilen einen Textwert erstellt, ohne ihn selbst anzuzeigen.
Ein „sage“-Block kann die Begrüßung anzeigen, die durch das Verbinden von „Hallo, “ mit dem „Antwort“-Block erstellt wurde.
„wiederhole … mal“-Block
Ein „wiederhole … mal“-Block ist ein Scratch-Steuerungsblock, der seine eingeschlossenen Befehle eine festgelegte Anzahl von Malen ausführt, bevor er mit dem nächsten Block fortfährt.
Die viermalige Wiederholung eines Bewegungs- und Drehpaars kann bei abgesenktem Stift ein Quadrat zeichnen.
„wiederhole bis“-Block
Ein „wiederhole bis“-Block ist eine Scratch-Schleife, die vor jedem Durchlauf einen Wahrheitswert prüft und ihren Rumpf wiederholt, solange diese Abbruchbedingung FALSE ist.
Ist der erste Tipp richtig, überspringt ein Block, der bis zur richtigen Antwort wiederholt, seinen Rückmeldungsrumpf vollständig.
„wiederhole fortlaufend“-Block
Ein „wiederhole fortlaufend“-Block ist eine Scratch-Schleife, die ihren Rumpf weiter ausführt, bis das Skript oder Programm gestoppt wird, und so fortlaufendes Verhalten ermöglicht.
Ein Spiel kann eine fortlaufende Schleife nutzen, um ständig zu prüfen, ob eine Taste gedrückt wird.

Über diese Einheit

Von StudeliFehler melden

Erstelle deine eigenen Lernmaterialien

Mach aus deinen Notizen, Folien und Dokumenten Lernleitfäden, Übungsfragen, Karteikarten und 6 weitere Tools.

Jetzt starten