Programmieren für technische Aufgaben – Algorithmen aus Arbeitsabläufen entwickeln
Einleitung
Programmieren für technische Aufgaben – Algorithmen aus Arbeitsabläufen entwickeln
Zielgruppe: Auszubildende in technischen, gewerblichen und IT-Berufen
Lernzeit: 5 Lerneinheiten à 10 Minuten, anschließend Übungen und Praxisprojekt
Lernziel: Du entwickelst aus einem technischen Arbeitsauftrag einen Algorithmus, setzt ihn mit Python um und prüfst das Ergebnis.
Dein Lernweg:
| Eingabe | Verarbeitung | Ergebnis |
|---|---|---|
| Messwerte und Prüfregeln | Vergleichen, Entscheiden, Wiederholen | Prüfstatus und Auswertung |

Videoimpuls: Was ist ein Algorithmus? – David J. Malan, TED-Ed
Praxisfall: Du entwickelst ein kleines Prüfprogramm für eine fiktive Fertigungsstation. Es bewertet Werkstückmaße, ohne Maschinen anzusteuern.
Sicherheitsregel: Verwende ausschließlich erfundene Daten und eine lokale, vom Betrieb oder der Lehrkraft freigegebene Testumgebung. Keine Verbindung zu Produktivanlagen, fremden Netzwerken oder Kundendaten.
Lerneinheit 1: Arbeitsauftrag verstehen
Dauer: 10 Minuten
Ein konkreter Ausbildungsfall
Eine fiktive Werkstatt produziert Bauteile mit einer Sollbreite von 20,0 mm.
Für die Übung gilt eine zulässige Abweichung von ± 0,2 mm.
| Messwert | Erwarteter Status |
|---|---|
| 19,7 mm | PRUEFEN |
| 19,8 mm | OK |
| 20,0 mm | OK |
| 20,2 mm | OK |
| 20,4 mm | PRUEFEN |
Die Grenzen sind einschließlich 19,8 mm und 20,2 mm gültig. Sie sind ausschließlich fiktive Übungswerte und keine betrieblichen Fertigungsvorgaben.
Deine Aufgabe: Formuliere drei Fragen:
- Eingabe: Welche Daten benötigt das Programm?
- Verarbeitung: Welche Entscheidungen müssen getroffen werden?
- Ausgabe: Welches Ergebnis muss erscheinen?

Das EVA-Prinzip
Eingabe → Verarbeitung → Ausgabe
EINGABE: Breite = 20,2 mm
VERARBEITUNG: Liegt der Wert zwischen
19,8 und 20,2 mm?
AUSGABE: OK
Merksatz: Bevor Du programmierst, musst Du die Eingaben, Verarbeitungsschritte und erwarteten Ergebnisse eindeutig beschreiben.
Lerneinheit 2: Einen Algorithmus planen
Dauer: 10 Minuten
Vom Arbeitsablauf zum Programmablaufplan
Ein Programmablaufplan visualisiert die Schritte eines Algorithmus.

Vier wichtige Bausteine:
| Symbol | Bedeutung |
|---|---|
| Start oder Ende | |
| Verarbeitungsschritt | |
| Entscheidung | |
| Manuelle Eingabe |
Beachte: Die Symbole stammen aus Darstellungen von Flussdiagrammen. Je nach Norm und Diagrammart können sich die Vorgaben für Ein- und Ausgaben unterscheiden.
Pseudocode entwickeln
Pseudocode beschreibt einen Algorithmus in vereinfachter Sprache.
START
Messwert übernehmen
WENN Messwert ungültig:
Status = FEHLER
SONST WENN Messwert zwischen 19,8 und 20,2:
Status = OK
SONST:
Status = PRUEFEN
Status ausgeben
ENDE
Mini-Aufgabe: Zeichne den Ablauf und markiere die beiden Entscheidungen. Kontrolliere, ob jeder mögliche Weg zu einem Ergebnis führt.

Lerneinheit 3: Entscheidungen programmieren
Dauer: 10 Minuten
Python: if und else
Mit einer bedingten Anweisung entscheidet Dein Programm zwischen verschiedenen Ergebnissen.
Lokales Codebeispiel – direkt ausführbar:
messwert_mm = 20.2
untergrenze = 19.8
obergrenze = 20.2
if untergrenze <= messwert_mm <= obergrenze:
print("OK")
else:
print("PRUEFEN")
Erwartete Ausgabe:
OK
Wichtig: Python verwendet in Zahlen einen Punkt als Dezimaltrennzeichen. Die Einrückung nach if und else gehört zur Programmsyntax.
Video: Python Tutorial – if-else-Anweisungen, MINTucation
Testlabor A: Interaktiv im lokalen Python-Interpreter
Nutze einen Übungsrechner oder eine offline betriebene virtuelle Maschine mit Python 3. Keine Verbindung zu Geräten, Maschinen oder externen Diensten.
Starte den Interpreter mit:
python -I
Gib nacheinander ein:
mm = 20.2 status = "OK" if 19.8 <= mm <= 20.2 else "PRUEFEN" print(status)
Experimentiere: Ändere den Wert von mm auf 19.7, 19.8, 20.0 und 20.4. Führe die beiden letzten Zeilen jeweils erneut aus.
Erwartung: Die Werte 19.8 und 20.0 liefern OK. Die Werte 19.7 und 20.4 liefern PRUEFEN.
Hinweis: Die Option -I isoliert unter anderem Python-Suchpfade und Umgebungsvariablen. Sie ersetzt keine Betriebssystem-Sandbox oder Netzwerkabschottung.
Lerneinheit 4: Mehrere Messwerte auswerten
Dauer: 10 Minuten
Wiederholungen mit einer Schleife
Eine Schleife wiederholt einen Verarbeitungsschritt für mehrere Eingaben.

Video: Python-Grundlagen mit Übungen, simplexstudy. Besonders relevant sind die Abschnitte zu Bedingungen, Schleifen, Listen und Funktionen.
Testlabor B: Vollständiges lokales Prüfprogramm
Speichere den folgenden Code als pruefstation.py in einem eigenen Übungsordner.
# Fiktive Werkstueckpruefung
# Keine Netzwerk- oder Maschinenzugriffe
def pruefen(mm):
if isinstance(mm, bool) or not isinstance(mm, (int, float)):
return "FEHLER"
if not 0 < mm < 50:
return "FEHLER"
if 19.8 <= mm <= 20.2:
return "OK"
return "PRUEFEN"
messwerte = [19.7, 19.8, 20.0, 20.2, 20.4]
ergebnisse = []
for wert in messwerte:
status = pruefen(wert)
ergebnisse.append(status)
print(f"{wert:.1f} mm: {status}")
anzahl_ok = ergebnisse.count("OK")
anzahl_pruefen = ergebnisse.count("PRUEFEN")
print("OK:", anzahl_ok)
print("PRUEFEN:", anzahl_pruefen)
print("OK |", "#" * anzahl_ok)
print("PRUEFEN |", "#" * anzahl_pruefen)
# Lokale automatische Tests
assert pruefen(19.8) == "OK"
assert pruefen(20.2) == "OK"
assert pruefen(19.79) == "PRUEFEN"
assert pruefen(20.21) == "PRUEFEN"
assert pruefen(-1) == "FEHLER"
assert pruefen("20.0") == "FEHLER"
print("6 lokale Tests erfolgreich")
Ausführen:
python -I -B pruefstation.py
Die Option -B verhindert die Erstellung von Python-Bytecode-Dateien beim Import. Auch zusammen mit -I ist dies keine vollständige Sicherheits-Sandbox.
Erwartete Ausgabe:
19.7 mm: PRUEFEN 19.8 mm: OK 20.0 mm: OK 20.2 mm: OK 20.4 mm: PRUEFEN OK: 3 PRUEFEN: 2 OK | ### PRUEFEN | ## 6 lokale Tests erfolgreich
Daten visualisieren
Prüfergebnisse der fünf fiktiven Werkstücke:
| Status | Visualisierung | Anzahl |
|---|---|---|
| OK | ███ | 3 |
| PRUEFEN | ██ | 2 |
| FEHLER | 0 |
Ein Block steht für ein Werkstück.
Mini-Aufgabe: Ergänze in der lokalen Liste den ungültigen Wert -1. Überprüfe, wie sich die Einzelanzeigen verändern, und erweitere anschließend die Statistik um eine FEHLER-Zählung.
Lerneinheit 5: Testen und übertragen
Dauer: 10 Minuten
Testfälle entwickeln
Ein Softwaretest überprüft, ob tatsächliche und erwartete Ergebnisse übereinstimmen.
| Testfall | Eingabe | Erwartung | Begründung |
|---|---|---|---|
| Untere Grenze | 19.8 | OK | Grenze eingeschlossen |
| Obere Grenze | 20.2 | OK | Grenze eingeschlossen |
| Unterhalb | 19.79 | PRUEFEN | Außerhalb der Toleranz |
| Oberhalb | 20.21 | PRUEFEN | Außerhalb der Toleranz |
| Negativer Wert | -1 | FEHLER | Im Übungsfall unplausibel |
| Text statt Zahl | "20.0" | FEHLER | Nicht im erwarteten Zahlenformat |
Testprinzip: Prüfe Normalfälle, Grenzfälle und ungültige Eingaben. Ein bestandener Test zeigt nur, dass der geprüfte Fall funktioniert.
Gestufte Hilfen
| Stufe | Hilfe |
|---|---|
| Tipp | Schreibe zuerst die Eingabe und das erwartete Ergebnis auf. |
| Strukturhilfe | Formuliere eine WENN-SONST-Entscheidung und überprüfe die Grenzen. |
| Konkrete Hilfe | In Python prüft 19.8 <= mm <= 20.2 beide eingeschlossenen Grenzen. |
Drei Kompetenzstufen mit Feedback
Basisaufgabe: Bestimme den Status von 20.0 mm und 20.4 mm.
Feedback: Richtig sind OK und PRUEFEN. Der erste Wert liegt innerhalb des vorgegebenen Bereichs, der zweite darüber.
Anwendungsaufgabe: Erweitere das Programm um die Anzahl ungültiger Eingaben.
Feedback: Eine richtige Lösung zählt ausschließlich FEHLER-Ergebnisse und verändert die vorhandene OK-Zählung nicht. Dadurch bleiben die Ergebniskategorien eindeutig.
Transferaufgabe: Übertrage das Verfahren auf eine fiktive Temperaturkontrolle mit einem erlaubten Bereich von 18 bis 24 Grad Celsius.
Feedback: Eine tragfähige Lösung verwendet die neuen Grenzen, prüft beide Randwerte und dokumentiert die angepasste Einheit. Die Entscheidungsstruktur bleibt wiederverwendbar, die fachlichen Prüfregeln ändern sich.
Sicherheitsgrenze: Eine solche Simulation darf keine tatsächliche Heizungs-, Maschinen- oder Sicherheitssteuerung ersetzen.
Interaktive Aufgaben
Quiz: Teste Dein Wissen
Was muss vor der Programmierung eines technischen Arbeitsablaufs geklärt werden? (Eingaben und erwartete Ergebnisse) (!Die Farbe des Programmfensters) (!Die Anzahl der Tastaturtasten) (!Die Größe des Bildschirms)
Welches Ergebnis liefert der fiktive Messwert 20,2 mm? (OK) (!PRUEFEN) (!FEHLER) (!ABBRUCH)
Was zeigt eine Raute in einem Flussdiagramm typischerweise an? (Eine Entscheidung) (!Ein Programmende) (!Eine Textüberschrift) (!Einen Dateinamen)
Welche Python-Anweisung prüft eine Bedingung? (if) (!print) (!import) (!pass)
Wozu wird eine for-Schleife verwendet? (Zur wiederholten Verarbeitung von Elementen) (!Zum Ausschalten des Betriebssystems) (!Zum Umbenennen der Programmiersprache) (!Zum automatischen Löschen aller Dateien)
Wie wird im Übungsfall ein Messwert von 19,7 mm bewertet? (PRUEFEN) (!OK) (!FEHLER) (!KEIN ERGEBNIS)
Warum sind Grenzwerttests wichtig? (Weil Fehler häufig an Bereichsgrenzen sichtbar werden) (!Weil dadurch jeder weitere Test überflüssig wird) (!Weil Grenzwerte immer ausgeschlossen werden) (!Weil sie den Programmcode automatisch schreiben)
Welchen Status liefert die erweiterte Funktion für einen negativen Messwert? (FEHLER) (!OK) (!PRUEFEN) (!FERTIG)
Was bewirkt die Python-Funktion len bei einer Liste? (Sie ermittelt die Anzahl der Listenelemente) (!Sie sortiert jedes Element) (!Sie löscht die Liste) (!Sie beendet das Programm)
Wo dürfen die Übungsprogramme dieses Kurses ausgeführt werden? (In einer freigegebenen lokalen Testumgebung mit fiktiven Daten) (!Auf einer fremden Produktionsanlage) (!In einem unbekannten Firmennetzwerk) (!Auf einem Kundensystem ohne Zustimmung)
Memory
Ordne die Begriffe ihren Bedeutungen zu.
| Eingabe | Bereitgestellter Messwert |
| Algorithmus | Eindeutige Schrittfolge |
| Verzweigung | Bedingungsabhängige Auswahl |
| Schleife | Wiederholte Ausführung |
| Testfall | Festgelegte Prüfsituation |
| Ausgabe | Angezeigter Prüfstatus |
Drag and Drop
Ordne jedem Arbeitsschritt seine Funktion zu.
| Ordne die richtigen Begriffe zu. | Funktion im Prüfalgorithmus |
|---|---|
| Arbeitsauftrag analysieren | Anforderungen klären |
| Messwert übernehmen | Eingabe erfassen |
| Grenzen vergleichen | Bedingung prüfen |
| Prüfung wiederholen | Liste durchlaufen |
| Status anzeigen | Ergebnis ausgeben |
| Testfall ausführen | Erwartung kontrollieren |
Kreuzworträtsel
| Algorithmus | Wie heißt eine eindeutige, ausführbare Schrittfolge zur Lösung einer Aufgabe? |
| Eingabe | Wie nennt man Daten, die ein Programm vor der Verarbeitung erhält? |
| Ausgabe | Wie heißt das Ergebnis, das ein Programm bereitstellt? |
| Schleife | Welche Kontrollstruktur wiederholt Verarbeitungsschritte? |
| Grenzwert | Wie heißt der Wert, der einen zulässigen Bereich begrenzt? |
| Testfall | Wie nennt man eine festgelegte Prüfung mit erwarteter Ausgabe? |
LearningApps
Suche ergänzende Zuordnungs- und Algorithmusübungen. Dies ist eine externe Materialsuche und keine Programmier-Testumgebung.
Lückentext
Offene Aufgaben
Leicht – Basis
- EVA-Prinzip: Beschreibe für die fiktive Werkstückprüfung die Eingabe, die Verarbeitung und die Ausgabe in einem eigenen Schaubild.
- Algorithmus: Schreibe fünf präzise Schritte, mit denen ein Messwert überprüft werden kann.
- Programmablaufplan: Zeichne einen Ablaufplan mit Start, Eingabe, Entscheidung und Ergebnis.
- Python: Verändere das erste Codebeispiel durch drei andere fiktive Messwerte und dokumentiere die Ausgabe.
Standard – Anwendung
- Pseudocode: Erweitere den Prüfablauf um die Erkennung ungültiger Messwerte und erläutere die Reihenfolge der Prüfungen.
- Schleife: Ergänze die Messwertliste um drei frei erfundene Werte und vergleiche die Ergebnisse.
- Datenvisualisierung: Entwickle aus den ausgegebenen Statuswerten ein Balkendiagramm und erkläre die Verteilung.
- Softwaretest: Erstelle eine Testtabelle mit Normalfällen, Grenzfällen und ungültigen Eingaben.
Schwer – Transfer
- Algorithmendesign: Übertrage den Prüfalgorithmus auf einen fiktiven Temperaturprüfprozess mit anderen Grenzen und Einheiten.
- Modularisierung: Erweitere die Prüffunktion um frei wählbare Unter- und Obergrenzen als zusätzliche Parameter.
- Fehlerbehandlung: Entwirf eine Variante, die fehlerhafte Eingaben gesondert protokolliert, ohne andere Messwerte zu verlieren.
- Projektarbeit: Produziere ein kurzes Lernvideo mit eigenem Ablaufdiagramm, lokalem Python-Beispiel und dokumentierten Testfällen. Verwende ausschließlich fiktive Daten.


Hilfen und begründetes Feedback zu den offenen Aufgaben
| Niveau | Hilfe | Qualitätskriterium und Feedback |
|---|---|---|
| Basis | Beginne mit dem EVA-Schema. | Jeder Schritt muss eine klar erkennbare Funktion haben. Unklare Begriffe verhindern eine zuverlässige Programmumsetzung. |
| Anwendung | Prüfe zuerst einzelne Messwerte, dann ganze Listen. | Stimmen Einzelbewertung und Gesamtstatistik überein, sind Entscheidung und Wiederholung konsistent umgesetzt. |
| Transfer | Trenne allgemeine Programmlogik von den jeweiligen Fachregeln. | Eine gute Lösung macht Grenzwerte anpassbar und ergänzt neue Grenztests, weil sich Anforderungen zwischen Anwendungsfällen unterscheiden. |
Lernkontrolle
Bearbeite mindestens fünf der folgenden Aufgaben mit Begründung.
- Problemanalyse: Eine Werkstatt beschreibt ihren Prüfprozess nur mit „Maß kontrollieren“. Erkläre, welche Informationen fehlen und weshalb sich daraus noch kein eindeutiger Algorithmus entwickeln lässt.
- Kontrollstruktur: Vergleiche eine Lösung mit mehreren einzelnen if-Anweisungen und eine Lösung mit einer for-Schleife. Begründe, wann welche Struktur geeignet ist.
- Grenzwertanalyse: Zwei Programme verwenden einmal kleinere-gleich-Vergleiche und einmal nur kleinere-Vergleiche. Erläutere an einem selbst gewählten Grenzwert, welche Auswirkungen dieser Unterschied hat.
- Fehleranalyse: Ein Prüfprogramm behandelt die Texteingabe "20.0" genauso wie einen gültigen Zahlenwert. Analysiere mögliche Probleme und entwirf eine sichere Eingabestrategie.
- Datenqualität: Ein negativer Messwert gelangt in die Auswertung. Erkläre, weshalb Plausibilitätsprüfungen vor der fachlichen Bewertung sinnvoll sind.
- Algorithmendesign: Übertrage den Prüfalgorithmus auf eine fiktive Füllstandskontrolle. Vergleiche Eingaben, Entscheidungen und Ausgaben mit dem Ausgangsfall.
- Softwarequalität: Ein Programm besteht alle bekannten Tests. Begründe, weshalb daraus nicht folgt, dass es in jeder denkbaren Situation fehlerfrei arbeitet.
Lernnachweis
Dein Lernnachweis besteht aus einem kleinen, lokal getesteten Projekt.
- Arbeitsauftrag: Dokumentiere den fiktiven technischen Anwendungsfall einschließlich Eingaben und erwarteter Ergebnisse.
- Algorithmus: Erstelle einen vollständigen Ablaufplan oder strukturierten Pseudocode.
- Programm: Präsentiere ein lokal ausführbares Python-Programm mit Entscheidungen und Wiederholungen.
- Testdokumentation: Weise mindestens sechs Testfälle mit erwarteten und tatsächlichen Ergebnissen nach.
- Datenvisualisierung: Stelle die Auswertung verständlich grafisch oder tabellarisch dar.
- Reflexion: Erkläre mindestens eine erkannte Fehlerquelle, Deine Lösung und die Grenzen des Programms.
Bewertungskriterien: Fachliche Richtigkeit, nachvollziehbare Struktur, lauffähiger Code, begründete Tests, sicherer Umgang mit Daten und verständliche Dokumentation.
Eine erfolgreiche Lösung verarbeitet die vereinbarten Testdaten korrekt. Sie greift weder auf fremde Systeme noch auf reale Produktionsdaten zu.
OERs zum Thema
Wikipedia: Programmablaufplan
Weitere fachliche Lernressourcen:
- Python-Dokumentation – Kontrollstrukturen: Offizielle Beschreibung von if, for und weiteren Ablaufstrukturen.
- Python-Dokumentation – Kommandozeilenoptionen: Hinweise zu den Optionen -I und -B.
- Algorithmen mit Pseudocode dokumentieren: Erläuterung verschiedener Pseudocode-Darstellungen.
- openHPI – Python-Kurs: Ergänzendes Selbstlernangebot.
- HubbS – Wiederholte Ausführung: Deutschsprachiges Lernvideo aus dem Umfeld der beruflichen Bildung, Universität Stuttgart, Dominik Göddeke, CC BY 4.0.
Mediennachweise und Nutzungsrechte
Die eingebundenen Bilder stammen aus Wikimedia Commons. Dateinamen, Urheber und Lizenzen sind über die Originalbeschreibungsseiten nachvollziehbar.
| Wikimedia-Commons-Datei | Urheber | Lizenz |
|---|---|---|
| Input Process Output | Dave Braunschweig | CC BY-SA 4.0 |
| Flowchart de | Erik Streb | CC BY-SA 3.0 |
| Manual Input | Blacktc | CC0 1.0 |
| Terminal | DevinCook | CC BY-SA 4.0 |
| Process | DevinCook | Gemeinfrei |
| Decision | DevinCook | CC BY-SA 4.0 |
| Flowchart Example | Manuela knoop | CC BY-SA 3.0 |
| Preparation | DevinCook | CC BY-SA 4.0 |
YouTube-Videos: Die drei eingebundenen Videos stammen von TED-Ed, MINTucation und simplexstudy. Sie sind externe Bildungsmedien; aus ihrer Einbettung folgt keine freie Nachnutzungslizenz. Eine Weiterverwendung muss nach den Rechten des jeweiligen Anbieters geprüft werden.
Datenschutz und Testsicherheit: Die Python-Beispiele enthalten ausschließlich fiktive Messwerte. Sie benötigen weder Netzwerkzugriff noch zusätzliche Pakete. Externe Medien und Lernplattformen sind optional und können beim Aufruf Verbindungsdaten an deren Anbieter übertragen. Für praktische Programmtests werden nur lokale, freigegebene und vom Netzwerk getrennte Übungsumgebungen verwendet.
Verknüpfte Lernbereiche
aiMOOC-Projekte
Schulfach+


aiMOOCs


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-HauptseiteMediathek
Mediathek wird aus dem Wiki geladen ...
Keine passenden Inhalte gefunden. Bitte ändere Suche oder Filter.
NEWSLernweltNOAH fragen