This commit is contained in:
Jonas_Jones 2023-11-04 18:22:06 +01:00
parent fb59dad916
commit acb0ab3b66
3 changed files with 154 additions and 0 deletions

65
EPR/ue01/README.md.txt Normal file
View file

@ -0,0 +1,65 @@
author: 7987847, Werner
Aufgabe 1
---
a. Lauffähig: ja, Ausgabe: Größer als 5
b. Lauffähig: nein, Fehlerklasse: TypeError, Begründung: 4,2 wird zu einem Tupel, da ein Komma und kein Punkt verwendet wird. Tupel können nicht mit einem Integer verglichen werden.
c. Lauffähig: nein, Fehlerklasse: NameError, Begründung: Die Variable "b" wurde nicht definiert.
d. Lauffähig: ja, Ausgabe: b gibt True
Aufgabe 2
---
Das Programm berechnet die für die Klausur angerechneten Bonuspunkte von EPR und GPR.
Zur Nutzung muss eine kompatible Python version installiert sein.
Akzeptiert werden alle Python 3.x Versionen.
Das Programm kann mit dem Befehl `python3 main.py` im Ordner gestartet werden.
Nach dem Aufrufen wird zunächst nach der Anzahl der EPR, GPR und Zur Klausur notwendige Bonus-Punkten gefragt.
Diese müssen als Integer angegeben werden.
Hinweis: Es kommt zu einem Fehler, wenn kein Integer angegeben wird und das Programm wird abgebrochen.
Hinweis: Es kommt zu einem Fehler wenn die Anzahl der Bonuspunkte für EPR oder GPR nicht im Bereich 0-110 liegt. oder die Zur Klausur notwendigen Bonuspunkte nicht im positiven Zahlenbereich liegt.
Das Programm berechnet dann die Anzahl der Bonuspunkte, die für die Klausur angerechnet werden.
Testfälle:
Im Programmcode sind zu jeder der beiden Mittel jeweils 3 Testfälle angegeben.
PEP8:
Der Programmcode ist soweit wie möglich nach PEP8 abgestimmt.
Von der Aufgabe vorgegebene Funktions- und Variablennamen wurden beibehalten.
Aufgabe 3
---
Das Programm üperprüft, ob die kleinere von zwei Zahlen durch 2, 4 oder 8 teilbar.
Zur Nutzung muss eine kompatible Python version installiert sein.
Akzeptiert werden alle Python 3.x Versionen.
Das Programm kann mit dem Befehl `python3 main.py` im Ordner gestartet werden.
Nach dem Aufrufen wird Aufgabe 2 ausgeführt.
Danach wird nach zwei Zahlen nacheinander gefragt.
Diese müssen als Integer angegeben werden.
Hinweis: Es kommt zu einem Fehler, wenn kein Integer angegeben wird und das Programm wird abgebrochen.
Das Programm überprüft dann, ob die kleinere der beiden Zahlen durch 2, 4 oder 8 teilbar ist.
Es wird dann ausgegeben, ob die Zahl durch 2, 4 oder 8 teilbar ist.
Testfälle:
Im Programmcode sind zu jeder der beiden Mittel jeweils 3 Testfälle angegeben.
PEP8:
Der Programmcode ist soweit wie möglich nach PEP8 abgestimmt.
Von der Aufgabe vorgegebene Funktions- und Variablennamen wurden beibehalten.

84
EPR/ue01/main.py Normal file
View file

@ -0,0 +1,84 @@
'''EPR Übungsblatt 01'''
__author__ = "7987847, Werner"
# Aufgabe 2
def bonuspunkte_rechner(bp_epr: int, bp_gpr: int, zbnp: int) -> int:
'''
Berechnet die Anzahl der Bonuspunkte
:param bonuspunkte_epr: Bonuspunkte EPR
:param bonuspunkte_gpr: Bonuspunkte GPR
:param zbnp: Zum bestehen benötigte Punkte
:return: Anzahl der Bonuspunkte
'''
# Überprüfung, ob die Werte im erlaubten Bereich liegen
if bp_epr not in range(0, 111) or bp_gpr not in range(0, 111) or zbnp < 0:
raise ValueError("Die Werte sind nicht im erlaubten Bereich.")
return int(min(zbnp/4, (bp_epr+bp_gpr)/14))
print("Rechner zur Berechnung der Bonuspunkte für EPR und GPR")
epr_bp = int(input('Bitte geben Sie die Bonuspunkte EPR ein: '))
epr_bp = int(input('Bitte geben Sie die Bonuspunkte GPR ein: '))
zbnp_ = int(input('Bitte geben Sie die zum Bestehen benötigten Punkte ein: '))
bonuspunkte = bonuspunkte_rechner(epr_bp, epr_bp, zbnp_)
ergebnis_text = f"Die Anzahl der Bonuspunkte für die Klausur: {bonuspunkte}"
print(ergebnis_text)
# Testfälle
# Einfacher Aufruf mit 0
# bonuspunkte_rechner(0, 0, 0)
# Ausgabe: 0
# Aufruf mit Dezimalzahlen und negativen Zahlen
# bonuspunkte_rechner(-3.6, 3.14, 0)
# Ausgabe: ValueError: Die Werte sind nicht im erlaubten Bereich.
# Aufruf mit realen Werten
# bonuspunkte_rechner(89, 102, 50)
# Ausgabe: 12
# Aufgabe 3
def aufgabe_3(zahl_1:int, zahl_2:int) -> None:
'''
Prüft ob die kleinere Zahl durch 2, 4 oder 8 teilbar ist
'''
kleinere_zahl = min(zahl_1, zahl_2)
ist_teilbar = False
# Überprüfung, ob die kleinere Zahl durch 2, 4 oder 8 teilbar ist
if kleinere_zahl % 8 == 0:
print(f"{kleinere_zahl} ist durch 8 teilbar.")
ist_teilbar = True
if kleinere_zahl % 4 == 0:
print(f"{kleinere_zahl} ist durch 4 teilbar.")
ist_teilbar = True
if kleinere_zahl % 2 == 0:
print(f"{kleinere_zahl} ist durch 2 teilbar.")
ist_teilbar = True
if not ist_teilbar:
print(f"{kleinere_zahl} ist weder durch 2, 4 noch 8 teilbar.")
print("Rechner zur Prüfung ob die kleinere Zahl durch 2, 4 oder 8 teilbar ist")
aufgabe_3(int(input("Bitte geben Sie die erste Zahl ein: ")),
int(input("Bitte geben Sie die zweite Zahl ein: ")))
# Testfälle
# Einfacher Aufruf mit 0
# aufgabe_3(0, 0)
# Ausgabe: 0 ist durch 8 teilbar.
# 0 ist durch 4 teilbar.
# 0 ist durch 2 teilbar.
# Aufruf mit Dezimalzahlen und negativen Zahlen
# aufgabe_3(-3.6, 3.14)
# Ausgabe: ValueError: Es muss ein Integer übergeben werden.
# Aufruf mit natürlichen Werten
# aufgabe_3(89, 102)
# Ausgabe: 89 weder durch 2, 4 noch 8 teilbar.

5
EPR/ue01/temp.py Normal file
View file

@ -0,0 +1,5 @@
a = 5
b = 10
if b:
print("b gibt True")
else: print("b gibt False")