Informatik 6: Grundlegende Algorithmen entwerfen, formal darstellen, implementieren und testen
13.1 Lernziele
- einfache Problemstellungen in Teilaufgaben zerlegen.
- für eine Aufgabe einen grundlegenden Algorithmus entwerfen.
- Eingaben, Verarbeitung und Ausgaben in einem Ablauf benennen.
- lineare Abläufe, Bedingungen und Wiederholungen in Algorithmen erkennen und nutzen.
- Algorithmen in Alltagssprache, Schrittliste, Pseudocode oder Flussdiagramm formal darstellen.
- einfache Variablen und geeignete Datenstrukturen wie Listen oder Tabellen verwenden.
- einen entworfenen Algorithmus in einer blockbasierten oder textbasierten Umgebung implementieren.
- Programme schrittweise ausführen und deren Verhalten beobachten.
- Testfälle planen und erwartete Ergebnisse formulieren.
- Fehler in Ablauf, Logik oder Darstellung erkennen und verbessern.
- die Korrektheit und Verständlichkeit eines Algorithmus begründet einschätzen.
- eigene Lösungen mit anderen Lösungswegen vergleichen und überarbeiten.
13.2 Lerninhalte
Der Weg von der Idee zum funktionierenden Algorithmus wird besonders verständlich, wenn Entwurf, formale Beschreibung, Umsetzung und Überprüfung als zusammenhängender Prozess betrachtet werden, in dem jede Phase die nächste vorbereitet und verbessert.
Vom Problem zur algorithmischen Lösung
Ein informatiktauglicher Lösungsweg beginnt nicht mit dem Programmcode, sondern mit der genauen Klärung der Aufgabe, der benötigten Informationen und der Entscheidung, welche Schritte wirklich notwendig und in welcher Reihenfolge sinnvoll sind. Am Anfang steht die Frage, was genau erreicht werden soll. Aus „Ordne die Bücher“ wird zum Beispiel „Sortiere die Bücher alphabetisch nach Titel“. Aus „Zähle die Stimmen“ wird „Gehe alle Stimmen durch und erhöhe für jede Nennung den passenden Zähler“. Aus „Finde den Weg“ wird „Bewege dich vom Startfeld zum Zielfeld, ohne Hindernisse zu betreten“. Solche
Umformulierungen machen aus einer alltagssprachlichen Aufgabe eine bearbeitbare Problemstellung. Hilfreiche Leitfragen sind: Was ist das Ziel, welche Daten liegen vor, welche Regeln gelten, welches Ergebnis wird erwartet? Beispiele, Punkte vergleichen, Namen suchen, Tage zählen, Würfelaugen addieren, Klassenliste prüfen.
Algorithmen entwerfen
Ein guter Entwurf entsteht meist dann, wenn ein Problem zunächst vereinfacht, in Teilprobleme zerlegt und anschließend als geordnete Folge aus kleinen, eindeutigen Handlungsschritten aufgebaut wird, die später auch von anderen nachvollzogen werden können. Beim Entwerfen werden einzelne Schritte festgelegt. Ein Algorithmus zum Finden der größten Zahl kann so aussehen: Nimm die erste Zahl als größte, vergleiche jede weitere Zahl mit ihr, ersetze sie bei Bedarf, gib am Ende die größte Zahl aus. Ein Algorithmus zum Sortieren von Karten kann lauten: Vergleiche zwei benachbarte Karten, tausche sie bei Bedarf, wiederhole den Durchgang, bis alles geordnet ist. Ein Ampelalgorithmus kann mit wenn, dann, sonst arbeiten: Wenn die Ampel grün ist, gehe; sonst warte. Solche Entwürfe zeigen, dass Algorithmen nicht erraten, sondern systematisch aufgebaut werden.
Grundelemente von Algorithmen
Viele grundlegende Algorithmen lassen sich auf wenige zentrale Bausteine zurückführen, deren bewusstes Erkennen und Anwenden den Übergang von einfachen Schrittfolgen zu allgemeineren und flexibleren Problemlösungen deutlich erleichtert. Zu den wichtigsten Bausteinen gehören Sequenz, Auswahl, Wiederholung. Eine Sequenz ist eine feste Abfolge von Schritten, etwa „öffne die Datei, lies den Wert, speichere das Ergebnis“. Eine Auswahl trifft eine Entscheidung, etwa „wenn Zahl größer als 10, dann markiere sie“. Eine Wiederholung führt denselben Schritt mehrfach aus, etwa „wiederhole für jede Zahl in der Liste“. Dazu kommen oft Eingabe, Verarbeitung, Ausgabe. Beispiele, Passwort prüfen, Würfelsumme berechnen, geraden Zahlen folgen, Treffer zählen, Objekte sortieren. Diese Bausteine bilden das Grundgerüst fast aller einfachen Programme.
Formale Darstellungen von Algorithmen
Formale Darstellungen helfen dabei, Abläufe missverständnisarm festzuhalten, weil sie klare Schreibweisen, Symbole und Begriffe verwenden und dadurch dieselbe Lösung in überprüfbarer und leichter vergleichbarer Form sichtbar machen. Ein Algorithmus kann als Schrittliste, Pseudocode, Flussdiagramm, Blockfolge oder einfache Programmanweisung dargestellt werden. Beispiel als Schrittliste: 1. Lies die Zahl. 2. Prüfe, ob sie gerade ist. 3. Gib ja oder nein aus. Beispiel als Pseudocode: START EINGABE Zahl WENN Zahl mod 2 = 0 DANN AUSGABE „gerade“ SONST AUSGABE „ungerade“
ENDE
Im Flussdiagramm können Start, Entscheidung und Ausgabe als Symbole gezeigt werden. Für jüngere Lernende sind Pfeile, nummerierte Schritte und einfache Wenn-Dann-Strukturen oft besonders hilfreich. Wichtig ist, dass die Darstellung klarer wird als eine bloße Alltagserzählung.
Geeignete Datenstrukturen verwenden
Ein Algorithmus arbeitet nicht im leeren Raum, sondern mit geordneten Daten, weshalb einfache Datenstrukturen wie Listen, Tabellen oder Raster wesentlich dazu beitragen, Informationen übersichtlich zu erfassen und logisch weiterzuverarbeiten. Eine Liste eignet sich für geordnete Elemente wie Namen, Zahlen, Farben oder Punkte. Eine Tabelle eignet sich für Zuordnungen wie Name–Punkte, Tag–Temperatur, Produkt–Preis. Ein Raster eignet sich für Wege, Spielfelder oder Raumpläne. Beispiele: Eine Klassenliste wird durchsucht, eine Punktetabelle ausgewertet, ein Labyrinthfeld schrittweise durchlaufen. Für das Zählen von Stimmen kann eine Tabelle mit Spalten für Optionen und Zählerwerten sehr nützlich sein. Für ein Suchspiel im Klassenraum kann ein Raster hilfreicher sein als eine Liste. Lernende sollen erkennen, dass die Datenstruktur nicht beliebig ist, sondern den Lösungsweg stark beeinflusst.
Algorithmen implementieren
Die Umsetzung in einer blockbasierten oder textbasierten Umgebung macht sichtbar, ob ein Entwurf tatsächlich ausführbar ist, weil erst bei der Implementation kleine Lücken, unklare Bedingungen oder fehlende Zwischenschritte zuverlässig auffallen. Bei der Implementation wird der entworfene Algorithmus in eine Programmierumgebung übertragen, etwa in Scratch, Open Roberta, MakeCode, Python oder eine andere Lernumgebung. Ein Zählalgorithmus kann dort als Variable umgesetzt werden: setze Zähler auf 0, wiederhole für jeden Treffer, erhöhe Zähler um 1. Ein Suchalgorithmus kann mit einer Liste arbeiten: gehe jedes Element durch, prüfe auf Übereinstimmung, gib Fundstelle aus. Ein Bewegungsalgorithmus kann Figuren über den Bildschirm oder Roboter über ein Feld steuern. Wichtig ist, dass Lernende nicht nur Blöcke zusammensetzen, sondern verstehen, welcher Block welchen Schritt ihres Entwurfs umsetzt.
Testen mit geeigneten Testfällen
Zuverlässige Programme entstehen erst dann, wenn sie mit passenden Eingaben überprüft werden, denn ein scheinbar funktionierender Algorithmus kann unter anderen Bedingungen falsche Ergebnisse liefern oder an übersehenen Sonderfällen scheitern. Testen bedeutet, vorab zu überlegen, welche Eingaben ein Programm erhalten kann und welches Ergebnis jeweils erwartet wird. Für einen Algorithmus „größte Zahl finden“ können Testfälle sein: eine normale Liste, eine Liste mit nur einem Element, nur gleiche Zahlen, negative Zahlen, eine leere Liste. Für eine Gerade-Ungerade-Prüfung können Testfälle 2, 7, 0, -4
sein. Beim Testen werden Eingabe, erwartete Ausgabe, tatsächliche Ausgabe verglichen. So lernen Schülerinnen und Schüler, dass gute Tests nicht nur den Normalfall prüfen, sondern auch Randfälle und Fehlerquellen einbeziehen.
Fehler finden und verbessern
Fehleranalyse gehört wesentlich zum algorithmischen Arbeiten, weil unklare Bedingungen, falsche Reihenfolgen, ungeeignete Daten oder vergessene Sonderfälle oft erst durch systematisches Prüfen und schrittweises Verbessern erkannt werden. Typische Fehler sind vergessene Startwerte, falsche Bedingungen, unendliche Wiederholungen, unklare Vergleiche, fehlende Ausgaben. Ein Zähler wird vielleicht nie erhöht, weil die Bedingung falsch gesetzt wurde. Eine Liste wird nicht vollständig durchsucht, weil die Wiederholung zu früh endet. Ein Wegalgorithmus führt gegen ein Hindernis, weil das Raster nicht richtig geprüft wurde. Hilfreich sind dabei Trockenläufe, Zwischenausgaben, Partnerkontrolle, Markieren einzelner Schritte. Debuggen bedeutet also nicht bloß Reparieren, sondern bewusstes Nachdenken über die Ursache des Problems.
Lösungen vergleichen und bewerten
Mehrere Algorithmen können dieselbe Aufgabe lösen, unterscheiden sich aber oft in Verständlichkeit, Länge, Übersicht oder Zweckmäßigkeit, weshalb der Vergleich verschiedener Lösungswege ein wichtiger Teil informatischer Kompetenz ist. Eine Sortieraufgabe kann sehr detailliert oder eher kompakt beschrieben werden. Eine Suchaufgabe kann auf einer ungeordneten Liste Zeile für Zeile ablaufen oder auf einer sortierten Liste gezielter organisiert sein. Ein Algorithmus kann korrekt sein, aber schwer verständlich. Ein anderer ist leicht lesbar, aber enthält unnötige Wiederholungen. Kriterien für die Bewertung sind Korrektheit, Eindeutigkeit, Verständlichkeit, Vollständigkeit, Zweckmäßigkeit. Beispiele: zwei verschiedene Wege durch ein Raster, zwei Zählverfahren für Stimmen, zwei Sortierbeschreibungen für Karten. Solche Vergleiche fördern Einsicht, dass Informatik nicht nur richtig oder falsch kennt, sondern auch bessere und schlechtere Lösungen.
Typische Unterrichtsbeispiele
Anschauliche Beispiele aus Schule, Spiel und Alltag erleichtern den Zugang besonders stark, weil sie algorithmisches Entwerfen, Darstellen, Implementieren und Testen an vertrauten Inhalten sichtbar und praktisch erfahrbar machen. Geeignete Unterrichtsbeispiele sind: größte Zahl finden, Stimmen auszählen, Würfelpunkte addieren, Spielfigur steuern, Namen alphabetisch ordnen, Passwortlänge prüfen, Temperaturwerte vergleichen, Weg im Raster planen, Schatzsuche beschreiben, Klassendienst verteilen. Ein Projekt kann so ablaufen: Zuerst wird die Aufgabe besprochen, dann der Algorithmus als Schrittliste entworfen, anschließend in Scratch oder einer ähnlichen Umgebung umgesetzt und schließlich mit mehreren Testfällen geprüft. Gerade diese Verbindung von Entwurf, Formalisierung, Umsetzung und Test führt zu einem vollständigen
Verständnis des Themas.
13.4 Aufgaben für den Unterricht
13.4.1 Vom Problem zur Schrittfolge
Ein tragfähiger Einstieg gelingt besonders gut, wenn eine alltagsnahe Aufgabe zuerst in klare Teilschritte zerlegt wird, weil dadurch sichtbar wird, wie aus einer vagen Idee ein geordneter und später programmierbarer Algorithmus entsteht.
Entwurf, Zerlegung
Aufgabenkarten, Stifte, Raster, Arbeitsblatt
Die Lernenden erhalten Problemstellungen wie „größte Zahl finden“, „Stimmen auszählen“, „Weg durch ein Raster planen“ oder „Bücher alphabetisch ordnen“. In Partnerarbeit zerlegen sie die Aufgabe in Teilschritte, notieren Eingabe, Verarbeitung und Ausgabe und formulieren danach eine nummerierte Schrittfolge. Anschließend prüfen sie, ob ein anderer Partner den Ablauf ohne Rückfragen verstehen kann.
Schrittfolge, Klarheit
13.4.2 Klare und unklare Algorithmen vergleichen
Begriffliche Präzision wächst besonders zuverlässig, wenn ungenaue Anweisungen gezielt mit eindeutigen Formulierungen verglichen werden, weil die Lernenden dadurch erkennen, warum
algorithmische Beschreibungen exakte Sprache und eine klare Reihenfolge benötigen.
Präzision, Sprache
Satzkarten, Marker, Vergleichsbogen
Die Klasse erhält Anweisungen wie „sortiere richtig“, „geh weiter“, „nimm die beste Zahl“ oder „zähl alles“. Die Lernenden markieren unklare Stellen, formulieren genauere Varianten und ergänzen fehlende Schritte. Danach testen sie beide Versionen an einem kleinen Beispiel und beschreiben, welche Fassung tatsächlich zuverlässig ausführbar ist.
Fehlerarten, Merksatz
13.4.3 Algorithmen formal darstellen
Die Verbindung von Alltagssprache und formaler Darstellung wird besonders verständlich, wenn ein bereits entworfener Ablauf schrittweise in Pseudocode, Schrittliste oder Flussdiagramm übersetzt wird und dabei Strukturunterschiede bewusst sichtbar werden.
Formalisierung, Darstellung
Pseudocode, Diagramm, Vorlage, Karten
Die Lernenden wählen einen einfachen Algorithmus, etwa „größte Zahl finden“ oder „gerade Zahlen markieren“. Zuerst notieren sie die Lösung in Alltagssprache. Danach übertragen sie den Ablauf in eine Schrittliste und anschließend in Pseudocode mit Begriffen wie START, EINGABE, WENN, SONST, WIEDERHOLE, AUSGABE. Optional erstellen sie zusätzlich ein Flussdiagramm.
Vergleich, Übersicht
13.4.4 Datenstrukturen passend wählen
Die Einsicht in geeignete Datenstrukturen wird besonders nachhaltig, wenn dieselbe Aufgabe mit Liste, Tabelle oder Raster bearbeitet wird und die Lernenden begründen müssen, warum eine Struktur das Lösen, Suchen oder Vergleichen erleichtert.
Datenwahl, Begründung Material, Vorlagen Liste, Tabelle, Raster, Zahlen, Namen
Die Gruppen bearbeiten Aufgaben wie „Anwesenheit prüfen“, „Punkte vergleichen“,
„Lieblingssport auszählen“ oder „einen Weg finden“. Sie entscheiden, ob eine Liste, Tabelle oder ein Raster sinnvoll ist, tragen die Daten passend ein und beschreiben anschließend den Lösungsweg algorithmisch. Danach vergleichen sie ihre Strukturwahl mit einer zweiten Gruppe.
Struktur, Nutzen
13.4.5 Einen Algorithmus implementieren
Hohe Lerngewinne entstehen besonders dann, wenn ein selbst entworfener Ablauf in einer blockbasierten oder textnahen Umgebung umgesetzt wird, weil erst beim Programmieren sichtbar wird, ob die Schritte vollständig, logisch und technisch umsetzbar formuliert wurden.
Umsetzung, Programmierung
Scratch, Open Roberta, MakeCode, Computer
Die Lernenden setzen einen zuvor entworfenen Algorithmus um, etwa „zähle Treffer“, „bewege Figur zum Ziel“, „finde die größte Zahl in einer Liste“ oder „prüfe gerade, ungerade“. Dabei ordnen sie jedem Entwurfsschritt passende Blöcke oder Befehle zu. Wichtig ist, dass sie nicht nur bauen, sondern jeden Programmteil einem eigenen Planungsschritt zuordnen.
Entwurf, Code
13.4.6 Testfälle planen und durchführen
Zuverlässiges algorithmisches Denken entwickelt sich besonders gut, wenn Programme nicht nur gestartet, sondern mit bewusst gewählten Testfällen geprüft werden, damit die Lernenden zwischen zufälligem Ausprobieren und systematischem Testen unterscheiden lernen.
Testen, Kontrolle
Testblatt, Eingaben, Erwartung, Ergebnis
Zu einem fertigen Algorithmus planen die Lernenden mehrere Testfälle. Für „größte Zahl finden“ können das normale Listen, gleiche Zahlen, negative Zahlen oder nur ein Element sein. Für eine Wegsteuerung können verschiedene Start- und Zielpositionen gewählt werden. Die Lernenden notieren jeweils Eingabe, erwartetes Ergebnis und tatsächliches Ergebnis und vergleichen anschließend beides.
Testfall, Abweichung
13.4.7 Fehler finden und verbessern
Besonders tiefes Verständnis entsteht, wenn fehlerhafte Algorithmen oder Programme systematisch untersucht werden, weil die Lernenden Ursachen statt Symptome erkennen und Schritt für Schritt nachvollziehen, warum ein Ablauf zu falschen oder unvollständigen Ergebnissen führt.
Debugging, Korrektur
Fehlercode, Ablaufplan, Marker, Testfälle
Die Lehrkraft stellt einfache fehlerhafte Beispiele bereit, etwa einen Zähler ohne Startwert, eine Bedingung mit falschem Vergleich oder eine Wiederholung, die zu früh endet. Die Lernenden führen den Ablauf schrittweise durch, markieren die Problemstelle, beschreiben die Auswirkung und verbessern die Stelle begründet. Danach testen sie die korrigierte Version erneut.
Fehlerquelle, Lösung
13.4.8 Zwei Lösungswege vergleichen
Vergleichsaufgaben fördern algorithmisches Urteilen besonders wirksam, weil die Schülerinnen und Schüler nicht nur prüfen, ob eine Lösung funktioniert, sondern auch einschätzen, welche Darstellung klarer, kürzer oder für andere leichter nachvollziehbar ist.
Vergleich, Bewertung
zwei Algorithmen, Bewertungsraster, Karten
Die Gruppen erhalten zwei unterschiedliche Lösungswege zu derselben Aufgabe, etwa zwei Suchverfahren oder zwei Beschreibungen für ein Sortierproblem. Sie prüfen beide auf Korrektheit, Verständlichkeit, Vollständigkeit und Zweckmäßigkeit. Danach formulieren sie, welche Lösung sie bevorzugen und mit welchem Kriterium sie ihre Entscheidung begründen.
Kriterien, Urteil
13.4.9 Ein eigenes Mini-Projekt entwickeln
Besonders hohe Lernwirksamkeit entsteht, wenn ein kleines Projekt von der Aufgabenidee bis zum getesteten Ergebnis vollständig durchlaufen wird, weil Entwurf, Formalisierung, Implementierung und Test dabei als zusammenhängender Problemlöseprozess erlebt werden.
Projekt, Gesamtprozess Material, Themen
Quiz, Spielfigur, Zähler, Wegsuche, Punkte
Kleingruppen wählen ein kleines Vorhaben, etwa einen Punktzähler, eine einfache Quizfrage, eine Figursteuerung oder ein Sortierspiel. Sie dokumentieren zunächst Problem, Eingabe und Ausgabe, entwerfen danach den Algorithmus, stellen ihn formal dar, setzen ihn um und testen ihn mit mehreren Fällen. Am Ende präsentieren sie nicht nur das Produkt, sondern auch ihren Lösungsweg.
Produkt, Prozess
13.4.10 Rückblick und Kurzabfragen
Langfristiges Behalten wird besonders zuverlässig gefördert, wenn zentrale Begriffe und Handlungsschritte regelmäßig aktiv abgerufen und mit kurzen Transfersituationen verbunden werden, statt nur bekannte Beispiele wiederzusehen oder einmalige Produkte abzuschließen.
Abruf, Festigung
Quiz, Exit-Ticket, Karten, Whiteboard
Zum Stundenende beantworten die Lernenden kurze Fragen wie „Welche Bausteine hat ein grundlegender Algorithmus?“, „Warum braucht man Testfälle?“, „Was ist der Unterschied zwischen Entwurf und Implementierung?“ oder „Wann ist eine Liste als Datenstruktur sinnvoll?“. In einer zweiten Runde formulieren sie selbst eine Mini-Aufgabe und nennen einen passenden Algorithmusbaustein oder einen möglichen Testfall.
Lernstand, Transfer
Grundlage: Informatik – Lehrband 6. Klasse, Final V1.3 (2026).