diff --git a/Scripts/Basics/ableiten_integrieren.py b/Scripts/Basics/ableiten_integrieren.py index ef58511..3dd6748 100644 --- a/Scripts/Basics/ableiten_integrieren.py +++ b/Scripts/Basics/ableiten_integrieren.py @@ -14,15 +14,6 @@ def ableiten(funktion, symbol=None): # Funktion definieren funktion = "sqrt(1 - x)" -# funktion = "exp(x)" # Für e^x -# funktion = "sin(x)" -# funktion = "cos(x)" -# funktion = "log(x)" -# funktion = "log(x, 2)" # Mit Basis 2 -# funktion = "(x**3 + 4) ** -2" # Für (x^3 + 4)^(-2) -# funktion = "1 - exp(x)" -# funktion = "1 + (1 / x) + (1 / x**2)" -# funktion = "1 - x**2" print(f"Ableitung: {ableiten(funktion)}") # print(f"Ableitung: {ableiten(funktion, 'x')}") # Für Ableitung nach x (bei mehreren freien Variablen diff --git a/Scripts/Kapitel_2/anzahl_maschinenzahlen.py b/Scripts/Kapitel_2/anzahl_maschinenzahlen.py index 867de5f..cc3a791 100644 --- a/Scripts/Kapitel_2/anzahl_maschinenzahlen.py +++ b/Scripts/Kapitel_2/anzahl_maschinenzahlen.py @@ -1,27 +1,21 @@ def anz_verschied_maschinZahlen(basis, mantisse, exponent, vorzeichen_exp): - """ - Funktion zum Berechnen der Anzahl verschiedener Maschinenzahlen in einem numerischen System. + return basis ** (mantisse) * (basis ** (exponent + vorzeichen_exp) - 1) + 1 - :param basis: Basis des Zahlenformats, z.B. 10 für dezimales, 2 für binäres System. - :param mantisse: Anzahl der Stellen in der Mantisse. Die effektive Länge der Mantisse ist `mantisse - 1`, - wenn ein hidden bit berücksichtigt wird. - :param exponent: Anzahl der Stellen im Exponententeil des Formats. - :param vorzeichen_exp: Gibt an, ob der Exponent ein Vorzeichen hat. 0 für nein, 1 für ja. - :return: Gibt die Gesamtzahl der verschiedenen Maschinenzahlen zurück, die in dem spezifizierten - numerischen Format dargestellt werden können. Dies umfasst alle Kombinationen von Mantisse, - Exponent und Vorzeichen (falls vorhanden). +######################################################################################## - Die Berechnung basiert auf der Formel: - basis^(mantisse - 1) * (basis^(exponent + vorzeichen_exp) - 1) + 1 - Hierbei wird die Anzahl der möglichen Werte für die Mantisse und den Exponenten (inklusive Vorzeichen) berechnet. - Das zusätzliche +1 berücksichtigt den Fall der Darstellung der Zahl Null. - """ - return basis ** (mantisse) * (basis ** (exponent + vorzeichen_exp) - 1) + 1 +# Basis +basis = 2 + +# Anzahl Stellen für Mantisse +mantisse_stellen = 15 +# Anzahl Stellen für Exponent +exponent_stellen = 5 -if __name__ == "__main__": - # Beispiel aus Prüfung FS20 Aufgabe 1a) +# Vorzeichen (Ja = 1, Nein = 0) +vorzeichen = 1 - anzahl = anz_verschied_maschinZahlen(2, 15, 5, 1) - print(anzahl) +print( + anz_verschied_maschinZahlen(basis, mantisse_stellen, exponent_stellen, vorzeichen) +) diff --git a/Scripts/Kapitel_3/newtonverfahren.py b/Scripts/Kapitel_3/newtonverfahren.py index 4ec1061..618b1b2 100644 --- a/Scripts/Kapitel_3/newtonverfahren.py +++ b/Scripts/Kapitel_3/newtonverfahren.py @@ -11,7 +11,7 @@ def newtonverfahren_toleranz(funktion, x_0, toleranz, debug=False): abgeleitete_funktion = diff(funktion) x_n = x_0[str(symbols[0])] - i = 0 + i = 0 while True: x_n_minus_1 = x_n x_n = x_n_minus_1 - ( @@ -33,7 +33,7 @@ def newtonverfahren_toleranz(funktion, x_0, toleranz, debug=False): if abs(x_n - x_n_minus_1) < toleranz: break - i += 1 + i += 1 return x_n @@ -83,4 +83,3 @@ def newtonverfahren_anzahl_iterationen(funktion, x_0, iterationen, debug=False): # iterationen = 5 # newtonverfahren_anzahl_iterationen(funktion, x_0, iterationen, True) -