3.10 Aufgaben
-
Schreiben Sie ein Python-Programm, das den Wert für
berechnet. Als Eingaben sind beliebige Gleitpunktzahlen zugelassen. Das Programm soll die Berechnung nur durchführen, wenn der Nenner ungleich 0 ist.
-
Schreiben Sie ein Programm, das die Fakultät mit einer while-Schleife berechnet.
-
Schreiben Sie ein Programm, das den Tilgungsverlauf eines Ratenkredits mit einer while-Schleife berechnet. Eingaben sind der Kreditbetrag und die monatliche Höhe der Rate in Euro. Der Zinssatz soll in Prozent eingegeben werden. Sie können folgenden Algorithmus verwenden:
solange kredit>0:
Ausgabe(kredit)
zinsen = kredit * zinssatz
kredit = kredit + zinsen - rate -
Schreiben Sie ein Programm, das für alle ungeraden Zahlen von 1 bis 19 die Quadratzahlen mit einer for- und einer while-Schleife berechnet.
-
Zwei ineinander verschachtelte while-Schleifen sollen die gleiche Ausgabe wie die for-Schleife erzeugen:
for i in range(3):
for j in range(3):
print("i: ", i, " j: ", j) -
Schreiben Sie ein Programm, das die Wahrheitstabelle für die Konjunktion und Disjunktion mit zwei logischen Variablen a und b berechnet. Die Laufvariablen a, b können über das Tupel (False,True) iterieren. Lösungshinweis: Eine Tabelle können Sie mit zwei verschachtelten for-Schleifen erstellen.
-
Schreiben Sie ein Programm, das die Wahrheitstabelle für die Konjunktion und Disjunktion mit drei Variablen berechnet.
-
Schreiben Sie ein Programm, das mit einer selbst definierten Python-Funktion die Hypotenuse c, die Hypotenusenabschnitte q, p und die Höhe h eines rechtwinkligen Dreiecks mit dem Satz des Pythagoras berechnet. Die Funktion soll mit einem Docstring dokumentiert werden. Falls Sie den Satz des Pythagoras nicht mehr kennen: Die Formeln (und einige weitere Grundlagen) finden Sie im Anhang.
-
Schreiben Sie ein Programm, das für ein beliebiges Dreieck mit den Seiten a, b und c mit einer Python-Funktion den Umfang, den Flächeninhalt und die Winkel berechnet. Auch diese Formeln finden Sie im Anhang.
-
Schreiben Sie ein Programm, das eine 4×4-Matrix transponiert. Die Matrix soll mit einer verschachtelten Liste erzeugt werden.
-
Schreiben Sie ein Programm, das eine 5×5-Matrix mit einem konstanten Faktor multipliziert.
-
Schreiben Sie ein Programm, das ein Quadrat und ein gleichschenkliges Dreieck aus Asterisk-Symbolen * ausgibt. Eine Seite hat eine Länge von sechs Symbolen. Es wird angenommen, dass der Rechner für die Darstellung eines Symbols 1 Nanosekunde benötigt. Das Programm soll auch die Laufzeit mit ausgeben. Wie ändern sich die Laufzeiten, wenn die Seitenlänge verdoppelt wird.
-
Schreiben Sie ein Programm, das die pythagoräischen Tripel berechnen kann.
-
Schreiben Sie ein Programm, das mit zwei verschiedenen Funktionen die Fakultät von n iterativ berechnet. Die erste Funktion fak1(n) soll als for-Schleife und die zweite Funktion fak2(n) soll als while-Schleife implementiert werden. Die Zählvariable i soll mit dem größten Wert n beginnen und ihren Wert bei jedem neuen Schleifendurchlauf um 1 reduzieren. Die Schleife soll also rückwärts durchlaufen werden. Die Berechnungen sollen mit der math-Funktion factorial(n) überprüft werden. Mit dem Profiler von Spyder können Sie die Laufzeiten vergleichen.
-
Schreiben Sie ein Programm, das mit einer rekursiven Funktion die gaußsche Summe berechnet.
-
Schreiben Sie ein Programm, das mit einer rekursiven Funktion die Potenz an berechnet.
-
Schreiben Sie ein Programm, das mithilfe der Binomialkoeffizienten die Zahlen des Pascalschen Dreiecks berechnet und ausgibt.
-
Für die Berechnung der Fakultät n! sollen die Laufzeiten der iterativen Version mit der rekursiven Version verglichen werden. Schreiben Sie ein Programm, das diese Aufgabe löst.
-
Schreiben Sie ein Programm, das die Laufzeit als Funktion der Eingabelänge n für die Multiplikation von zwei quadratischen Matrizen (Listing 3.13) misst. Das Ergebnis soll auch grafisch dargestellt werden.
-
Schreiben Sie ein OOP-Programm class Rechteck, das den Umfang und die Fläche eines Rechtecks berechnet.