mirror of
https://github.com/LukasKalbertodt/programmieren-in-rust.git
synced 2024-11-18 02:48:58 +01:00
Add two tasks (first sheet)
This commit is contained in:
parent
4edac30ed1
commit
56d33bbf21
65
aufgaben/sheet1/task1/README.md
Executable file
65
aufgaben/sheet1/task1/README.md
Executable file
@ -0,0 +1,65 @@
|
||||
Aufgabe 1.1: Git und Rust einrichten
|
||||
====================================
|
||||
|
||||
In dieser Aufgabe geht es lediglich darum, das Git-Repository richtig
|
||||
einzurichten.
|
||||
|
||||
|
||||
## Zugriff auf Repository bekommen
|
||||
|
||||
Zunächst muss ich euch ein Repository erstellen. Dazu müsst ihr euch zuerst im
|
||||
Testattool eingetragen haben und mir dann eine E-Mail schreiben. Die E-Mail
|
||||
sollte lediglich folgenden Inhalt haben:
|
||||
|
||||
```
|
||||
pir-task-{{a_rz}}-{{b_rz}}
|
||||
{{a_gh}}
|
||||
{{b_gh}}
|
||||
```
|
||||
|
||||
Hierbei stehen `{{a_rz}}` und `{{b_rz}}` für eure RZ-Logins. Ein Beispiel:
|
||||
`pir-task-wwacker-ssorglos`. `{{a_gh}}` und `{{b_gh}}` sind eure
|
||||
GitHub-Accountnamen (z.B. WilliWacker und SusiSorglos). Falls ihr noch keinen
|
||||
GitHub-Account habt, müsst ihr euch einen erstellen.
|
||||
|
||||
Nachdem ihr mir diese E-Mail geschickt habt, sollte ich irgendwann dazu kommen,
|
||||
euch ein Repository zu erstellen und euch Zugriff darauf zu gewähren. Darüber
|
||||
werdet ihr von GitHub per E-Mail benachrichtigt.
|
||||
|
||||
|
||||
## Forken und Klonen
|
||||
|
||||
Sobald ihr die Einladung akzeptiert und Zugriff auf das Repository habt, müsst
|
||||
ihr dieses Repository *forken*. Das geschieht durch den Klick auf den
|
||||
Fork-Button direkt auf GitHub. Diesen Fork müsst ihr nun auf euren lokalen PC
|
||||
klonen, sodass ihr lokal arbeiten könnt. Dies passiert in etwa so:
|
||||
|
||||
```
|
||||
git clone git@github.com:WilliWacker/pir-task-wwacker-ssorglos.git
|
||||
```
|
||||
|
||||
Die URL findet ihr direkt auf GitHub. Stellt sicher, dass ihr die SSH-URL
|
||||
benutzt (und nicht HTTPS). Neue GitHub-Benutzer müssen sich sehr wahrscheinlich
|
||||
einmal durch [dieses Tutorial][ssh-key-help] durcharbeiten, um einen SSH-Key
|
||||
einzurichten.
|
||||
|
||||
Vergewissert euch außerdem, dass in der URL, die ihr klont, kein
|
||||
"LukasKalbertodt" zu finden ist. Ihr müsst euren Fork klonen, nicht das
|
||||
originale Repository, was unter meinem Account zu finden ist.
|
||||
|
||||
Wenn das alles geklappt hat, solltet ihr euer fertig geklontes Repository
|
||||
sehen; darin findet ihr einen Ordner `ci`, sowie ein paar andere Dateien.
|
||||
|
||||
[ssh-key-help]: https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/
|
||||
|
||||
|
||||
## Die eigentliche Aufgabe
|
||||
|
||||
Verändert die beiden Dummy-Namen in der `README.md` zu euren richtigen Namen.
|
||||
Diese Veränderung muss in einem Commit festgehalten werden, welchen ihr dann
|
||||
schon auf GitHub pushen sollt. Danach könnt ihr bereits auf GitHub einen
|
||||
PR öffnen, um zu sehen, ob alles klappt.
|
||||
|
||||
Wenn alles gut aussieht, könnt ihr die zweite Aufgabe bearbeiten. Die Commits
|
||||
der zweiten Aufgabe pusht ihr einfach auch auf GitHub – der PR wird
|
||||
automatisch aktualisiert.
|
22
aufgaben/sheet1/task2/README.md
Executable file
22
aufgaben/sheet1/task2/README.md
Executable file
@ -0,0 +1,22 @@
|
||||
Aufgabe 1.2: Collatz
|
||||
====================
|
||||
|
||||
Schreibt ein Programm, das für die Zahl 27 alle Schritte des
|
||||
Collatz-Algorithmus ausgibt. Die Ausgabe soll in der Form `x -> y` geschehen,
|
||||
wobei `x` ein Zähler ist, welcher den aktuellen Schritt anzeigt, und `y` für
|
||||
den aktuellen Wert der Eingabezahl steht.
|
||||
|
||||
Der Algorithmus für die Zahl 5 wäre also:
|
||||
|
||||
```
|
||||
1 -> 16
|
||||
2 -> 8
|
||||
3 -> 4
|
||||
4 -> 2
|
||||
5 -> 1
|
||||
```
|
||||
|
||||
Die "Eingabezahl" soll direkt im Quellcode notiert werden, also *nicht*
|
||||
vom Nutzer eingelesen werden.
|
||||
|
||||
Die Aufgabe soll in einer Datei namens `collatz.rs` gelöst werden.
|
Loading…
Reference in New Issue
Block a user