Merge branch 'master' of git.haw-hamburg.de:pm1-tutorium/slides

This commit is contained in:
Henri Burau 2020-06-17 11:13:15 +02:00
commit e17387e281
7 changed files with 179 additions and 3 deletions

63
enums.md Normal file
View File

@ -0,0 +1,63 @@
<!--
title: Enums
description: Folien für Enums in Programmieren 1
url: https://git.haw-hamburg.de/pm1-tutorium/slides
header: Programmieren 1 **Tutorium**
footer: Henri Burau und Eva Meinen
-->
# Enums
Enums sind besondere Arten von Klassen, die eine Gruppe von Konstanten repräsentieren.
---
## Deklaration
```java
enum Direction {
NORTH,
EAST,
SOUTH,
WEST
}
```
---
## Benutzung
```java
Direction artic = Direction.NORTH;
```
oder
```java
import static Direction.*;
...
Direction malle = SOUTH;
```
---
## Methoden
Da Enums Klassen sind können sie auch Methoden deklarieren.
```java
enum Direction {
NORTH,
EAST,
SOUTH,
WEST
public String ascii() {
switch(this) {
case NORTH: return "^\n|";
case EAST: return "->";
case SOUTH: return "|\nv";
case WEST: return "<-";
}
}
}
```

BIN
img/Barn-Generics.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 400 KiB

3
img/farm_diagramm.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 15 KiB

16
klassendiagramm.md Normal file
View File

@ -0,0 +1,16 @@
<!--
title: Klassendiagramme
description: Folien für Klassendiagramme in Programmieren 1
url: https://git.haw-hamburg.de/pm1-tutorium/slides
header: Programmieren 1 **Tutorium**
footer: Henri Burau und Eva Meinen
-->
# UML-Klassendiagramme
**Unified Modeling Language (UML)** gibt viele verschiedene Definitionen von Diagrammen für die Nutzung in der Informatik vor. Darunter auch für Klassen.
---
![bg 70%](https://git.haw-hamburg.de/pm1-tutorium/slides/-/raw/master/img/farm_diagramm.svg)

View File

@ -45,13 +45,13 @@ Methoden werden über ihren Identifier aufgerufen. Alle deklarierten Parameter *
```java ```java
public void main(String[] args) { public void main(String[] args) {
int sides = 10; int radius = 10;
int area = getSpuareArea(sides); double area = getCircleArea(radius);
System.out.printf("The area of the square is %d", area); System.out.printf("The area of the square is %d", area);
} }
public double getCircleArea(double radius) { public double getCircleArea(double radius) {
int result = 3.141 * radius * radius; double result = 3.141 * radius * radius;
return result; return result;
} }
``` ```

51
termin-10.md Normal file
View File

@ -0,0 +1,51 @@
<!--
title: Termin 9
description: Folien für das erste Tutorium in Programmieren 2
url: https://git.haw-hamburg.de/pm2-tutorium/slides
header: Programmieren 1 **Tutorium**
footer: Henri Burau und Eva Meinen
-->
# Tutorium Termin 10
* Gitlab (Folien-Quellcode) https://git.haw-hamburg.de/pm1-tutorium/slides
* Lösungen der Aufgaben https://git.haw-hamburg.de/pm1-tutorium/code
---
# Ablauf
- Fragen
- Online-Fragen
- Themen
* UML-Klassendiagramme
* Dynamic Stack
* Enums
---
# Fragen
---
# Online Fragen
arsnova.eu/mobile
Code: 13 84 44 10
---
# Implementierung StringStack
- Wir wollen zuerst gemeinsam und dann einzeln die Klasse `StringStack` implementieren
- Ein `StringStack` besteht aus mehreren `StringNode`s, die einen `String` und den nachfolgenen `StringNode` halten
- Methoden: `push(String)`, `boolean isEmpty()`, `String pop()`, `String top()`, `int getDepth()` und `boolean contains(String)`
---
# Angebot: Übungsaufgaben ViaMint
- auf viamint.haw-hamburg.de (Anmeldung mit aKennung)
- E-Assessment -> Programmieren 1 Tutorium (SHF) -> Termin10

43
termin-11.md Normal file
View File

@ -0,0 +1,43 @@
<!--
title: Termin 11
description: Folien für Termin11 in Programmieren 1
url: https://git.haw-hamburg.de/pm1-tutorium/slides
header: Programmieren 1 **Tutorium**
footer: Henri Burau und Eva Meinen
-->
# Tutorium Termin 11
* Gitlab (Folien-Quellcode) https://git.haw-hamburg.de/pm1-tutorium/slides
* Lösungen der Aufgaben https://git.haw-hamburg.de/pm1-tutorium/code
---
# Ablauf
- Fragen
- Online-Fragen
- Themen
* Generizität
---
# Fragen
---
# Online Fragen
arsnova.eu/mobile
Code: 47 49 74 97
---
- Implementiere das Softwaresystem aus dem Klassendiagramm.
- Tiere aus der `Barn` sind `300 Money` wert, Tiere aus der `FreeRangeBarn` das doppelte.
- Füge ein `Chicken`hinzu und ändere die Geräusche der Tiere:
- `Cow` = `Moo`
- `Sheep` = `Baa`
- `Chicken` = `Bok Bok`
![bg right:50% 90%](https://git.haw-hamburg.de/pm1-tutorium/slides/-/raw/master/img/Barn-Generics.png)