Add content for kontrollstrukturen
This commit is contained in:
parent
a9c4fba8fa
commit
71c0710ba1
|
@ -1,12 +1,15 @@
|
||||||
---
|
<!--
|
||||||
title: Kontrollstrukturen
|
title: Kontrollstrukturen
|
||||||
description: Folien für Kontrollstrukture in Java
|
description: Folien für Kontrollstrukturen in Programmieren 1
|
||||||
url: https://git.haw-hamburg.de/pm1-tutorium/slides
|
url: https://git.haw-hamburg.de/pm1-tutorium/slides
|
||||||
---
|
header: Programmieren 1 **Tutorium**
|
||||||
|
_header: ""
|
||||||
|
footer: Henri Burau und Eva Meinen
|
||||||
|
-->
|
||||||
|
|
||||||
# **Kontrollstrukturen**
|
# Kontrollstrukturen
|
||||||
|
|
||||||
## Sequenz
|
## **Sequenz**
|
||||||
Alle Statements in einem Quelltext werden der Reihe nach ausgeführt.
|
Alle Statements in einem Quelltext werden der Reihe nach ausgeführt.
|
||||||
|
|
||||||
**Statements** Durch `;` getrennter Quelltext
|
**Statements** Durch `;` getrennter Quelltext
|
||||||
|
@ -19,7 +22,7 @@ int x = 123 + x; //2. Statement
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Selektion
|
## **Selektion**
|
||||||
Es wird selektiert welche Statements ausgeführt werden.
|
Es wird selektiert welche Statements ausgeführt werden.
|
||||||
|
|
||||||
### if
|
### if
|
||||||
|
@ -81,15 +84,90 @@ switch(wochentag) {
|
||||||
case "Sonntag":
|
case "Sonntag":
|
||||||
System.out.printf("Es ist Wochenende 🎉");
|
System.out.printf("Es ist Wochenende 🎉");
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
System.out.printf("Diesen Tag gibt es nicht");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Iteration
|
## **Iteration**
|
||||||
|
Es können Statements wiederholt werden. Iterative Kontrollstrukturen werden
|
||||||
|
Schleifen genannt. Schleifen können folgende Eigenschaften haben:
|
||||||
|
|
||||||
|
* **Kopfgesteuert** Die Bedingung der Schleife wird im Kopf überprüft.
|
||||||
|
* **Fußgesteuert** Die Bedingung der Schleife wird im Fuß überprüft.
|
||||||
|
* **Abweisend** Die Schleife wird nicht durchlaufen.
|
||||||
|
* **Positiv bedingt** Die Schleife wird durchgeführt solange die Bedingung wahr ist.
|
||||||
|
* **Negativ bedingt** Die Schleife wird durchgeführt solange die Bedingung falsch ist.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### for
|
||||||
|
|
||||||
|
* **Kopfgesteuert**
|
||||||
|
* **Positiv bedingt**
|
||||||
|
|
||||||
|
```java
|
||||||
|
for(int i = 0; i < 10; i++) {
|
||||||
|
System.out.printf("%d%n", i);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Oder in der kurzen Schreibweise:
|
||||||
|
for(int i = 0; i < 10; i++) System.out.printf("%d%n", i);
|
||||||
|
```
|
||||||
|

|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### while
|
||||||
|
|
||||||
|
* **Kopfgesteuert**
|
||||||
|
* **Positiv bedingt**
|
||||||
|
|
||||||
|
```java
|
||||||
|
int i = 0;
|
||||||
|
while(i < 10) {
|
||||||
|
System.out.printf("%d%n", i);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### do-while
|
||||||
|
|
||||||
|
* **Fußgesteuert**
|
||||||
|
* **Positiv bedingt**
|
||||||
|
|
||||||
|
```java
|
||||||
|
int i = 0;
|
||||||
|
do {
|
||||||
|
System.out.printf("%d%n", i);
|
||||||
|
i++;
|
||||||
|
} while(i < 10)
|
||||||
|
```
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## **Aufgaben**
|
||||||
|
|
||||||
|
1) Schreibe eine Methode `public static void divide(int quotient, int dividend)` welche das Ergebnis der Division auf die Konsole ausgibt. Achte darauf, dass nicht durch 0 geteilt wird und ggebe eine Warnung über die Nulldivision auf der Konsole aus.
|
||||||
|
|
||||||
|
2) Schreibe eine Methode `public static void calculator(char operator, int number1, int number2)` welche das Ergebnis der Operation auf der Konsole ausgibt. Die durchgeführte Operation hängt von dem Wert der Variable `operator` ab.
|
||||||
|
Bsp: `calculator('*', 3, 4)` schreibt auf die Konsole: `3 * 4 = 12`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
3) Schreibe eine Methode `public static void ggT(int a, int b)` welche den ggT von zwei Zahlen berechnet. Benutze dafür den Algorithmus von [Euklid](https://de.wikipedia.org/wiki/Euklidischer_Algorithmus#Iterative_Variante).
|
||||||
|
|
||||||
|
4) Schreibe eine Methode `public static void printAscii()` welche die Ascii-Werte der Zahlen von 0 bis 122 ausgibt.
|
||||||
|
|
||||||
Kontrollstrukturen V1F60
|
|
||||||
* Sequenz
|
|
||||||
* Selektion V2F81
|
|
||||||
* Wiederholung (Iteration)
|
|
||||||
|
|
Loading…
Reference in New Issue