Hevin Coskun 2024-12-14 22:26:46 +01:00
commit 6d1529ba0d
4 changed files with 112 additions and 0 deletions

29
README.md 100644
View File

@ -0,0 +1,29 @@
# Nim Vorlesung
Willkommen zur Nim Vorlesung! Dieses Repository enthält alle wichtigen Informationen, Materialien und die dazugehörigen Übungen für die Vorlesung.
Aus zeitlichen Gründen empfehlen wir die Verwendung eines [Online Compilers][1] für das Bearbeiten der Aufgaben.
Die Vorlesungsfolien finden Sie [hier.](./skript/praesentation.pdf)
## Live-Übungen
Die Übungsaufgaben
| # | Thema | Musterlösung |
| --- | ------------------------- | ------------------------------------------------ |
| 1. | [Datentypen und Verzweigungen][2] | [Click me!](./live/solutions/operatoren.nim) |
| 2. | [Bedingungen][3] | [Click me!](./live/solutions/bedingungen.nim) |
| 3. | [Prozeduren][4] | [Click me!](./live/solutions/klassen.nim) |
| 4. | [Zusammenfassung][5] | [Click me!](./live/solutions/recap.nim) |
## Links:
- [Nim Download](https://nim-lang.org/install.html)
- [Online Compiler][1]
[1]: https://www.jdoodle.com/execute-nim-online
[2]: ./live/DatentypenUndVerzweigungen.md
[3]: ./live/bedingungen.md
[4]: ./live/Prozeduren.md
[5]: ./live/recap.md

15
WerMachtWas 100644
View File

@ -0,0 +1,15 @@
David: Control Flow Statement
Daniel: Advanced Datatypes (die die du nicht kennst nimmst du)
Hevin: Procedures / iterators
Lukas S.: Exeptions
Lukas B.:
Christian A. : Generics und templates
Lakshan : oo Programmieren
Was wir noch brauchenh
- Internal type representation
- part 3 als info

View File

@ -0,0 +1,30 @@
# Datentypen und Verzweigungen
1. Berechne dein Alter in Tagen
Aufgabe: Erstelle eine Variable mit deinem Alter in Jahren und berechne dein Alter in Tagen. Verwende 365 Tage für ein Jahr.
Hinweis: Speichere dein Alter in einer unveränderbaren Variable (let) und multipliziere es mit 365.
Dateiname: age_in_days.nim
_________________________________________________________________________________________________________________
2. Prüfe, ob dein Alter durch 4 teilbar ist
Aufgabe: Überprüfe, ob dein Alter durch 4 teilbar ist. Gib eine entsprechende Nachricht aus.
Hinweis: Nutze den Modulo-Operator (mod) für die Berechnung.
Dateiname: age_divisible_by_4.nim
_________________________________________________________________________________________________________________
3. Gehaltsvergleich: Alice und Bob
Aufgabe: Berechne, wer in 30 Tagen mehr verdient: Alice oder Bob.
Alice verdient $400 alle 15 Tage.
Bob verdient $3.14 pro Stunde, arbeitet 8 Stunden pro Tag, 7 Tage die Woche.
Hinweis: Nutze eine Formel, um die Gesamtverdienste von Alice und Bob zu berechnen, und vergleiche sie mit einem if-Statement.
Dateiname: alice_vs_bob.nim

38
live/Prozeduren.md 100644
View File

@ -0,0 +1,38 @@
# Prozeduren
1. Übung: Fibonacci-Zahlen
Erstelle eine Prozedur, die die Fibonacci-Zahl an einer gegebenen Stelle berechnet.
Aufgabe:
Erstelle eine Prozedur fibonacci(n: int): int, die die Fibonacci-Zahl an der Stelle n berechnet (die Fibonacci-Zahlen beginnen mit 0, 1, 1, 2, 3, 5, 8, ...).
Hinweis:
fibonacci(0) = 0
fibonacci(1) = 1
fibonacci(n) = fibonacci(n-1) + fibonacci(n-2) für n > 1
_______________________________________________________________________________________
2. Übung: Palindrom-Überprüfung
Erstelle eine Prozedur, die überprüft, ob ein gegebener String ein Palindrom ist (d.h., der String liest sich von vorne und hinten gleich).
Aufgabe:
Erstelle eine Prozedur isPalindrome(s: string): bool, die überprüft, ob der übergebene String ein Palindrom ist.
Hinweis:
Du kannst die Nim-Funktion reverse(s) verwenden, um einen String umzukehren.
_______________________________________________________________________________________
3. Übung: Erstelle eine Prozedur, die das kleinste Element in einer Liste von Ganzzahlen findet.
Aufgabe:
Erstelle eine Prozedur findMin(numbers: seq[int]): int, die das kleinste Element in der Liste let numbers = @[5, 40, 1, -3. 9, 30, -5] findet.
Hinweis:
Du kannst mit einer Variablen beginnen, die den ersten Wert der Liste speichert.