Zum Inhalt springen

Programmieren für technische Aufgaben – Algorithmen aus Arbeitsabläufen entwickeln

Aus MOOCsWiki Staging
Version vom 9. Oktober 2026, 21:35 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 aiMOOC

Programmieren für technische Aufgaben – Algorithmen aus Arbeitsabläufen entwickeln

QR-Code



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:

  1. Eingabe: Welche Daten benötigt das Programm?
  2. Verarbeitung: Welche Entscheidungen müssen getroffen werden?
  3. 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

Vervollständige den Text.
Ein Algorithmus beschreibt eine eindeutige

zur Lösung eines Problems.
Am Anfang eines Programms werden die erforderlichen

festgelegt.
Das EVA-Prinzip unterscheidet Eingabe, Verarbeitung und

.
Eine Raute steht in einem Flussdiagramm üblicherweise für eine

.
Mit der Python-Anweisung if wird eine

geprüft.
Eine for-Schleife verarbeitet mehrere Elemente durch

.
Eine Sammlung von Messwerten kann in Python als

gespeichert werden.
Ein Test an der Grenze eines zulässigen Bereichs heißt

.
Ungültige Eingaben sollten vom Programm erkannt und als

behandelt werden.
Der Vergleich zwischen erwartetem und tatsächlichem Ergebnis dient der

.




Offene Aufgaben


Leicht – Basis

  1. EVA-Prinzip: Beschreibe für die fiktive Werkstückprüfung die Eingabe, die Verarbeitung und die Ausgabe in einem eigenen Schaubild.
  2. Algorithmus: Schreibe fünf präzise Schritte, mit denen ein Messwert überprüft werden kann.
  3. Programmablaufplan: Zeichne einen Ablaufplan mit Start, Eingabe, Entscheidung und Ergebnis.
  4. Python: Verändere das erste Codebeispiel durch drei andere fiktive Messwerte und dokumentiere die Ausgabe.


Standard – Anwendung

  1. Pseudocode: Erweitere den Prüfablauf um die Erkennung ungültiger Messwerte und erläutere die Reihenfolge der Prüfungen.
  2. Schleife: Ergänze die Messwertliste um drei frei erfundene Werte und vergleiche die Ergebnisse.
  3. Datenvisualisierung: Entwickle aus den ausgegebenen Statuswerten ein Balkendiagramm und erkläre die Verteilung.
  4. Softwaretest: Erstelle eine Testtabelle mit Normalfällen, Grenzfällen und ungültigen Eingaben.


Schwer – Transfer

  1. Algorithmendesign: Übertrage den Prüfalgorithmus auf einen fiktiven Temperaturprüfprozess mit anderen Grenzen und Einheiten.
  2. Modularisierung: Erweitere die Prüffunktion um frei wählbare Unter- und Obergrenzen als zusätzliche Parameter.
  3. Fehlerbehandlung: Entwirf eine Variante, die fehlerhafte Eingaben gesondert protokolliert, ohne andere Messwerte zu verlieren.
  4. Projektarbeit: Produziere ein kurzes Lernvideo mit eigenem Ablaufdiagramm, lokalem Python-Beispiel und dokumentierten Testfällen. Verwende ausschließlich fiktive Daten.




Text bearbeiten Bild einfügen Video einbetten Interaktive Aufgaben erstellen



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.

  1. 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.
  2. 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.
  3. 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.
  4. Fehleranalyse: Ein Prüfprogramm behandelt die Texteingabe "20.0" genauso wie einen gültigen Zahlenwert. Analysiere mögliche Probleme und entwirf eine sichere Eingabestrategie.
  5. Datenqualität: Ein negativer Messwert gelangt in die Auswertung. Erkläre, weshalb Plausibilitätsprüfungen vor der fachlichen Bewertung sinnvoll sind.
  6. Algorithmendesign: Übertrage den Prüfalgorithmus auf eine fiktive Füllstandskontrolle. Vergleiche Eingaben, Entscheidungen und Ausgaben mit dem Ausgangsfall.
  7. 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.

  1. Arbeitsauftrag: Dokumentiere den fiktiven technischen Anwendungsfall einschließlich Eingaben und erwarteter Ergebnisse.
  2. Algorithmus: Erstelle einen vollständigen Ablaufplan oder strukturierten Pseudocode.
  3. Programm: Präsentiere ein lokal ausführbares Python-Programm mit Entscheidungen und Wiederholungen.
  4. Testdokumentation: Weise mindestens sechs Testfälle mit erwarteten und tatsächlichen Ergebnissen nach.
  5. Datenvisualisierung: Stelle die Auswertung verständlich grafisch oder tabellarisch dar.
  6. 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:

  1. Python-Dokumentation – Kontrollstrukturen: Offizielle Beschreibung von if, for und weiteren Ablaufstrukturen.
  2. Python-Dokumentation – Kommandozeilenoptionen: Hinweise zu den Optionen -I und -B.
  3. Algorithmen mit Pseudocode dokumentieren: Erläuterung verschiedener Pseudocode-Darstellungen.
  4. openHPI – Python-Kurs: Ergänzendes Selbstlernangebot.
  5. 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-Hauptseite

Mediathek

Inhalte werden geladen ...

Mediathek wird aus dem Wiki geladen ...