diff --git a/Rekursion.py b/Rekursion.py new file mode 100644 index 0000000..212ab83 --- /dev/null +++ b/Rekursion.py @@ -0,0 +1,21 @@ +# FAKULTÄTEN REKURSION +# Aufgabe 1 +def fakultaet(n): + if n == 0: + return 1 + else: + return n * fakultaet(n-1) + +print(fakultaet(int(input("Geben Sie eine Zahl ein: ")))) + +# FIBONACCI REKURSION +# Aufgabe 2 +def fibonacci(n): + if n == 0: + return 0 + elif n == 1: + return 1 + else: + return fibonacci(n-1) + fibonacci(n-2) + +print(fibonacci(int(input("Geben Sie eine Zahl ein: ")))) \ No newline at end of file diff --git a/Sort2.py b/Sort2.py new file mode 100644 index 0000000..faa335f --- /dev/null +++ b/Sort2.py @@ -0,0 +1,21 @@ +Array = [3,2,1,5,4] +Länge = len(Array) + +def selection_sort(): + anzahlVergleiche = 0 + anzahlTauschungen = 0 + for i in range(Länge): + min_index = i + for j in range(i+1, Länge): + print(f"Vergleich: Array[{min_index}] = {Array[min_index]} und Array[{j}] = {Array[j]}") + if Array[j] < Array[min_index]: + min_index = j + anzahlVergleiche += 1 + if min_index != i: + Array[i], Array[min_index] = Array[min_index], Array[i] + anzahlTauschungen += 1 + print(f"Vertauscht: Array[{i}] = {Array[i]} und Array[{min_index}] = {Array[min_index]}") + print() # Neue Zeile nach jedem Durchlauf + print("Sortiert sieht das Array A so aus:", Array) + print(f"Anzahl der Vergleiche: {anzahlVergleiche}") + print(f"Anzahl der Tauschungen: {anzahlTauschungen}") \ No newline at end of file diff --git a/Sortieren2a b/Sortieren2a new file mode 100644 index 0000000..2b7dc4f --- /dev/null +++ b/Sortieren2a @@ -0,0 +1,2 @@ +Der Algorithmus nimmt sich immer die kleinste Zahl und setzt diese dann an die erste Stelle im Array. +Im nächsten Schritt betrachtet das Programm nur noch die restlichen Stellen im Array und setzt dort die kleinste an erste Stelle \ No newline at end of file diff --git a/turtlerekursion.py b/turtlerekursion.py new file mode 100644 index 0000000..c00eca6 --- /dev/null +++ b/turtlerekursion.py @@ -0,0 +1,32 @@ +import turtle + +def draw_square(t, size): + for i in range(4): + t.forward(size) + t.right(90) + +# draw_square(turtle, 100) + +def draw_recursive_stairs(t, size, steps): + if steps == 0: + return + t.left(90) + t.forward(size) + t.right(90) + t.forward(size) + draw_recursive_stairs(t, size, steps - 1) + +# draw_recursive_stairs(turtle, 20, 5) + +def draw_recursive_tree(t, size, größe): + if größe == 0: + return + t.forward(size) + t.left(30) + draw_recursive_tree(t, size * 0.7, größe - 1) + t.right(60) + draw_recursive_tree(t, size * 0.7, größe - 1) + t.left(30) + t.backward(size) +turtle.left(90) +draw_recursive_tree(turtle, 100, 5) \ No newline at end of file diff --git a/wiederholung.py b/wiederholung.py new file mode 100644 index 0000000..663c64d --- /dev/null +++ b/wiederholung.py @@ -0,0 +1,87 @@ + +# Aufgabe 1 +# 1. Erstellen sie eine Python Datei wiederholung.py +# 2. Ergänzen sie ein Programm dass "Hello World" ausgibt. +# 3. Ergänzen sie dass die Zahlen 1 bis 100 ausgegeben werden. +# 4. Schreiben sie ein Programm dass folgendes ausführt: esn wird eine Zahl eingelesen. Falls diese Zahl größer als 10 ist wird 2 dazu addiert, andernfalls wird die Zahl mit 2 multipliziert. Das Ergebnis wird ausgegeben. + +#2. +def Hello_World(): + print("Hello World") + +#3. +def print_numbers(): + for i in range(1, 101): + print(i) + +#4. +def calculate_result(): + zahl = int(input("Bitte geben Sie eine Zahl ein: ")) + if zahl > 10: + ergebnis = zahl + 2 + else: + ergebnis = zahl * 2 + print("Das Ergebnis ist:", ergebnis) + + +# Aufgabe 2 +# 1. Schreiben sie ein Programm, in dem im Array A die Werte 5,7,9,1 stehen +# 2. Geben sie das Array A aus. +# 3. Geben sie die Werte des Arrays A an dert zweiten Stelle aus. +# 4. Das Programm soll die 7 mit einer 3 ersetzen. + +# 1. +def create_array(): + A = [5, 7, 9, 1] + return A +# 2. +def print_array(): + A = create_array() + print("Array A:", A) + +# 3. +def print_second_element(): + A = create_array() + print("Wert an der zweiten Stelle:", A[1]) +# 4. +def replace_second_element(): + A = create_array() + A[1] = 3 + print("Array A nach Ersetzen:", A) + + +# Aufgabe 3 +# 1. Schreiben sie ein Programm in dem ein Array A mit 10 zufälligen Zahlen zwischen 1 und 10 erstellt wird. +# 2. Schreiben sie ein programm dass die Zahlen im Array der größe nach aufsteigend Sortiert und ausgibt. + + + + +# 1. +def print_random_array(): + import random + A = [random.randint(1, 50) for i in range(10)] + print("Array A mit zufälligen Zahlen:", A) + +# 2. +def sort_and_print(): + print() + + +Auswahl = input("Bitte wählen Sie eine Aufgabe:") +if Auswahl == "1.2": + Hello_World() +if Auswahl == "1.3": + print_numbers() +if Auswahl == "1.4": + calculate_result() +if Auswahl == "2.2": + print_array() +if Auswahl == "2.3": + print_second_element() +if Auswahl == "2.4": + replace_second_element() +if Auswahl == "3.1": + print_random_array() +if Auswahl == "3.2": + sort_and_print() \ No newline at end of file