Programmieren für technische Aufgaben – Schleifen für wiederkehrende Aufgaben einsetzen
Programmieren für technische Aufgaben – Schleifen für wiederkehrende Aufgaben einsetzen
QR-Code
Einleitung
Programmieren für technische Aufgaben – Schleifen für wiederkehrende Aufgaben einsetzen
Zielgruppe: Ausbildung in technischen und informationstechnischen Berufen
Dauer: ca. 75–90 Minuten
Kurzbeschreibung: Du lernst, wiederkehrende Aufgaben mit for-Schleifen und while-Schleifen zu automatisieren. Im Mittelpunkt stehen sichere Abbruchbedingungen, Durchlaufgrenzen und lokale Tests mit fiktiven Daten.
Ausbildungsfall: Eine simulierte Prüfstation bewertet Werkstückmaße. Das Programm soll höchstens fünf Messungen auswerten und nach zwei fehlerhaften Messungen stoppen.

Dein Lernziel: Du kannst Schleifen auswählen, programmieren, begrenzen, testen und ihre Ergebnisse erklären.
| Einheit | Thema | Dauer |
|---|---|---|
| 1 | Schleifen verstehen | 5 Minuten |
| 2 | for-Schleife | 10 Minuten |
| 3 | while-Schleife | 10 Minuten |
| 4 | Abbruch und Grenzen | 10 Minuten |
| 5 | Simulierte Maßprüfung | 20 Minuten |
| 6 | Übungen und Lernkontrolle | 20–35 Minuten |
Sicherheitsregel: Alle Programme laufen ausschließlich in einer lokalen, möglichst netzgetrennten Übungsumgebung mit fiktiven Daten. Verwende keine Verbindung zu Produktionsanlagen, fremden Netzwerken oder echten Messgeräten. Verwende weder Zugangsdaten noch Kundeninformationen.
Lerneinheit 1: Schleifen verstehen
Eine Schleife wiederholt Anweisungen. Jeder Durchlauf heißt Iteration.
| Schleifentyp | Geeigneter Einsatz | Ende |
|---|---|---|
| for | Liste oder begrenzte Zahlenfolge durchlaufen | Datenende oder Abbruch |
| while | Wiederholen, solange eine Bedingung gilt | Bedingung wird falsch oder Abbruch |


Merksatz: Jede Schleife benötigt einen nachvollziehbaren Weg zum Ende. Für technische Aufgaben ist zusätzlich eine maximale Durchlaufzahl sinnvoll.
Mini-Auftrag: Überlege, ob Du für zehn bereits vorhandene Messwerte eher eine for- oder eine while-Schleife verwendest.
Feedback: Eine for-Schleife ist hier besonders geeignet, weil die Datenmenge bereits bekannt ist.
Lerneinheit 2: for-Schleifen für bekannte Datenmengen
Mit for durchläufst Du nacheinander Werte einer Liste.

Video: for-Schleifen in Python
Lokales Beispiel: Speichere diesen Code als for_beispiel.py.
messwerte = [10.0, 10.3, 9.9]
for nummer, mass in enumerate(messwerte, start=1):
print(f"{nummer}: {mass:.1f} mm")Erwartete Ausgabe:
1: 10.0 mm 2: 10.3 mm 3: 9.9 mm
Wichtig: Die Funktion enumerate() ergänzt eine laufende Nummer. range(3) liefert 0, 1 und 2 – die obere Grenze 3 ist ausgeschlossen.
Mini-Test: Ergänze einen vierten Messwert.
Feedback: Eine vierte Ausgabe entsteht automatisch, weil die Schleife jedes vorhandene Listenelement verarbeitet.
Lerneinheit 3: while-Schleifen mit Abbruchbedingung
Eine while-Schleife prüft ihre Bedingung vor jedem Durchlauf. Ist sie von Anfang an falsch, erfolgt kein Durchlauf.

Video: Die while-Schleife
Lokales Beispiel: Speichere diesen Code als while_beispiel.py.
versuch = 0
while versuch < 3:
versuch += 1
print(f"Probelauf {versuch}")
print("Stopp: drei Durchlaeufe erreicht")Erwartete Ausgabe:
Probelauf 1 Probelauf 2 Probelauf 3 Stopp: drei Durchlaeufe erreicht
Warum endet die Schleife? Der Zähler wird erhöht. Sobald er 3 erreicht, ist die Bedingung versuch < 3 falsch.
Mini-Test: Ändere die Grenze auf 2.
Feedback: Es erfolgen zwei Durchläufe, weil die Bedingung vor jedem erneuten Schleifendurchlauf geprüft wird.
Lerneinheit 4: Abbruchbedingungen und Grenzen
| Element | Wirkung | Technische Bedeutung |
|---|---|---|
break |
Beendet die aktuelle Schleife sofort | Prüfung vorzeitig stoppen |
continue |
Überspringt den Rest des aktuellen Durchlaufs | Einen Verarbeitungsschritt auslassen |
range() |
Erzeugt eine begrenzte Zahlenfolge | Anzahl begrenzen |
| Zähler | Dokumentiert die Anzahl der Durchläufe | Überwachung der Grenze |
if |
Prüft eine Entscheidung | Fehlergrenze erkennen |
Video: break und continue
Lokales Beispiel:
for schritt in range(1, 5):
if schritt == 2:
print("Schritt 2 ausgelassen")
continue
if schritt == 4:
print("Stopp")
break
print(schritt)Erwartete Ausgabe:
1 Schritt 2 ausgelassen 3 Stopp
Achtung: continue ersetzt keine Fehlerbehandlung. Fehlende oder ungültige Messwerte dürfen in einem echten Prüfprozess nicht ohne festgelegte Regel ignoriert werden.
Drei Sicherheitsfragen:
- Bedingung: Was hält die Schleife am Laufen?
- Abbruch: Wann muss sie vorzeitig enden?
- Grenze: Was verhindert unbegrenzte Durchläufe?
Lerneinheit 5: Ausbildungsfall – simulierte Maßprüfung
Auftrag: Eine fiktive Prüfstation soll Werkstücke beurteilen. Es findet keine Ansteuerung realer Maschinen oder Messgeräte statt.
Vorgaben für die Übung:
| Größe | Festlegung |
|---|---|
| Sollmaß | 10,0 mm |
| Untergrenze | 9,8 mm |
| Obergrenze | 10,2 mm |
| Prüfmaximum | 5 Messungen |
| Vorzeitiger Abbruch | 2 fehlerhafte Messungen |
Die Grenzen gelten einschließlich 9,8 und 10,2 mm. Das sind frei gewählte Übungswerte und keine verbindliche technische Prüfnorm.
Messdaten visualisieren
Fiktive Eingabedaten: 10,0 – 10,3 – 9,9 – 9,7 – 10,1 – 9,8 mm
| Messung | Wert | Bewertung | Fehlerzähler |
|---|---|---|---|
| 1 | 10,0 | OK | 0 |
| 2 | 10,3 | Ausschuss | 1 |
| 3 | 9,9 | OK | 1 |
| 4 | 9,7 | Ausschuss | 2 – STOPP |
| 5 | 10,1 | Nicht geprüft | – |
| 6 | 9,8 | Nicht geprüft | – |
Verlauf des Fehlerzählers:
Messung 1 OK 0 Messung 2 Ausschuss █ Messung 3 OK █ Messung 4 Ausschuss ██ STOPP Messung 5 nicht verarbeitet Messung 6 nicht verarbeitet
Die zweite fehlerhafte Messung tritt im vierten Schritt auf. Deshalb werden die restlichen Werte nicht verarbeitet.
Lokale interaktive Testumgebung
Voraussetzung: Python 3.10 oder neuer. Erstelle in einer lokalen, möglichst netzgetrennten Übungsumgebung einen leeren Ordner und darin die Datei pruefstation.py.
Die Übung arbeitet nur mit fest eingebauten Testdaten und Tastatureingaben. Sie enthält keine Netzwerkzugriffe, Dateiübertragungen oder Steuerbefehle.
def pruefen(werte, max_pruefungen=5, fehlerlimit=2):
if max_pruefungen < 1 or fehlerlimit < 1:
raise ValueError("Grenzen muessen positiv sein")
protokoll = []
fehler = 0
for nummer, mass in enumerate(
werte[:max_pruefungen], start=1
):
status = (
"OK" if 9.8 <= mass <= 10.2
else "Ausschuss"
)
protokoll.append((nummer, mass, status))
if status == "Ausschuss":
fehler += 1
if fehler >= fehlerlimit:
return protokoll, "Fehlergrenze"
grund = (
"Prueflimit"
if len(protokoll) == max_pruefungen
else "Datenende"
)
return protokoll, grund
# Automatische lokale Selbsttests
assert pruefen([]) == ([], "Datenende")
assert [x[2] for x in pruefen([9.8, 10.2])[0]] == [
"OK", "OK"
]
assert len(pruefen([10.4, 10.5, 10.0])[0]) == 2
assert len(pruefen([10.0] * 8)[0]) == 5
assert pruefen([10.0] * 8)[1] == "Prueflimit"
# Ausschliesslich fiktive Datensaetze
testfaelle = {
"normal": [10.0, 10.3, 9.9, 9.7, 10.1, 9.8],
"grenzen": [9.8, 10.2],
"leer": [],
"limit": [10.0] * 8,
}
print("Selbsttests bestanden.")
for _ in range(3):
name = input(
"normal/grenzen/leer/limit/ende: "
).strip().lower()
if name == "ende":
break
if name not in testfaelle:
print("Nur vorgegebene, fiktive Testfaelle.")
continue
protokoll, grund = pruefen(testfaelle[name])
for nummer, mass, status in protokoll:
print(f"{nummer}: {mass:.1f} mm -> {status}")
print(
f"STOPP: {grund}; geprueft: {len(protokoll)}"
)Lokal starten: Öffne das Terminal im Übungsordner.
python -I -B pruefstation.py
Je nach Installation lautet der Python-Aufruf python3 oder unter Windows py.
Die Option -I aktiviert den isolierten Python-Modus, -B verhindert das Schreiben von Bytecode-Dateien. Diese Optionen ersetzen keine Betriebssystem-Sandbox oder netzgetrennte virtuelle Maschine.
Interaktion: Gib nacheinander die Namen der Testfälle ein. Das Programm akzeptiert höchstens drei Eingaben und wertet nur fest vorgegebene fiktive Daten aus.
Testfälle und begründetes Feedback
| Eingabe | Erwartetes Ergebnis | Begründung |
|---|---|---|
normal |
4 geprüfte Werte; Fehlergrenze | Der zweite Ausschuss tritt im vierten Schritt auf |
grenzen |
2 geprüfte Werte; Datenende | Beide Grenzwerte sind ausdrücklich zulässig |
leer |
0 geprüfte Werte; Datenende | Eine leere Liste besitzt keine Elemente |
limit |
5 geprüfte Werte; Prüflimit | Weitere Werte liegen jenseits der festgelegten Obergrenze |
Wichtig: Eine bestandene Selbstprüfung zeigt nur, dass die definierten Testfälle erfolgreich waren. Sie beweist nicht, dass ein Programm für den realen Anlagenbetrieb geeignet ist.
Gestufte Hilfen
| Hilfestufe | Hinweis |
|---|---|
| Hilfe 1 – Denke nach | Welche zwei Ereignisse können eine Prüfung beenden? |
| Hilfe 2 – Schau in den Code | werte[:max_pruefungen] begrenzt die Daten; fehler >= fehlerlimit löst den vorzeitigen Abbruch aus
|
| Hilfe 3 – Kontrolliere | Im Normalfall werden vier Werte geprüft. Im Limitfall sind es fünf. |
Typische Fehler und Rückmeldungen:
| Fehler | Rückmeldung |
|---|---|
| Eine while-Schleife erhöht ihren Zähler nicht | Die Abbruchbedingung könnte dauerhaft wahr bleiben |
Ein Vergleich nutzt < statt <= |
Ein zulässiger Grenzwert könnte fälschlich ausgeschlossen werden |
continue wird mit break verwechselt |
Die Schleife läuft weiter, statt vollständig zu enden |
| Es werden sechs statt fünf Werte verarbeitet | Die vereinbarte maximale Prüfanzahl wurde verletzt |
| Nur normale Daten werden getestet | Leere Eingaben, Grenzfälle und frühe Abbrüche bleiben ungeprüft |
Interaktive Aufgaben
Quiz: Teste Dein Wissen
Was ist eine Schleife in einem Programm? (Eine Kontrollstruktur zum Wiederholen von Anweisungen) (!Eine Speicherung von Passwoertern) (!Eine Verbindung zu einer Produktionsanlage) (!Eine ausschliesslich grafische Darstellung)
Welche Schleife eignet sich besonders fuer eine bekannte Liste von Messwerten? (for-Schleife) (!while-Schleife ohne Abbruchbedingung) (!Unbegrenzte Endlosschleife) (!Reine if-Anweisung)
Wann prueft Python die Bedingung einer while-Schleife? (Vor jedem Schleifendurchlauf) (!Nur beim ersten Durchlauf) (!Erst nach dem Programmende) (!Nur nach einem Fehler)
Welche Werte erzeugt range mit dem Argument 3? (0 und 1 und 2) (!1 und 2 und 3) (!0 und 1 und 2 und 3) (!Nur den Wert 3)
Was bewirkt break innerhalb einer Schleife? (Es beendet die innerste umschliessende Schleife sofort) (!Es wiederholt denselben Durchlauf) (!Es setzt den Zaehler automatisch auf null) (!Es loescht alle Variablen)
Was bewirkt continue in einer for-Schleife? (Es setzt die Verarbeitung beim naechsten Durchlauf fort) (!Es beendet immer das gesamte Programm) (!Es verhindert jeden weiteren Durchlauf) (!Es verdoppelt automatisch die Wiederholungen)
Welche Gefahr besteht bei einer while-Schleife ohne wirksamen Fortschritt zur Abbruchbedingung? (Eine Endlosschleife kann entstehen) (!Das Programm beendet sich immer sofort) (!Alle Listen werden automatisch geloescht) (!Die Schleife wird zur for-Schleife)
Wie wird im Ausbildungsfall ein Messwert von genau 10,2 mm bewertet? (Als zulaessig) (!Als Ausschuss) (!Als fehlender Wert) (!Als automatischer Programmfehler)
Nach welcher Messung stoppt der Normalfall der simulierten Pruefstation? (Nach der vierten Messung) (!Nach der ersten Messung) (!Nach der dritten Messung) (!Nach der sechsten Messung)
Was bewirkt das Prueflimit von fuenf Messungen? (Es begrenzt die Auswertung auf hoechstens fuenf Werte) (!Es garantiert immer fuenf fehlerhafte Werte) (!Es verhindert jeden vorzeitigen Abbruch) (!Es erhoeht die Toleranz automatisch)
Memory
Finde die passenden Begriffspaare.
| Iteration | Einzelner Schleifendurchlauf |
| for-Schleife | Verarbeitung einer Wertefolge |
| while-Schleife | Wiederholung bei wahrer Bedingung |
| break | Sofortiger Schleifenabbruch |
| continue | Fortsetzung beim naechsten Durchlauf |
| Grenzwert | Festgelegte zulaessige Grenze |
| Zaehler | Variable zum Mitzaehlen |
| Protokoll | Dokumentation der Pruefergebnisse |
Drag and Drop
Ordne jedem Begriff seine passende Funktion zu.
| Ordne die richtigen Begriffe zu. | Funktion im Programm |
|---|---|
| Initialisierung | Startzustand einer Variable festlegen |
| Iteration | Einen Schleifendurchlauf ausfuehren |
| Abbruchbedingung | Das Ende der Wiederholung bestimmen |
| Toleranzpruefung | Einen Messwert mit einem zulaessigen Bereich vergleichen |
| Testprotokoll | Ergebnisse eines Programmlaufs dokumentieren |
Kreuzworträtsel
| Schleife | Wie heißt eine Kontrollstruktur zur wiederholten Ausführung von Anweisungen? |
| Iteration | Wie heißt ein einzelner Durchlauf einer Schleife? |
| Grenzwert | Wie heißt ein festgelegter Wert, der eine zulässige Grenze markiert? |
| Bedingung | Was wird bei einer while-Schleife vor jedem Durchlauf geprüft? |
| Toleranz | Wie heißt der erlaubte Bereich einer Maßabweichung? |
| Protokoll | Wie heißt die dokumentierte Aufzeichnung eines Prüfvorgangs? |
LearningApps
Optionale externe Übungssuche: Die folgenden externen Lernangebote sind nicht Bestandteil der lokalen Python-Testumgebung. Ihre Nutzung erfordert eine Freigabe durch die Lehrkraft und kann eine Verbindung zum Anbieter herstellen.
Lückentext
Offene Aufgaben
Bearbeitungsregel: Alle Aufgaben verwenden ausschließlich lokale und fiktive Daten. Arbeite niemals direkt an einer Produktionsanlage.
Leicht
Basisaufgaben
- Schleifenbild zeichnen: Zeichne eine for-Schleife mit drei Durchläufen. Feedback: Der Ablauf muss genau dreimal zurückführen, bevor er endet.
- Zählerschleife programmieren: Schreibe eine Schleife, die 0, 1 und 2 ausgibt. Feedback:
range(3)ist geeignet, weil seine obere Grenze ausgeschlossen ist. - Durchläufe begrenzen: Ändere das while-Beispiel auf zwei Wiederholungen. Feedback: Genau zwei Ausgaben zeigen, dass die Zählergrenze korrekt gesetzt ist.
- break und continue erklären: Erstelle zwei kleine Ablaufskizzen und markiere den Unterschied. Feedback: Bei break führt der Weg aus der Schleife heraus, bei continue zum nächsten Durchlauf.
Standard
Anwendungsaufgaben
- Normalfall auswerten: Starte die simulierte Maßprüfung mit
normalund erkläre ihren Abbruch. Feedback: Vier geprüfte Werte sind richtig, weil der zweite Ausschuss im vierten Schritt auftritt. - Grenzwerte testen: Prüfe
grenzenund begründe die Bewertung. Feedback: Beide Werte sind zulässig, da die Vergleichsoperatoren die Grenzen einschließen. - Prüflimit testen: Starte
limitund erkläre, warum nicht acht Werte verarbeitet werden. Feedback: Die Begrenzung des Listenausschnitts erlaubt höchstens fünf Prüfungen. - Fehlerverlauf gestalten: Zeichne für
normalein Diagramm des Fehlerzählers. Feedback: Die Folge 0, 1, 1, 2 ist richtig; nur fehlerhafte Messungen erhöhen den Zähler.
Schwer
Transferaufgaben
- Abbruchgrenze ändern: Setze das Fehlerlimit auf eins und begründe die Änderung. Feedback: Im Normalfall endet die Prüfung nach Messung zwei, weil dort der erste Ausschuss auftritt.
- Prüfmaximum verändern: Setze das maximale Prüflimit auf drei und untersuche den Normalfall. Feedback: Der Prüfgrund lautet Prüflimit, weil der zweite Ausschuss erst später auftreten würde.
- Neuen Prüfprozess entwerfen: Entwickle eine rein simulierte Drehmomentprüfung mit eigenen fiktiven Grenzwerten und zwei unabhängigen Stoppregeln. Feedback: Ein sicherer Entwurf beschreibt sowohl die fachliche Abbruchbedingung als auch die maximale Prüfanzahl.
- Erklärvideo produzieren: Erstelle eine einminütige lokale Bildschirmaufnahme Deines Übungsprogramms. Erkläre Schleife, Grenze und Abbruch. Feedback: Ein guter Lernnachweis zeigt Code, erwartetes Ergebnis und einen überprüften Grenzfall; verwende keine echten Betriebsdaten.


Lernkontrolle
Bearbeite die Aufgaben schriftlich oder mit lokal ausgeführtem Python-Code. Begründe Deine Entscheidungen.
- Schleifen vergleichen: Zwei Programme durchlaufen dieselbe Liste, eines mit for und eines mit while. Erkläre, welche Variante Du für die Wartbarkeit bevorzugst und wie beide sicher enden.
- Unvollständige Daten: Eine Liste enthält nur zwei statt fünf Messwerte. Leite das korrekte Programmverhalten ab und erläutere, weshalb kein weiterer Durchlauf erzwungen werden darf.
- Fehlerhaften Ablauf korrigieren: Eine while-Schleife besitzt eine unveränderte Laufvariable. Erkläre den möglichen Fehler und formuliere zwei Schutzmaßnahmen.
- Abbruchregeln kombinieren: Ein Prüfprozess hat sowohl eine Fehlergrenze als auch ein Prüfmaximum. Entwerfe eine nachvollziehbare Entscheidungslogik und belege sie durch geeignete Testfälle.
- Neuer technischer Anwendungsfall: Übertrage das Verfahren auf die simulierte Kontrolle von Bauteilgewichten. Definiere Toleranzen, maximale Durchläufe, Abbruchregeln und mindestens vier sinnvolle Tests.
Bewertungskriterien: Eine gute Lösung besitzt fachlich passende Schleifen, klare Grenzen, nachvollziehbare Ergebnisse, Grenzfalltests und eine begründete Übertragung auf den neuen Anwendungsfall.
Lernnachweis
Dein Lernnachweis umfasst:
- Schleifenverständnis: Du erklärst Iteration, for und while anhand eigener Beispiele.
- Sichere Beendigung: Du zeigst mindestens zwei unterschiedliche Abbruchmöglichkeiten und eine maximale Durchlaufzahl.
- Lauffähiger Quellcode: Du gibst ein lokales Python-Programm mit fiktiven Daten ab.
- Testdurchführung: Du dokumentierst Normalfall, Grenzfall, leere Eingabe und Prüfmaximum.
- Begründetes Feedback: Du erklärst, warum die Ergebnisse korrekt sind und welche Fehler auftreten könnten.
- Sicherer Umgang mit Daten: Du bestätigst die ausschließliche Verwendung fiktiver Daten ohne externe Datenübertragung oder reale Anlagenansteuerung.
- Anwendung: Du beschreibst, wie Du Schleifen sicher auf eine andere simulierte technische Aufgabe übertragen kannst.
Ein geeigneter Nachweis besteht aus dem Quellcode, einer kurzen Ablaufskizze, einem Testprotokoll und einer reflektierten Fehleranalyse.
OERs zum Thema
Fachliche Grundlagen:
- Offizielle Python-Dokumentation – Ablaufsteuerung: for, range, break und continue.
- Python-Standardbibliothek – Integrierte Funktionen: unter anderem enumerate.
- Wikipedia – Schleife: Kontrollstrukturen und Schleifenarten.
Wikipedia-Artikel:
Mediennachweise und Nutzungsrechte
Die verwendeten Wikimedia-Commons-Dateien wurden anhand ihrer Dateibeschreibungsseiten ausgewählt. Die Abbildungen werden unverändert eingebunden.
- Vernier caliper 2016.jpg: Santeri Viinamäki, CC BY-SA 4.0.
- For-loop-diagram.svg: Giacomo Alessandroni, CC BY-SA 4.0.
- While-loop-diagram.svg: P. Kemp, CC0 1.0.
- Flowgorithm For Loop.svg: Dave Braunschweig, CC BY-SA 4.0.
- Flowgorithm While Loop.svg: Dave Braunschweig, CC BY-SA 4.0.
- Lizenztext CC BY-SA 4.0: Namensnennung und Weitergabe unter gleichen Bedingungen bei Bearbeitungen beachten.
YouTube-Medien: Die eingebundenen Lehrvideos werden nicht als frei lizenzierte Materialien ausgegeben. Ihre Rechte verbleiben bei den jeweiligen Rechteinhabern. Das Abspielen kann externe Verbindungen herstellen; für die Durchführung der lokalen Programmieraufgaben sind die Videos nicht erforderlich.
Die Daten, Ablaufskizzen, Testfälle und Python-Beispiele des Ausbildungsfalls sind eigens für diese Lernübung formuliert. Es werden keine Messwerte aus echten Produktionsprozessen 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