Übungsaufgaben
Zehn interaktive Übungen zum Klicken, Ziehen und Knobeln — von AFB I bis AFB III. Jede Übung gibt dir sofort Rückmeldung, und nach dem Prüfen erklärt eine kurze Notiz die Lösung.
Verbinde jedes Paradigma mit seiner Kernidee.
Fünf Behauptungen über Programmierparadigmen.
Ordne jeden Schnipsel dem Paradigma zu, für das er typisch ist.
map und filter erzeugen neue Listen, ohne die alte zu verändern: funktional.Imperativ heißt: Jede Anweisung ändert den Zustand. Bringe die Zeilen so in eine Reihenfolge, dass das Programm 40 ausgibt.
print(x)
x = x * 3
x = 10
x = x - 5
x = x + 5
x - 5, entsteht 20. Im imperativen Stil bestimmt die Reihenfolge der Zustandsänderungen das Ergebnis.Was gibt das objektorientierte Programm aus?
class Zaehler: def __init__(self): self.wert = 0 def klick(self): self.wert = self.wert + 1 a = Zaehler() b = Zaehler() a.klick() a.klick() b.klick() a.klick() print(a.wert * 10 + b.wert)
Setze die Fachbegriffe ein — ein Wort bleibt übrig.
Beim Programmieren schreibst du Schritt für Schritt vor, wie der Rechner zum Ergebnis kommt. Beim Programmieren beschreibst du nur, was herauskommen soll. Ein bekanntes Beispiel dafür ist die Abfragesprache . Beim Programmieren setzt du ein Programm aus Funktionen zusammen, die keine haben — sie verändern nichts außerhalb von sich selbst.
Verbinde dein Wissen aus 3.1.2 und 3.1.3 mit den Paradigmen. Welche Aussagen stimmen?
Die Funktion naechste verändert mit global die Variable zaehler außerhalb von sich selbst. Verfolge die Aufrufe.
zaehler = 0 def naechste(x): global zaehler zaehler = zaehler + 1 return x + zaehler a = naechste(10) b = naechste(10) c = naechste(10) + naechste(10)
- Wert von a
- Wert von b
- Wert von c
- Wert von zaehler am Ende
zaehler. Genau das vermeidet der funktionale Stil: Eine reine Funktion würde für naechste(10) immer denselben Wert liefern.Selin hat einen Lernzettel zu den Paradigmen geschrieben. Drei Zeilen sind falsch.
Welche Zahl gibt das Programm aus?
zahlen = [4, 8, 15, 16, 23, 42] def ist_gross(z): return z > 10 gross = list(filter(ist_gross, zahlen)) print(len(zahlen))
