NWT9 - Algorithmen für technische Systeme entwickeln

NWT9 - Algorithmen für technische Systeme entwickeln
NWT9 - Algorithmen für technische Systeme entwickeln
Dieser aiMOOC richtet sich an Lernende der Klasse 9 im Fach NwT. Du entwickelst Algorithmen für technische Systeme und lernst, technische Problemstellungen so zu strukturieren, dass ein Mikrocontroller sie eindeutig ausführen kann. Im Mittelpunkt stehen die drei grundlegenden Ablaufstrukturen Sequenz, Verzweigung und Wiederholung. Du stellst Abläufe als Flussdiagramme, in Pseudocode und als Programmcode dar und überträgst sie auf technische Anwendungen wie Ampelsteuerungen, Abstandswarnsysteme, Lüftersteuerungen und Linienfolger.
Ein technisches System kann vereinfacht nach dem Prinzip Eingabe – Verarbeitung – Ausgabe beschrieben werden. Ein Sensor liefert Informationen, ein Programm verarbeitet diese Informationen nach einem Algorithmus und ein Aktuator setzt das Ergebnis technisch um. Ein Abstandssensor kann beispielsweise eine Entfernung messen, der Mikrocontroller kann den Messwert mit einem Grenzwert vergleichen und anschließend eine LED oder einen Summer ansteuern.

Lernziele
Nach diesem aiMOOC kannst Du technische Problemstellungen analysieren, Eingaben und Ausgaben benennen, eindeutige Algorithmen formulieren und diese mit Sequenzen, Verzweigungen und Wiederholungen aufbauen. Du kannst Abläufe mit Testfällen prüfen, Fehler lokalisieren und einfache technische Steuerungen in Pseudocode oder einer textuellen Programmiersprache darstellen.
| Niveau | Erwartete Leistung |
|---|---|
| G – grundlegend | Du erkennst Sequenz, Verzweigung und Wiederholung, ordnest vorgegebene Ablaufschritte und ergänzt einfache Algorithmen. |
| M – mittleres Niveau | Du entwickelst selbstständig Algorithmen für technische Systeme, formulierst Bedingungen und überträgst Flussdiagramme in Pseudocode oder Programmcode. |
| E – erweitertes Niveau | Du entwickelst, kombinierst, testest und optimierst komplexere technische Algorithmen mit mehreren Bedingungen, verschachtelten Abläufen, Funktionen und begründeten Testfällen. |
Algorithmisches Denken in technischen Systemen
Ein Algorithmus ist eine eindeutige, ausführbare Folge von Anweisungen zur Lösung einer Aufgabe. Damit ein technisches System zuverlässig arbeitet, müssen die Schritte so beschrieben sein, dass bei gleichen Voraussetzungen nachvollziehbar ist, welche Aktion ausgeführt wird.
Bei technischen Systemen ist besonders wichtig, dass Bedingungen messbar formuliert werden. Die Aussage „Wenn es zu warm ist, schalte den Lüfter ein“ ist für einen Menschen verständlich, aber noch nicht ausreichend präzise. Ein Mikrocontroller benötigt beispielsweise eine Bedingung wie „Wenn Temperatur größer als 28 °C, dann Lüfter einschalten“.
Ein guter technischer Algorithmus besitzt daher:
- Eindeutigkeit: Jeder Schritt ist klar formuliert.
- Ausführbarkeit: Die beschriebenen Aktionen können vom System tatsächlich ausgeführt werden.
- Reihenfolge: Die Schritte stehen in einer sinnvollen zeitlichen oder logischen Ordnung.
- Bedingung: Entscheidungen beruhen auf eindeutig prüfbaren Aussagen.
- Endlichkeit: Ein einzelner Ablauf endet oder eine Wiederholung besitzt eine nachvollziehbare Abbruch- oder Fortsetzungsbedingung.

Von der technischen Aufgabe zum Algorithmus
Bevor Du programmierst, lohnt sich eine systematische Analyse. Stelle Dir nacheinander vier Fragen:
| Frage | Beispiel: Abstandswarnsystem |
|---|---|
| Was ist die technische Aufgabe? | Ein Fahrzeug soll vor einem Hindernis warnen. |
| Welche Eingabe gibt es? | Ein Abstandssensor liefert eine Entfernung. |
| Welche Verarbeitung ist nötig? | Der Messwert wird mit einem Grenzwert verglichen. |
| Welche Ausgabe wird erzeugt? | Eine LED oder ein Summer wird ein- oder ausgeschaltet. |
Diese Denkweise reduziert komplexe technische Probleme auf klar definierte Teilprobleme.
Die drei Grundstrukturen
Fast jeder Algorithmus kann aus wenigen grundlegenden Ablaufstrukturen zusammengesetzt werden. Für diesen aiMOOC stehen drei Strukturen im Mittelpunkt: Sequenz, Verzweigung und Wiederholung.
Sequenz – Anweisungen nacheinander ausführen
Bei einer Sequenz werden Anweisungen genau in der festgelegten Reihenfolge ausgeführt. Es gibt zunächst keine Entscheidung und keinen Rücksprung.

Technisches Beispiel: Signalfolge
Eine Modellampel soll nacheinander Grün, Gelb und Rot anzeigen.
START Schalte Grün ein Warte 5 Sekunden Schalte Grün aus Schalte Gelb ein Warte 1 Sekunde Schalte Gelb aus Schalte Rot ein Warte 5 Sekunden Schalte Rot aus ENDE
Die Reihenfolge ist entscheidend. Würdest Du „Rot aus“ vor „Rot ein“ ausführen, hätte dieser Schritt zunächst keine sichtbare Wirkung.

Verzweigung – abhängig von einer Bedingung entscheiden
Bei einer Verzweigung wird geprüft, ob eine Bedingung wahr oder falsch ist. Abhängig vom Ergebnis wird ein unterschiedlicher Weg ausgeführt.

Technisches Beispiel: automatische Beleuchtung
Lies Helligkeit
WENN Helligkeit < Grenzwert
DANN Licht einschalten
SONST
Licht ausschalten
ENDE WENN
Ein passendes Flussdiagramm kann so gelesen werden:
+------------------+
| Helligkeit lesen |
+---------+--------+
|
v
/----------------\
< Helligkeit < 300? >
\-------+--------/
Ja | Nein
+--------+--------+
v v
+---------------+ +----------------+
| Licht EIN | | Licht AUS |
+-------+-------+ +--------+-------+
\ /
\ /
+-----+-----+
|
v
ENDE
Die Zahl 300 ist nur ein Beispielwert. In einem realen Aufbau muss der Grenzwert zu Sensor, Schaltung und gewünschtem Verhalten passen.
Wiederholung – Abläufe mehrfach ausführen
Eine Wiederholung führt einen Abschnitt mehrfach aus. Eine Wiederholung kann eine feste Anzahl von Durchläufen besitzen oder von einer Bedingung abhängen.

Beispiel: Sensor dauerhaft überwachen
SOLANGE System eingeschaltet
Lies Temperatur
Prüfe Temperatur
Steuere Lüfter
ENDE SOLANGE
Das technische System soll nicht nur einmal messen. Es muss die Umgebung fortlaufend beobachten und immer wieder reagieren.
Sequenz, Verzweigung und Wiederholung kombinieren
Technische Algorithmen bestehen häufig aus allen drei Strukturen gleichzeitig. Ein Abstandswarnsystem kann beispielsweise dauerhaft messen. Innerhalb dieser Wiederholung wird eine Verzweigung ausgeführt. In jedem Zweig können wiederum mehrere Schritte als Sequenz angeordnet sein.
WIEDERHOLE fortlaufend
Abstand messen
WENN Abstand < 20 cm
Rote LED einschalten
Summer einschalten
SONST
Rote LED ausschalten
Summer ausschalten
ENDE WENN
ENDE WIEDERHOLUNG
Diese Struktur besitzt:
- eine Wiederholung: Das System misst fortlaufend.
- eine Verzweigung: Der Abstand wird mit 20 cm verglichen.
- eine Sequenz: Innerhalb eines Zweiges werden mehrere Aktionen nacheinander ausgeführt.
Flussdiagramme lesen und entwickeln
Ein Flussdiagramm stellt einen Ablauf grafisch dar. Es hilft Dir, einen technischen Algorithmus zu planen, bevor Du ihn programmierst.
| Symbolische Form | Bedeutung | Typischer Inhalt |
|---|---|---|
| Oval | Start oder Ende | START, ENDE |
| Rechteck | Verarbeitung oder Aktion | Motor einschalten |
| Raute | Entscheidung | Abstand kleiner 20 cm? |
| Parallelogramm | Ein- oder Ausgabe | Sensorwert lesen |
| Pfeil | Ablaufrichtung | nächster Schritt |

Flussdiagramm: temperaturabhängiger Lüfter
Problemstellung: Ein Lüfter soll einschalten, wenn die Temperatur über 28 °C liegt. Das System soll fortlaufend prüfen.
+-------+
| START |
+---+---+
|
v
+-------------------+
| Temperatur messen |
+---------+---------+
|
v
/---------------\
< Temperatur > 28? >
\------+--------/
Ja | Nein
|
+-------+-------+
v v
+-------------+ +--------------+
| Lüfter EIN | | Lüfter AUS |
+------+------+ +------+-------+
\ /
\ /
+-----+----+
|
+--------------------+
|
v
Temperatur messen
Hier bildet der Rücksprung die Wiederholung.
Pseudocode als Brücke zur Programmierung
Pseudocode ist eine formale, aber nicht an eine bestimmte Programmiersprache gebundene Beschreibung eines Algorithmus. Er hilft Dir, die Logik zu entwickeln, bevor Du Dich mit konkreter Syntax beschäftigst.
Beispiel: Garagentor mit Hinderniserkennung
START
Tor schließen
SOLANGE Tor noch nicht geschlossen
Abstand messen
WENN Hindernis erkannt
Motor stoppen
Tor ein Stück öffnen
Warte
SONST
Motor weiter schließen
ENDE WENN
ENDE SOLANGE
Motor stoppen
ENDE
Wichtig: Bei realen Toren, Maschinen oder Fahrzeugen gelten zusätzliche Sicherheitsanforderungen. Schulische Modellaufbauten dürfen nicht unkritisch auf reale sicherheitsrelevante Anlagen übertragen werden.
Technisches Beispiel 1: Modellampel
Eine Ampel eignet sich gut, um Sequenz und Wiederholung zu untersuchen.

Ablauf in Pseudocode
START
WIEDERHOLE fortlaufend
Grün einschalten
Rot und Gelb ausschalten
Warte 5 Sekunden
Gelb einschalten
Grün ausschalten
Warte 1 Sekunde
Rot einschalten
Gelb ausschalten
Warte 5 Sekunden
ENDE WIEDERHOLUNG
Programmierblock: Arduino/C++
const int ROT = 2;
const int GELB = 3;
const int GRUEN = 4;
void setup() {
pinMode(ROT, OUTPUT);
pinMode(GELB, OUTPUT);
pinMode(GRUEN, OUTPUT);
}
void loop() {
digitalWrite(ROT, LOW);
digitalWrite(GELB, LOW);
digitalWrite(GRUEN, HIGH);
delay(5000);
digitalWrite(GRUEN, LOW);
digitalWrite(GELB, HIGH);
delay(1000);
digitalWrite(GELB, LOW);
digitalWrite(ROT, HIGH);
delay(5000);
}
Analyse: Die Funktion loop() sorgt bereits für eine fortlaufende Wiederholung. Innerhalb des Schleifendurchlaufs stehen die Anweisungen in einer festen Sequenz.
Differenzierung zur Ampel
| Niveau | Aufgabe |
|---|---|
| G | Ordne die Phasen Grün, Gelb und Rot in eine sinnvolle Sequenz und markiere, welche Ausgänge ein- oder ausgeschaltet werden. |
| M | Ergänze eine Fußgängeranforderung durch einen Taster. Formuliere eine passende Wenn-Dann-Bedingung. |
| E | Entwickle eine Ampelsteuerung als Zustandsmodell ohne lange blockierende Wartephasen. Begründe, warum das System dadurch während einer Wartezeit weitere Eingaben prüfen kann. |
Technisches Beispiel 2: Abstandswarnsystem
Ein Ultraschallsensor kann zur Entfernungsmessung eingesetzt werden. Das System soll in unserem Modell eine Warnung ausgeben, wenn ein Gegenstand näher als ein festgelegter Grenzwert kommt.

Pseudocode mit Verzweigung
START
WIEDERHOLE fortlaufend
Abstand messen
WENN Abstand < 20 cm
LED einschalten
SONST
LED ausschalten
ENDE WENN
ENDE WIEDERHOLUNG
Erweiterung mit zwei Grenzwerten
WENN Abstand < 10 cm
Rote LED einschalten
Gelbe LED ausschalten
SONST WENN Abstand < 30 cm
Gelbe LED einschalten
Rote LED ausschalten
SONST
Rote LED ausschalten
Gelbe LED ausschalten
ENDE WENN
Durch mehrere Bedingungen entsteht eine feinere Reaktion auf die Umwelt.
Testfälle für das Abstandswarnsystem
Ein Algorithmus ist erst dann überzeugend, wenn Du ihn systematisch prüfst.
| Testfall | Abstand | Erwartete Ausgabe | Warum wichtig? |
|---|---|---|---|
| 1 | 50 cm | keine Warnung | Normalfall außerhalb des Warnbereichs |
| 2 | 20 cm | abhängig von der exakt formulierten Vergleichsbedingung | Grenzfall |
| 3 | 19 cm | Warnung | Wert knapp innerhalb des Warnbereichs |
| 4 | 5 cm | Warnung | sehr kleiner Abstand |
Der Grenzfall bei genau 20 cm zeigt, warum < und <= nicht dasselbe bedeuten.
Technisches Beispiel 3: Lüftersteuerung
Ein Temperatursensor liefert einen Messwert. Ein Lüfter wird abhängig von diesem Wert gesteuert.
Einfache Schaltschwelle
WIEDERHOLE fortlaufend
Temperatur lesen
WENN Temperatur > 28
Lüfter einschalten
SONST
Lüfter ausschalten
ENDE WENN
ENDE WIEDERHOLUNG
Dieser Algorithmus kann bei Messwerten nahe 28 °C häufig ein- und ausschalten. Eine Verbesserung ist eine Hysterese: Der Lüfter wird beispielsweise oberhalb von 29 °C eingeschaltet, aber erst unterhalb von 27 °C wieder ausgeschaltet.
E-Niveau: Hysterese als robuste Verzweigung
WENN Temperatur > 29
Lüfterzustand = EIN
SONST WENN Temperatur < 27
Lüfterzustand = AUS
SONST
Lüfterzustand unverändert lassen
ENDE WENN
Der Bereich zwischen 27 °C und 29 °C verhindert ein ständiges Umschalten bei kleinen Messwertschwankungen.
Technisches Beispiel 4: Linienfolger
Ein Linienfolger ist ein mobiles technisches System, das Sensoren verwendet, um einer Linie zu folgen. Die Sensorwerte werden wiederholt eingelesen. Aus ihnen wird durch Verzweigungen entschieden, wie die Motoren angesteuert werden.


Vereinfachter Algorithmus mit zwei Sensoren
WIEDERHOLE fortlaufend
linken Sensor lesen
rechten Sensor lesen
WENN links Linie UND rechts Linie
geradeaus fahren
SONST WENN links Linie UND rechts keine Linie
nach links korrigieren
SONST WENN links keine Linie UND rechts Linie
nach rechts korrigieren
SONST
anhalten oder Suchstrategie starten
ENDE WENN
ENDE WIEDERHOLUNG
Je nach verwendetem Sensormodul kann die elektrische Bedeutung von 0 und 1 unterschiedlich sein. Deshalb muss der Algorithmus mit realen Messwerten getestet werden.
Programmierblock: vereinfachte Entscheidungslogik
bool links = digitalRead(SENSOR_LINKS);
bool rechts = digitalRead(SENSOR_RECHTS);
if (links && rechts) {
geradeaus();
}
else if (links && !rechts) {
linksKorrigieren();
}
else if (!links && rechts) {
rechtsKorrigieren();
}
else {
stoppen();
}
Hier werden mehrere Verzweigungen kombiniert. Die Wiederholung entsteht im Mikrocontrollerprogramm dadurch, dass dieser Entscheidungsblock immer wieder aufgerufen wird.
Technisches Beispiel 5: Servo abhängig von Sensoreingabe
Ein Servomotor kann eine definierte Winkelposition anfahren. In einem technischen Modell könnte ein Potentiometer oder Sensor eine Eingabe liefern und der Algorithmus daraus eine gewünschte Position bestimmen.

WIEDERHOLE fortlaufend
Sensorwert lesen
Sensorwert auf Winkelbereich umrechnen
Servo auf Winkel stellen
ENDE WIEDERHOLUNG
Dieses Beispiel zeigt, dass Algorithmen nicht nur Ein/Aus-Entscheidungen treffen, sondern Messwerte auch umrechnen und kontinuierlich weiterverarbeiten können.
Programmieren: von der Idee zum testbaren System
Ein sinnvoller Entwicklungsprozess besteht nicht darin, sofort möglichst viel Code zu schreiben. Besser ist es, schrittweise vorzugehen.
- Problem analysieren: Formuliere die technische Aufgabe.
- Eingabe und Ausgabe: Bestimme Sensoren, Eingaben und Aktoren.
- Algorithmus entwerfen: Nutze Sequenz, Verzweigung und Wiederholung.
- Flussdiagramm: Visualisiere kritische Entscheidungen.
- Pseudocode: Beschreibe den Ablauf sprachunabhängig.
- Implementierung: Übertrage den Algorithmus in Programmcode.
- Testfälle: Lege vor dem Test fest, welche Ergebnisse Du erwartest.
- Debugging: Suche systematisch nach Fehlern.
- Optimierung: Verbessere Robustheit, Verständlichkeit und Reaktionsverhalten.
Programmierblock: Sequenz
digitalWrite(LED1, HIGH); delay(500); digitalWrite(LED1, LOW); digitalWrite(LED2, HIGH);
Hier wird eine feste Reihenfolge abgearbeitet.
Programmierblock: Verzweigung
if (temperatur > 28) {
digitalWrite(LUEFTER, HIGH);
}
else {
digitalWrite(LUEFTER, LOW);
}
Hier entscheidet eine Bedingung über zwei mögliche Wege.
Programmierblock: Wiederholung
for (int i = 0; i < 5; i++) {
digitalWrite(LED, HIGH);
delay(200);
digitalWrite(LED, LOW);
delay(200);
}
Die LED blinkt in diesem Beispiel fünfmal.
while-Schleife und Endlosschleife
while (abstand > 20) {
vorwaertsFahren();
abstand = abstandMessen();
}
stoppen();
Entscheidend ist, dass sich eine Größe verändert, die in der Bedingung verwendet wird. Wird abstand innerhalb der Schleife nie neu gemessen, kann die Schleife unbeabsichtigt endlos laufen.

Fehler finden und Algorithmen verbessern
Fehler können auf unterschiedlichen Ebenen entstehen.
| Fehlerart | Beispiel | Strategie |
|---|---|---|
| Syntaxfehler | Klammer oder Semikolon fehlt | Fehlermeldung der Entwicklungsumgebung lesen |
| Logikfehler | Lüfter wird bei niedriger statt hoher Temperatur eingeschaltet | Bedingungen mit Testwerten durchspielen |
| Reihenfolgefehler | Sensor wird erst nach der Entscheidung gelesen | Sequenz im Flussdiagramm prüfen |
| Grenzwertfehler | 20 cm wird falsch behandelt | Werte knapp unter, auf und über dem Grenzwert testen |
| Endlosschleife | Schleifenbedingung kann nie falsch werden | Veränderung der Bedingungsvariablen kontrollieren |
| Hardware-Zuordnung | falscher Pin wird angesteuert | Pinbelegung dokumentieren und einzeln testen |
Debugging durch Trace-Tabelle
Mit einer Trace-Tabelle kannst Du einen Algorithmus Schritt für Schritt durchspielen.
Beispielbedingung: Wenn Abstand kleiner als 20 cm, dann Warnung EIN, sonst AUS.
| Durchlauf | Abstand | Bedingung Abstand < 20 | Ausgabe |
|---|---|---|---|
| 1 | 35 | falsch | AUS |
| 2 | 21 | falsch | AUS |
| 3 | 19 | wahr | EIN |
| 4 | 10 | wahr | EIN |
| 5 | 25 | falsch | AUS |
G/M/E-Differenzierung
G – grundlegendes Niveau
Auf G-Niveau konzentrierst Du Dich darauf, klare vorgegebene Abläufe zu verstehen und einfache technische Algorithmen zu vervollständigen. Du erkennst die Grundstrukturen und setzt einfache Bedingungen ein.
Beispielauftrag: Eine Warnleuchte soll angehen, wenn ein Taster gedrückt ist. Ordne die Schritte „Taster lesen“, „Bedingung prüfen“ und „LED setzen“ in eine sinnvolle Reihenfolge und formuliere eine einfache Wenn-Dann-Regel.
mittleres Niveau
Auf M-Niveau entwickelst Du eigenständig einen Algorithmus aus einer technischen Problemstellung. Du kombinierst Sequenz, Verzweigung und Wiederholung und begründest Grenzwerte.
Beispielauftrag: Entwickle ein Abstandswarnsystem mit zwei Warnstufen. Erstelle Flussdiagramm, Pseudocode und mindestens vier Testfälle.
E – erweitertes Niveau
Auf E-Niveau optimierst Du technische Abläufe. Du verwendest mehrere Bedingungen, Funktionen, Zustände oder nicht blockierende Zeitsteuerung und bewertest das Verhalten bei Grenz- und Fehlerfällen.
Beispielauftrag: Entwickle eine Modellampel, die während der Grünphase weiterhin einen Taster einlesen kann. Erkläre, weshalb eine lange blockierende Wartefunktion hierfür problematisch sein kann, und entwirf eine alternative Zustandslogik.
Interaktive Aufgaben
Quiz: Teste Dein Wissen
Welche Aussage beschreibt eine Sequenz am besten? (Anweisungen werden in einer festgelegten Reihenfolge ausgeführt) (!Eine Bedingung wird zufällig gewählt) (!Ein Sensor wird immer ausgeschaltet) (!Ein Programm besitzt keine Ausgabe)
Welche Struktur benötigst Du für eine Wenn-Dann-Entscheidung? (Verzweigung) (!Sequenz ohne Bedingung) (!Kommentar) (!Variablendeklaration)
Warum wird bei einem Abstandswarnsystem eine Wiederholung benötigt? (Damit der Abstand fortlaufend neu geprüft wird) (!Damit der Sensor nur einmal misst) (!Damit keine Bedingung mehr nötig ist) (!Damit jeder Messwert gleich wird)
Was ist bei einer while-Schleife besonders zu prüfen? (Ob die Schleifenbedingung irgendwann falsch werden kann) (!Ob jede Variable eine Farbe besitzt) (!Ob ein Sensor immer 100 liefert) (!Ob die Schleife nur Text ausgibt)
Welche Komponente liefert in einem technischen System typischerweise eine Eingabe? (Sensor) (!Aktuator) (!Motorwelle) (!Gehäuse)
Welche Aufgabe hat ein Aktuator? (Er setzt ein berechnetes Steuersignal physisch um) (!Er schreibt automatisch Pseudocode) (!Er ersetzt jede Verzweigung) (!Er speichert ausschließlich Kommentare)
Warum sind Grenzfälle beim Testen wichtig? (Sie zeigen, wie der Algorithmus direkt an einer Entscheidungsgrenze reagiert) (!Sie verhindern jede Wiederholung) (!Sie machen Sensoren überflüssig) (!Sie ersetzen das Flussdiagramm vollständig)
Was ist Pseudocode? (Eine sprachunabhängige strukturierte Beschreibung eines Algorithmus) (!Ein elektrischer Sensor) (!Eine bestimmte Motorbauart) (!Eine feste Programmiersprache für Arduino)
Welche Kombination beschreibt einen typischen technischen Ablauf? (Eingabe Verarbeitung Ausgabe) (!Ausgabe Ausgabe Ausgabe) (!Motor Motor Motor) (!Kommentar Variable Gehäuse)
Was verbessert eine Hysterese bei einer Schwellwertsteuerung? (Sie kann häufiges Ein- und Ausschalten nahe am Grenzwert vermeiden) (!Sie verhindert jede Sensormessung) (!Sie macht Bedingungen unnötig) (!Sie ersetzt einen Aktuator durch einen Sensor)
Memory
| Sequenz | feste Reihenfolge |
| Verzweigung | bedingte Entscheidung |
| Wiederholung | mehrfacher Ablauf |
| Sensor | technische Eingabe |
| Aktuator | technische Ausgabe |
| Pseudocode | sprachunabhängige Ablaufbeschreibung |
| Testfall | erwartetes Verhalten prüfen |
Drag and Drop
| Ordne die richtigen Begriffe zu. | Thema |
|---|---|
| Sensorwert einlesen | Eingabe |
| Grenzwert vergleichen | Verarbeitung |
| LED einschalten | Ausgabe |
| Wenn-Dann-Regel | Verzweigung |
| Fortlaufend erneut messen | Wiederholung |
Interaktive Ablaufaufgabe: Ampel-Sequenz
| Ordne die richtige Aktion zu. | Phase |
|---|---|
| Grüne LED einschalten | Freigabephase |
| Grüne LED ausschalten | Übergang vorbereiten |
| Gelbe LED einschalten | Warnphase |
| Gelbe LED ausschalten | Rotphase vorbereiten |
| Rote LED einschalten | Sperrphase |
Interaktive Ablaufaufgabe: Abstandswarnung
| Ordne den Algorithmusschritt zu. | Funktion |
|---|---|
| Abstand messen | Sensor erfassen |
| Abstand mit Grenzwert vergleichen | Bedingung prüfen |
| Warnung einschalten | Gefahrenzweig |
| Warnung ausschalten | Normalzweig |
| Zum Messschritt zurückkehren | Wiederholung |
Interaktive Ablaufaufgabe: Linienfolger
| Ordne die Reaktion zu. | Sensorsituation |
|---|---|
| Geradeaus fahren | Beide Sensoren erkennen den vorgesehenen Fahrbereich |
| Nach links korrigieren | Linke Seite verlangt Korrektur |
| Nach rechts korrigieren | Rechte Seite verlangt Korrektur |
| Anhalten | Keine sichere Zuordnung möglich |
| Sensoren neu lesen | Nächster Schleifendurchlauf |
Kreuzworträtsel
| Sequenz | Wie heißt eine feste Reihenfolge von Anweisungen? |
| Verzweigung | Wie heißt die Auswahl zwischen verschiedenen Ablaufwegen? |
| Schleife | Wie heißt eine wiederholende Kontrollstruktur? |
| Sensor | Welche Komponente liefert Messwerte an ein technisches System? |
| Aktuator | Welche Komponente setzt eine technische Ausgabe um? |
| Algorithmus | Wie heißt eine eindeutige Folge von Lösungsschritten? |
LearningApps
Lückentext
Offene Aufgaben
Leicht
- Ampelalgorithmus: Zeichne eine Modellampel und beschreibe den Ablauf einer vollständigen Signalfolge als Sequenz. Markiere eindeutig Start und Ende.
- Flussdiagramm lesen: Suche in diesem aiMOOC ein Flussdiagramm aus und erkläre in eigenen Worten, welche Symbole für Aktion und Entscheidung verwendet werden.
- Sensor und Aktuator: Fotografiere oder skizziere ein technisches System aus Deinem Alltag und kennzeichne mindestens eine Eingabe und eine Ausgabe.
- Pseudocode: Schreibe Pseudocode für eine automatische Lampe, die bei Dunkelheit eingeschaltet wird.
Standard
- Abstandswarnsystem: Entwickle ein Flussdiagramm mit zwei Warnstufen und formuliere passende Grenzwerte.
- Lüftersteuerung: Entwickle einen Algorithmus, der einen Lüfter temperaturabhängig steuert. Ergänze mindestens fünf Testfälle.
- Programmvergleich: Übertrage denselben Algorithmus zuerst in Pseudocode und anschließend in eine textuelle Programmiersprache. Vergleiche beide Darstellungen.
- Fehlersuche: Erstelle absichtlich drei typische Fehler in einem einfachen Algorithmus und dokumentiere, wie eine andere Person die Fehler systematisch finden kann.
Schwer
- Linienfolger: Entwickle eine vollständige Entscheidungslogik für einen Linienfolger mit zwei Sensoren und einer Suchstrategie für den Fall, dass die Linie verloren geht.
- Ampel mit Taster: Entwickle eine Modellampel mit Fußgängertaster. Das System soll die Anforderung speichern und zu einem sicheren Zeitpunkt bearbeiten.
- Hysterese: Untersuche anhand eigener Mess- oder Simulationswerte, wie sich eine Lüftersteuerung mit und ohne Hysterese verhält. Dokumentiere die Unterschiede.
- Technisches Projekt: Entwickle in einer Gruppe ein eigenes Sensorsystem. Erstellt Anforderungsliste, Flussdiagramm, Pseudocode, Implementierung, Testplan, Video-Dokumentation und eine begründete Verbesserung.


Lernkontrolle
- Transfer Ampelsteuerung: Eine Modellampel soll zusätzlich auf einen Taster reagieren. Erkläre, welche Teile des ursprünglichen Sequenzalgorithmus erhalten bleiben und an welcher Stelle eine Verzweigung ergänzt werden muss.
- Grenzwertanalyse: Ein Abstandssystem warnt bei
Abstand < 20. Analysiere das Verhalten bei 19 cm, 20 cm und 21 cm. Formuliere anschließend eine Alternative mit<=und erkläre den Unterschied. - Endlosschleife erkennen: Ein Programm verwendet
while (abstand > 20), misst den Abstand innerhalb der Schleife aber nicht erneut. Erkläre das mögliche Fehlverhalten und entwickle eine Korrektur. - Robuste Steuerung: Eine Heizung wird bei 20,0 °C eingeschaltet und bei 20,0 °C wieder ausgeschaltet. Entwickle eine robustere Schaltlogik und begründe Deine Entscheidung.
- Modellvergleich: Vergleiche Flussdiagramm, Pseudocode und Programmcode. Erkläre, welche Darstellung sich für Planung, Kommunikation und Ausführung jeweils besonders eignet.
- Systemanalyse: Wähle ein technisches System aus dem Alltag und zerlege es in Eingabe, Verarbeitung und Ausgabe. Beschreibe mindestens eine Sequenz, eine Verzweigung und eine Wiederholung.
- Teststrategie: Entwickle einen Testplan für einen Linienfolger oder ein Abstandswarnsystem. Berücksichtige Normalfälle, Grenzfälle und mindestens einen Fehlerfall.
Lernnachweis
Für einen Lernnachweis zu diesem Thema ist wichtig, dass Du nicht nur Begriffe wiedergeben kannst, sondern einen technischen Ablauf selbstständig entwickeln und begründen kannst.
- Du kannst eine technische Problemstellung in Eingabe, Verarbeitung und Ausgabe zerlegen.
- Du kannst Sequenz, Verzweigung und Wiederholung sicher unterscheiden und gezielt einsetzen.
- Du kannst einen Algorithmus als Flussdiagramm und Pseudocode darstellen.
- Du kannst einen einfachen Algorithmus in Programmcode übertragen.
- Du kannst Bedingungen mit Vergleichsoperatoren eindeutig formulieren.
- Du kannst Wiederholungen mit sinnvoller Fortsetzungs- oder Abbruchbedingung entwickeln.
- Du kannst Testfälle mit erwarteten Ergebnissen angeben.
- Du kannst Grenzfälle untersuchen und logische Fehler erklären.
- Du kannst technische Algorithmen auf G-, M- oder E-Niveau angemessen dokumentieren.
- Du kannst Verbesserungen eines bestehenden Algorithmus begründen.
OERs zum Thema
Verknüpfte Lernbereiche
Weiterführende Zusammenhänge
Algorithmen für technische Systeme verbinden Informatik und Technik. In der Informatik untersuchst Du Kontrollstrukturen, Daten, Bedingungen und Programme. In NwT steht zusätzlich die reale Wirkung im technischen System im Mittelpunkt: Sensoren erfassen Größen, Mikrocontroller verarbeiten Informationen und Aktoren erzeugen Bewegungen, Licht, Schall oder andere technische Wirkungen.
Eine gute technische Lösung entsteht deshalb nicht nur durch korrekten Code. Sie benötigt außerdem ein verständliches Modell, geeignete Sensoren, passende Aktoren, sinnvolle Grenzwerte, systematische Tests und eine Bewertung der Zuverlässigkeit.

Merksätze
- Sequenz: Was nacheinander geschehen soll, wird in einer festen Reihenfolge beschrieben.
- Verzweigung: Was von einer Bedingung abhängt, wird über eine Entscheidung gesteuert.
- Wiederholung: Was mehrfach oder dauerhaft geschehen soll, wird durch eine Schleife organisiert.
- Technisches System: Sensoren liefern Eingaben, Algorithmen verarbeiten Informationen und Aktoren erzeugen Ausgaben.
- Testen: Ein Algorithmus ist nicht schon deshalb gut, weil er einmal funktioniert; er muss auch Normalfälle, Grenzfälle und Fehlerfälle zuverlässig behandeln.
aiMOOC-Projekte
NEWSLernweltNOAH fragen