Zum Inhalt springen

NWT9 - Algorithmen für technische Systeme entwickeln

Aus MOOCsWiki Staging
Version vom 13. September 2026, 22:09 Uhr von Glanz (Diskussion | Beiträge) (aiMOOC über GPT aiMOOC Action erstellt)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
aiMOOC-Siegel

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:

  1. Eindeutigkeit: Jeder Schritt ist klar formuliert.
  2. Ausführbarkeit: Die beschriebenen Aktionen können vom System tatsächlich ausgeführt werden.
  3. Reihenfolge: Die Schritte stehen in einer sinnvollen zeitlichen oder logischen Ordnung.
  4. Bedingung: Entscheidungen beruhen auf eindeutig prüfbaren Aussagen.
  5. 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:

  1. eine Wiederholung: Das System misst fortlaufend.
  2. eine Verzweigung: Der Abstand wird mit 20 cm verglichen.
  3. 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.

  1. Problem analysieren: Formuliere die technische Aufgabe.
  2. Eingabe und Ausgabe: Bestimme Sensoren, Eingaben und Aktoren.
  3. Algorithmus entwerfen: Nutze Sequenz, Verzweigung und Wiederholung.
  4. Flussdiagramm: Visualisiere kritische Entscheidungen.
  5. Pseudocode: Beschreibe den Ablauf sprachunabhängig.
  6. Implementierung: Übertrage den Algorithmus in Programmcode.
  7. Testfälle: Lege vor dem Test fest, welche Ergebnisse Du erwartest.
  8. Debugging: Suche systematisch nach Fehlern.
  9. 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

Vervollständige den Text.
Ein eindeutiger Ablauf zur Lösung einer Aufgabe heißt

.
Werden mehrere Anweisungen nacheinander ausgeführt, spricht man von einer

.
Eine Entscheidung zwischen verschiedenen Wegen wird durch eine

beschrieben.
Ein mehrfach ausgeführter Programmabschnitt heißt

.
Ein technisches System erhält Messwerte häufig über einen

.
Eine technische Ausgabe kann durch einen

umgesetzt werden.
Die sprachunabhängige strukturierte Beschreibung eines Ablaufs nennt man

.
Ein grafisch dargestellter Ablauf kann als

dargestellt werden.
Ein gezielt gewählter Eingabewert mit erwarteter Ausgabe heißt

.
Das systematische Suchen und Beheben von Programmfehlern nennt man

.




Offene Aufgaben


Leicht

  1. Ampelalgorithmus: Zeichne eine Modellampel und beschreibe den Ablauf einer vollständigen Signalfolge als Sequenz. Markiere eindeutig Start und Ende.
  2. Flussdiagramm lesen: Suche in diesem aiMOOC ein Flussdiagramm aus und erkläre in eigenen Worten, welche Symbole für Aktion und Entscheidung verwendet werden.
  3. Sensor und Aktuator: Fotografiere oder skizziere ein technisches System aus Deinem Alltag und kennzeichne mindestens eine Eingabe und eine Ausgabe.
  4. Pseudocode: Schreibe Pseudocode für eine automatische Lampe, die bei Dunkelheit eingeschaltet wird.


Standard

  1. Abstandswarnsystem: Entwickle ein Flussdiagramm mit zwei Warnstufen und formuliere passende Grenzwerte.
  2. Lüftersteuerung: Entwickle einen Algorithmus, der einen Lüfter temperaturabhängig steuert. Ergänze mindestens fünf Testfälle.
  3. Programmvergleich: Übertrage denselben Algorithmus zuerst in Pseudocode und anschließend in eine textuelle Programmiersprache. Vergleiche beide Darstellungen.
  4. Fehlersuche: Erstelle absichtlich drei typische Fehler in einem einfachen Algorithmus und dokumentiere, wie eine andere Person die Fehler systematisch finden kann.


Schwer

  1. 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.
  2. Ampel mit Taster: Entwickle eine Modellampel mit Fußgängertaster. Das System soll die Anforderung speichern und zu einem sicheren Zeitpunkt bearbeiten.
  3. Hysterese: Untersuche anhand eigener Mess- oder Simulationswerte, wie sich eine Lüftersteuerung mit und ohne Hysterese verhält. Dokumentiere die Unterschiede.
  4. Technisches Projekt: Entwickle in einer Gruppe ein eigenes Sensorsystem. Erstellt Anforderungsliste, Flussdiagramm, Pseudocode, Implementierung, Testplan, Video-Dokumentation und eine begründete Verbesserung.




Text bearbeiten Bild einfügen Video einbetten Interaktive Aufgaben erstellen



Lernkontrolle

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Modellvergleich: Vergleiche Flussdiagramm, Pseudocode und Programmcode. Erkläre, welche Darstellung sich für Planung, Kommunikation und Ausführung jeweils besonders eignet.
  6. 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.
  7. 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.

  1. Du kannst eine technische Problemstellung in Eingabe, Verarbeitung und Ausgabe zerlegen.
  2. Du kannst Sequenz, Verzweigung und Wiederholung sicher unterscheiden und gezielt einsetzen.
  3. Du kannst einen Algorithmus als Flussdiagramm und Pseudocode darstellen.
  4. Du kannst einen einfachen Algorithmus in Programmcode übertragen.
  5. Du kannst Bedingungen mit Vergleichsoperatoren eindeutig formulieren.
  6. Du kannst Wiederholungen mit sinnvoller Fortsetzungs- oder Abbruchbedingung entwickeln.
  7. Du kannst Testfälle mit erwarteten Ergebnissen angeben.
  8. Du kannst Grenzfälle untersuchen und logische Fehler erklären.
  9. Du kannst technische Algorithmen auf G-, M- oder E-Niveau angemessen dokumentieren.
  10. 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

  1. Sequenz: Was nacheinander geschehen soll, wird in einer festen Reihenfolge beschrieben.
  2. Verzweigung: Was von einer Bedingung abhängt, wird über eine Entscheidung gesteuert.
  3. Wiederholung: Was mehrfach oder dauerhaft geschehen soll, wird durch eine Schleife organisiert.
  4. Technisches System: Sensoren liefern Eingaben, Algorithmen verarbeiten Informationen und Aktoren erzeugen Ausgaben.
  5. 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

MOOCwiki · Deutsch

Nach dem Lernen ist vor dem Lernen

Entdecke direkt den nächsten Lernkurs. Weitere Inhalte erscheinen, wenn Du weiter nach unten scrollst.

Zur MOOCwiki-Hauptseite
Inhalte werden geladen ...

Mediathek wird aus dem Wiki geladen ...