2024-06-27 17:01:40 +02:00
|
|
|
# Live-Übung 1
|
|
|
|
Sie haben morgen ein Mathetest, aber ihre Taschenrechner ist lehr.
|
|
|
|
Sie haben keine Batterien zu Hause.
|
|
|
|
Sie können zwar morgen neue Batterien auf dem Weg zu Schule
|
|
|
|
kaufen, aber heute brauchen Sie noch eine Alternative.
|
|
|
|
|
|
|
|
## Calculator
|
|
|
|
Schreiben Sie eine Methode `calculate`, die die grundsätzlichen
|
|
|
|
Rechenarten mit zwei Zahlen ausführen kann. Man übergibt die zwei Zahlen
|
|
|
|
und der operator.
|
|
|
|
Verwenden Sie dabei eine `switch-case`.
|
|
|
|
|
|
|
|
Rechnenarten: Addition, Substraktion, Multiplikation, Division,
|
|
|
|
Modulo.
|
|
|
|
|
|
|
|
```go
|
|
|
|
// Beispiele
|
|
|
|
package main
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
calculate(2, 5, '+') // 7
|
|
|
|
calculate(2, 5, '-') // -3
|
|
|
|
calculate(2, 5, '*') // 10
|
|
|
|
calculate(10, 5, '/') // 2
|
|
|
|
calculate(5, 3, '%') // 2
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
# Live-Übung 2
|
|
|
|
Sie möchten einen Code schreiben, dass Studenten erstellen kann mit
|
|
|
|
bestimmten Daten, es kann Sie auch grüßen und Sie einfach ausgeben mit allem
|
|
|
|
angegebene Daten.
|
|
|
|
|
|
|
|
## Student
|
|
|
|
Erstellen Sie eine Klasse Student in Go, die die folgenden Attribute hat:
|
|
|
|
- Vorname
|
|
|
|
- Nachname
|
|
|
|
- Matrikelnummer
|
|
|
|
- Alter
|
|
|
|
|
|
|
|
Die Klasse soll einen Konstruktor haben,
|
|
|
|
der alle Attribute initialisiert.
|
|
|
|
Außerdem soll eine Methode `Greet` erstellt werden,
|
|
|
|
die eine Begrüßungsnachricht mit dem Namen des Studenten zurückgibt.
|
|
|
|
Überschreiben Sie die `string-Methode`, um eine lesbare Darstellung des Studenten zurückzugeben.
|
|
|
|
|
|
|
|
```go
|
|
|
|
func main() {
|
|
|
|
student := NewStudent("Franz", "Herta", "123456", 20)
|
|
|
|
|
|
|
|
fmt.Println(student.Greet()) // Hallo, mein Name ist Franz Herta
|
|
|
|
|
|
|
|
fmt.Println(student) // Student: Franz Herta, Matrikelnummer: 123456, Alter: 20
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
# Live-Übung 3 (Alternativ)
|
|
|
|
Ich sage nur drei Wörter: `Schnick`...`Schnack`...`Schnuck`
|
|
|
|
|
|
|
|
## R-P-S
|
|
|
|
Schreiben Sie ein einfaches Spiel, bei dem Sie gegen den Computer Schnick-Schnack-Schnuck spielen (auch Rock, Paper, Scissors genannt) in Go:
|
|
|
|
|
|
|
|
- Das Spiel geht über drei Runden.
|
|
|
|
- Es fragt den Spieler nach seiner Auswahl (r, p, s).
|
|
|
|
- Der Computer zieht zufällig eine der drei Möglichkeiten.
|
|
|
|
- Nach jeder Runde sagt das Spiel, wer welche Möglichkeit gewählt hat und wer die Runde gewonnen hat.
|
|
|
|
- Ein Sieg bringt einen Punkt, ein Unentschieden 0 Punkte.
|
|
|
|
- Die Punkte jeder Runde werden addiert.
|
|
|
|
- Am Ende wird der Gesamtpunktestand ausgegeben.
|
|
|
|
|
|
|
|
```text
|
|
|
|
Runde 1: Dein Zug ([r]rock, [p]aper, [s]cissors)? r
|
|
|
|
Der Computer hat gewonnen - Du: ROCK, Computer: PAPER - [0:1]
|
|
|
|
|
|
|
|
Runde 2: Dein Zug ([r]rock, [p]aper, [s]cissors)? p
|
|
|
|
Unentschieden - Du: PAPER, Computer: PAPER - [0:1]
|
|
|
|
|
|
|
|
Runde 3: Dein Zug ([r]rock, [p]aper, [s]cissors)? s
|
|
|
|
Du hast gewonnen: Du: SCISSORS, Computer: PAPER - [1:1]
|
|
|
|
|
|
|
|
Ergebnis - Du 1 Punkt(e), Computer 1 Punkt(e)
|
|
|
|
```
|
|
|
|
|
|
|
|
Verwenden Sie dazu mindestens:
|
|
|
|
- Konstanten
|
|
|
|
- Switch - case
|
|
|
|
- Schleifen
|