From 6546bddadf9f17717c7fc6718970f51887af5fdd Mon Sep 17 00:00:00 2001 From: Nils Pukropp Date: Fri, 10 Nov 2023 01:46:07 +0100 Subject: [PATCH] added tut04 --- Tutorium/tut04/README.md | 53 ++++++++++++++++++++++++++++++++++ Tutorium/tut04/points_ex2.png | Bin 0 -> 18367 bytes Tutorium/tut04/points_ex3.png | Bin 0 -> 17784 bytes 3 files changed, 53 insertions(+) create mode 100644 Tutorium/tut04/points_ex2.png create mode 100644 Tutorium/tut04/points_ex3.png diff --git a/Tutorium/tut04/README.md b/Tutorium/tut04/README.md index e69de29..975384d 100644 --- a/Tutorium/tut04/README.md +++ b/Tutorium/tut04/README.md @@ -0,0 +1,53 @@ +# Tutorium 04 - 10.11.2023 + +## [Exercise 02](https://proglang.informatik.uni-freiburg.de/teaching/info1/2023/exercise/sheet02.pdf) und [Exercise 03](https://proglang.informatik.uni-freiburg.de/teaching/info1/2023/exercise/sheet03.pdf) + +### Punkteverteilung Exercise 02 + +![image not found](points_ex2.png) + +### Punkteverteilung Exercise 03 + +![image not found](points_ex3.png) + +### Häufige Fehler + +- **Schaut genau was muss ausgegeben werden!!!** +- Achtet auf den Build-Output + - **Linter-Error?** (-0.5 Punkte pro Datei) + - **Syntax-Error?** (0 Punkte ab Exercise 4) + - **Stunden eingetragen?** (-0.5 Punkte) +- lest euch die Aufgaben genau durch +- kommentiert keinen Quellcode aus, lasst ihn weg, oder lasst ihn stehen +- Testet euren Code mit `assert` + - später lernen wir noch bessere Tests kennen + - lasst eure `assert` nicht einfach in der Logik stehen! + +#### Wrong + +```py +def some_function(arg): + assert arg <= 360 + return calculate(arg) +``` + +#### Right (*kind of*) + +```py +def some_function(arg) -> float: + return calculate(arg) + +if __name__ == "__main__": + assert some_function(0.69) <= 42 + assert some_function(0.420) <= 1337 +``` + +## Vorstellen/Vorrechnen + +- mz242 +- vb205 + +## [Exercise 04](https://proglang.informatik.uni-freiburg.de/teaching/info1/2023/exercise/sheet04.pdf) + +- Abgabe Montag 9:00 im [Git](https://git.laurel.informatik.uni-freiburg.de/) +- Fragen? diff --git a/Tutorium/tut04/points_ex2.png b/Tutorium/tut04/points_ex2.png new file mode 100644 index 0000000000000000000000000000000000000000..f89056fb6d83b96a72d5d881ef6d92873629b981 GIT binary patch literal 18367 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 GPyIVkoBg{0 literal 0 HcmV?d00001