Klausur-Fahrplan
Status: GEPRÜFT. Die Aufgabentypen stammen aus der offiziellen Themenliste (Prof. Mehler, KlausurThemen.pdf); jede Code-Behauptung wurde maschinell mit Python 3.12 ausgeführt.
Die Klausur hat rund 10 Aufgaben. Als Vorbereitung sollen laut Prof. Mehler „insbesondere aus OLAT Kapitel Klausurvorbereitung die Beispiele Klausuraufgaben genutzt werden“. Diese sind hier alle gelöst (Kapitel „Übungsaufgaben — alle gelöst“).
Die eine Regel, die überall Punkte kostet
⚠️ Einrückungen mit senkrechtem Strich markieren
Jede Einrückung wird handschriftlich mit einem senkrechten Strich │ gekennzeichnet. Ohne den Strich kann der Korrektor nicht sehen, was noch zur Schleife, Bedingung oder Funktion gehört, und wertet es als falsch.
def f(n):
│ summe = 0
│ while i <= n:
│ │ summe = summe + i
│ return summe
print(f(10)) # steht außerhalb — kein StrichWoran erkenne ich welchen Aufgabentyp?
| Formulierung in der Aufgabe | Aufgabentyp |
|---|---|
| „unter Angabe der Berechnungsschritte“ · „nur die ersten beiden Schritte“ | Dezimal → Binär |
| Tabelle mit Spalten „Ergebnis“ und „Datentyp des Ergebnisses“ | Ausdruck auswerten |
fertiger Code mit # Ausgabe: ______ |
print-Quiz |
| „liest eine Zahl ein und gibt aus, welche/ob …“ | if / elif / else |
| „while-Schleife, anschließend for mit range, schließlich List Comprehension“ | Schleife bauen (3 Varianten) |
| „typ-sichere Funktion“ · „Übergabeparameter“ · „zurückliefern“ | Funktion schreiben |
| „speichern Sie in einer Liste / Dictionary“ · „berechnen Sie den Durchschnitt“ | Datenstruktur |
| „Erstellen Sie eine Klasse … Methode zur Initialisierung … erzeugen Sie ein Objekt“ | Klasse |
| „Kardinalitäten“ · „n:m auflösen“ · „Fremdschlüssel“ | Relationales Datenmodell |
| nummerierte Codezeilen mit einer Spalte „Korrektur“ | Fehler finden |
Die ~10 Aufgaben im Überblick
- Umrechnung einer Dezimalzahl in eine Binärzahl (Vor- und Nachkomma), nur die ersten beiden Umwandlungsschritte.
- Prioritätsregeln: Welche Ergebnisse und Datentypen liefern bestimmte Ausdrücke? (Die Prioritätentabelle liegt der Klausur bei.)
- Gegebener Python-Code: was geben die
print-Anweisungen aus? - Bedingungen und Schleifen erstellen:
while-Schleife,for-Schleife,range, List Comprehension, jeweils mit Einrückungen der Codeblöcke. - Eigene typ-sichere Python-Funktion schreiben.
- Liste oder Dictionary erstellen, Inhalte ausgeben mit Zusatzfunktionen (z. B. weiterer Text, Summen berechnen).
- Klasse erstellen mit Attributen und Methoden, Objekte der Klasse erzeugen.
- Datenbanken: Erstellung eines relationalen Datenmodells mit Fremdschlüsseln und Kardinalitäten.
- Fehler im Programm finden und korrigieren.
Endkontrolle: 60 Sekunden vor der Abgabe
- Ist jede Einrückung mit senkrechtem Strich markiert?
- Doppelpunkt hinter jedem
if / elif / else / while / for / def / class? - Jede geforderte Funktion auch aufgerufen und das Ergebnis ausgegeben?
- Wo „typ-sicher“ verlangt war:
(n: int) -> intgeschrieben? input()mitint(...)bzw.float(...)umgewandelt?- Wird jede Schleifenvariable im Rumpf verändert (keine Endlosschleife)?
- Bei
range: Obergrenze um 1 erhöht, damit der letzte Wert dabei ist? - Bei Ausgabe-Aufgaben: Klammern, Hochkommas,
dictkeys(...)exakt mitgeschrieben? - Bei Klassen:
selfin jedem Methodenkopf, aber in keinem Aufruf? - Beim Datenmodell: Kardinalitäten beidseitig, PS unterstrichen, FS markiert, n:m aufgelöst?
- Bei Umrechnungen: Rechenschritte hingeschrieben (dafür gibt es Punkte, nicht nur fürs Ergebnis)?