Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| modul:m323:learningunits:lu07:aufgaben:performance [2026/09/09 11:16] – LU07.A08 - Vorgegebene Massnahmen umsetzen (neu) admin | modul:m323:learningunits:lu07:aufgaben:performance [2026/09/09 13:53] (aktuell) – Repo-Verlinkung korrigiert: nodisp im Footer statt Link im Text admin | ||
|---|---|---|---|
| Zeile 5: | Zeile 5: | ||
| </ | </ | ||
| - | ==== Ausgangslage | + | ==== Die vier Massnahmen |
| - | <code python> | + | ^ Nr. ^ Funktion ^ Vorgegebene Massnahme ^ |
| - | import random | + | | 1 | '' |
| - | random.seed(42) | + | | 2 | '' |
| + | | 3 | '' | ||
| + | | 4 | '' | ||
| - | gesperrt = [f" | + | Die Testdaten erzeugt '' |
| - | anfragen = [f" | + | |
| - | kunden | + | ==== Detaillierte Aufgabenstellung ==== |
| - | bestellungen | + | |
| - | </ | + | |
| - | === Massnahme 1 === | + | - **Vorher messen** mit '' |
| - | <code python> | + | - Massnahme umsetzen. |
| - | def gesperrte_anfragen(anfragen, gesperrt): | + | |
| - | return sum(1 for a in anfragen if a in gesperrt) | + | - **Nachher messen** und in '' |
| - | </ | + | - Zu jeder Massnahme in einem Satz begründen: **Warum** ist die neue Fassung schneller? Nennen Sie die Komplexität, |
| - | **Vorgabe:** Ersetzen Sie die Datenstruktur für '' | + | |
| - | === Massnahme 2 === | + | ==== Abgabe |
| - | <code python> | + | |
| - | def zuordnen(bestellungen, | + | |
| - | out = [] | + | |
| - | for b in bestellungen: | + | |
| - | for k in kunden: | + | |
| - | if k[" | + | |
| - | out.append((k[" | + | |
| - | break | + | |
| - | return out | + | |
| - | </ | + | |
| - | **Vorgabe: | + | |
| - | === Massnahme | + | Eine Tabelle mit fünf Spalten: |
| - | <code python> | + | |
| - | def fibonacci(n): | + | |
| - | return n if n < 2 else fibonacci(n - 1) + fibonacci(n - 2) | + | |
| - | </ | + | |
| - | **Vorgabe: | + | |
| - | === Massnahme 4 === | + | ==== Bewertung |
| - | <code python> | + | |
| - | def top_drei_pro_kunde(kunden, | + | |
| - | ergebnis | + | |
| - | for k in kunden: | + | |
| - | top = sorted(produkte, | + | |
| - | ergebnis[k[" | + | |
| - | return ergebnis | + | |
| - | </ | + | |
| - | **Vorgabe: | + | |
| - | ==== Detaillierte Aufgabenstellung ==== | + | ^ Teil ^ Punkte ^ |
| + | | Tests ('' | ||
| + | | pylint ('' | ||
| - | - Messen Sie **vor** der Änderung mit '' | + | Die Tests prüfen zweierlei: identisches Ergebnis |
| - | - Setzen Sie die Massnahme | + | |
| - | - Prüfen Sie mit '' | + | |
| - | - Messen Sie nach und halten Sie beide Zahlen sowie den Faktor fest. | + | |
| - | - Notieren Sie zu jeder Massnahme in einem Satz: **Warum** ist die neue Fassung schneller? | + | |
| - | ==== Abgabe ==== | + | <WRAP center round important 80%> |
| + | **Achtung bei Massnahme 4:** Die naheliegende Lösung teilt allen Kunden **dieselbe** Liste zu. Solange niemand sie verändert, fällt das nicht auf. '' | ||
| + | </ | ||
| - | Eine Tabelle mit fünf Spalten: | + | <WRAP center round tip 80%> |
| + | **Achtung bei Massnahme | ||
| + | </ | ||
| ---- | ---- | ||
| + | < | ||
| {{tag> | {{tag> | ||
| [[https:// | [[https:// | ||