11.5. Übungsaufgaben#
Abb. 11.4 Foto: Tilman Küpper#
Exercise 11.1 (Praxisaufgabe (PA1.5): Widerstände (Reihe/Parallel))
Programmieren Sie ein Skript, das nach Eingabe von drei elektrischen Widerständen \(R_1\), \(R_2\) und \(R_3\)
den Gesamtwiderstand \(R_{\text{Reihe}}\) der Reihenschaltung und
den Gesamtwiderstand \(R_{\text{parallel}}\) der Parallelschaltung
berechnet und ausgibt.
Für die Parallelschaltung gilt:
Zusatzaufgaben:
Falls einer der eingegebenen Widerstandswerte kleiner oder gleich 0 ist, soll eine passende Fehlermeldung ausgegeben werden.
Begründen Sie: Kann bei der Berechnung der Parallelschaltung eine Division durch 0 auftreten – und wenn ja, wann?
Exercise 11.2 (Praxisaufgabe: Widerstände als Klassen modellieren)
Sie kennen aus den frühen Praxisaufgaben die Berechnung von Reihen- und Parallelschaltung (Formeln, Einlesen mit input).
Refactoring-Aufgabe: Modellieren Sie das als Klassen, so dass sich Schaltungen komponieren lassen.
Vorschlag für ein Minimal-Design:
Resistor(R)speichert einen Widerstandswert.Series(elements)berechnetR_totalals Summe.Parallel(elements)berechnetR_totalüber die Kehrwerte.
Zusatz:
Validieren Sie Eingaben (keine nicht-positiven Widerstände) und geben Sie bei Fehlern klare Meldungen aus.
Ergänzen Sie Ihr Klassenmodell um eine Methode
__str__, die die Schaltung lesbar beschreibt.Schreiben Sie kleine Tests (z.B.
assert) für Serie/Parallel (bekannte Werte).
#todo solve exercise here