# Magische Übungen für kleine Senpais
Lösen sie die Aufgaben und schicken sie die Lösungen als .txt Datei an eine(XOR) der folgenden
Email: rakiminki@googlemail.com
Discord: rakiminki#8570
## Zum Lösen aller Aufgaben müssen ordentliche Variablennamen verwendet werden, wenn es keine kurzlebigen Variablen sind(Punkteabzug)
### Aufgabe 1 Modulodivison(%) und Zufallszahlen(Random)
==2/3 Punkte==
##### Zum Lösen der Aufgabe MUSS eine(oder mehrere) Modulodivision(en) benutzt werden. Achten sie auf modifizierbarkeit und sauberen Kot. Punkteabzug bei globalen Variablen und Missachten der Regeln.
#### a)
1 Punkt Fehlerfrei erledigt (1 Punkt)
##### Der Oger Justin würde gerne Käse essen, allerdings Isst er nur wenn er an jedem seiner (5) Finger eine Scheibe Käse hat. Generieren sie sich eine Zufallszahl von 1 bis 100 und geben sie die Zahl aus.
#### b)
2 Punkte Erster Teil Fehlerfrei Zweiter Teil mit starken Mängeln (1 Punkte)
##### Geben sie aus wie oft er essen kann und wieviel Käse er noch braucht um einen weiteren Essvorgang durchzuführen.
```java
Beispiel für Random:
//Ausgabe von einer Zufallszahl von 1 bis 100;
Random r = new Random();
int i = (int) (r.NextDouble()*100)+1;
Console.WriteLine(i);
```
```java
Beispiel für Modulodivison:
Wie in der Grundschule
10/3 = 3 R 1
10%3 = 1
15/5 = 3 R 0
15%5 = 0
8/3 = 2 R 2
8%3 = 2
```
### Aufgabe 2 Vergleichsoperatoren
==1.5/1.5Punkte==
1,5 Punkte Fehlerfrei gelöst (1,5 Punkte)
```java
&& AND
|| OR
== EQUALS
^ XOR
! NOT
```
#### a)
#### Lösen sie mit Rechenweg: (!false) && (false || (!false)) == true && (false || true) == true && true == true
### Aufgabe 3 Switch Case
==3/3 Punkte==
```java
Beispiel für switch Case
Die Ausgabe ist "Poker"
int zahl = 4;
switch(zahl){
case 1: Console.WriteLine("Haus"); break;
case 2: Console.WriteLine("Baum"); break;
case 3: Console.WriteLine("Klaus"); break;
case 4: Console.WriteLine("Poker"); break;
}
```
#### a)
1 Punkt Fehlerfrei erledigt (1 Punkt)
#### Lassen sie sich vom Benutzer eine ganzzahlige Zahl eingeben.
#### b)
2 Punkte Fehlerfrei erledigt (2 Punkte)
#### Geben sie entsprechend der eingegeben Zahl mithilfe von switch-case den entsprechenden Monat aus und falls die Zahl ungültig ist : "Den Monat gibt's nicht."
### Aufgabe 4 Schleifen
Theorie:
Wenn (fast) dieselben Anweisungen mehrfach auszuführen (= zu iterieren) sind, verwendet man Wiederholungsanweisungen oder Schleifen. Grundsätzlich gibt es drei verschiedene Arten:
- zählende Schleifen: vor Beginn der ersten Iteration einer Schleife wird festgelegt, wie oft der Rumpf auszuführen ist (nur eine Pseudoumsetzung in C#/Java);
- Prätest-Schleifen: zu Beginn jeder Iteration wird geprüft, ob diese Iteration stattfinden soll;
- Posttest-Schleifen: am Ende jeder Iteration wird festgelegt, ob noch eine weitere Iteration stattfinden soll (damit wird im Gegensatz zur Prätest-Schleife der Rumpf mindestens einmal abgearbeitet!)
```java
//Programmbeispiel
boolean bedingung = true;
int iterator = 0;
Console.WriteLine("Schleife gestartet");
while(bedingung){
iterator = iterator + 1;
Console.WriteLine(iterator);
if(iterator = 6){
bedingung = false;
}
}
Console.WriteLine("Schleife beendet");
```
```javascript=
#Bashbeispiel
iterator = 0;
echo "starte Schleife";
:Marke
iterator=iterator+1;
echo iterator;
IF iterator < 6
THEN GOTO :Marke;
ENDIF;
echo "ende Schleife";
```