mirror of
https://github.com/JonasunderscoreJones/EPI-2324.git
synced 2025-10-23 20:59:19 +02:00
ue1
This commit is contained in:
parent
fb59dad916
commit
acb0ab3b66
3 changed files with 154 additions and 0 deletions
65
EPR/ue01/README.md.txt
Normal file
65
EPR/ue01/README.md.txt
Normal 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
84
EPR/ue01/main.py
Normal 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
5
EPR/ue01/temp.py
Normal file
|
@ -0,0 +1,5 @@
|
|||
a = 5
|
||||
b = 10
|
||||
if b:
|
||||
print("b gibt True")
|
||||
else: print("b gibt False")
|
Loading…
Add table
Add a link
Reference in a new issue