Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| modul:m323:learningunits:lu07:aufgaben:purerefactoring [2026/09/09 11:14] – LU07.A06 - Unpure wird pure (neu) admin | modul:m323:learningunits:lu07:aufgaben:purerefactoring [2026/09/09 13:53] (aktuell) – Repo-Verlinkung korrigiert: nodisp im Footer statt Link im Text admin | ||
|---|---|---|---|
| Zeile 40: | Zeile 40: | ||
| </ | </ | ||
| - | ==== Detaillierte Aufgabenstellung | + | ==== Vorgehen |
| - | - Schreiben | + | Führen |
| - | - Bauen Sie einen **funktionalen Kern**: Funktionen, die den Bestand als Argument bekommen und einen **neuen** Bestand zurückgeben, | + | |
| - | - Bauen Sie eine dünne | + | |
| - | - Nach dem Umbau darf im Kern kein '' | + | |
| - | - Belegen Sie mit Tests, dass der Kern pure ist: Zweimal derselbe Aufruf mit demselben Bestand liefert dasselbe Ergebnis, und der übergebene Bestand ist danach unverändert. | + | |
| - | ==== Leitfragen ==== | + | * '' |
| + | * '' | ||
| + | |||
| + | ==== Zu implementieren ==== | ||
| + | |||
| + | <code python> | ||
| + | mit_einlagerung(bestand, | ||
| + | mit_entnahme(bestand, | ||
| + | </ | ||
| + | |||
| + | Beide Funktionen sind **pure**: | ||
| + | |||
| + | * Sie verändern '' | ||
| + | * Sie geben nichts auf der Konsole aus. | ||
| + | * Derselbe Aufruf liefert immer dasselbe Ergebnis. | ||
| + | |||
| + | '' | ||
| + | |||
| + | ==== Regeln ==== | ||
| + | |||
| + | * '' | ||
| + | * Rückgabewerte und Ausgabe von '' | ||
| + | * Kein '' | ||
| + | |||
| + | ==== Bewertung ==== | ||
| + | |||
| + | ^ Teil ^ Punkte ^ | ||
| + | | Tests ('' | ||
| + | | pylint ('' | ||
| + | |||
| + | ==== Leitfragen | ||
| * Wie gibt eine Funktion gleichzeitig den neuen Bestand und die Information «hat geklappt / hat nicht geklappt» zurück? | * Wie gibt eine Funktion gleichzeitig den neuen Bestand und die Information «hat geklappt / hat nicht geklappt» zurück? | ||
| Zeile 55: | Zeile 81: | ||
| ---- | ---- | ||
| + | < | ||
| {{tag> | {{tag> | ||
| [[https:// | [[https:// | ||