From da012d103e520dc003a8d56c32414641beaa8e10 Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Mon, 13 Apr 2026 16:56:57 +0200 Subject: initial planet commit --- .../3/Planet/algorithmik/if/bedingte-anweisung.md | 2 + .../3/Planet/algorithmik/sequenzen/h5p-sequenz3.md | 30 +++ .../3/Planet/algorithmik/sequenzen/img/canyon1.png | Bin 0 -> 238958 bytes .../3/Planet/algorithmik/sequenzen/img/canyon2.png | Bin 0 -> 235445 bytes .../3/Planet/algorithmik/sequenzen/img/canyon3.png | Bin 0 -> 263308 bytes .../algorithmik/sequenzen/img/h5p-sequenzen3.png | Bin 0 -> 3836 bytes .../algorithmik/sequenzen/img/sequenzen1-file.png | Bin 0 -> 5676 bytes .../algorithmik/sequenzen/img/sequenzen2-file.png | Bin 0 -> 4811 bytes Info/9/3/Planet/algorithmik/sequenzen/sequenzen.md | 95 ++++++++ Info/9/3/Planet/algorithmik/while/.gitignore | 7 + .../while/aufgabe-4_3-struktogramm.tikz | 8 + .../algorithmik/while/bedingte-wiederholung.md | 254 +++++++++++++++++++++ .../algorithmik/while/img/bergkette-flowchart.png | Bin 0 -> 34913 bytes .../9/3/Planet/algorithmik/while/img/rover-4_2.png | Bin 0 -> 681281 bytes .../9/3/Planet/algorithmik/while/img/rover-4_3.png | Bin 0 -> 38536 bytes .../Planet/algorithmik/while/img/sammle-steine.png | Bin 0 -> 161842 bytes .../Planet/algorithmik/while/img/suche-stein1.png | Bin 0 -> 82526 bytes .../Planet/algorithmik/while/img/suche-stein2.png | Bin 0 -> 89277 bytes .../Planet/algorithmik/while/img/suche-stein3.png | Bin 0 -> 82776 bytes .../algorithmik/while/sucheStein-flowchart.tikz | 41 ++++ .../algorithmik/while/sucheStein-struktogramm.tikz | 5 + Info/9/3/Planet/algorithmik/while/tuwas.tex | 23 ++ .../Planet/algorithmik/while/while-flowchart.tikz | 40 ++++ .../algorithmik/while/while-struktogramm.tikz | 5 + 24 files changed, 510 insertions(+) create mode 100644 Info/9/3/Planet/algorithmik/if/bedingte-anweisung.md create mode 100644 Info/9/3/Planet/algorithmik/sequenzen/h5p-sequenz3.md create mode 100644 Info/9/3/Planet/algorithmik/sequenzen/img/canyon1.png create mode 100644 Info/9/3/Planet/algorithmik/sequenzen/img/canyon2.png create mode 100644 Info/9/3/Planet/algorithmik/sequenzen/img/canyon3.png create mode 100644 Info/9/3/Planet/algorithmik/sequenzen/img/h5p-sequenzen3.png create mode 100644 Info/9/3/Planet/algorithmik/sequenzen/img/sequenzen1-file.png create mode 100644 Info/9/3/Planet/algorithmik/sequenzen/img/sequenzen2-file.png create mode 100644 Info/9/3/Planet/algorithmik/sequenzen/sequenzen.md create mode 100644 Info/9/3/Planet/algorithmik/while/.gitignore create mode 100644 Info/9/3/Planet/algorithmik/while/aufgabe-4_3-struktogramm.tikz create mode 100644 Info/9/3/Planet/algorithmik/while/bedingte-wiederholung.md create mode 100644 Info/9/3/Planet/algorithmik/while/img/bergkette-flowchart.png create mode 100644 Info/9/3/Planet/algorithmik/while/img/rover-4_2.png create mode 100644 Info/9/3/Planet/algorithmik/while/img/rover-4_3.png create mode 100644 Info/9/3/Planet/algorithmik/while/img/sammle-steine.png create mode 100644 Info/9/3/Planet/algorithmik/while/img/suche-stein1.png create mode 100644 Info/9/3/Planet/algorithmik/while/img/suche-stein2.png create mode 100644 Info/9/3/Planet/algorithmik/while/img/suche-stein3.png create mode 100644 Info/9/3/Planet/algorithmik/while/sucheStein-flowchart.tikz create mode 100644 Info/9/3/Planet/algorithmik/while/sucheStein-struktogramm.tikz create mode 100644 Info/9/3/Planet/algorithmik/while/tuwas.tex create mode 100644 Info/9/3/Planet/algorithmik/while/while-flowchart.tikz create mode 100644 Info/9/3/Planet/algorithmik/while/while-struktogramm.tikz (limited to 'Info/9/3/Planet/algorithmik') diff --git a/Info/9/3/Planet/algorithmik/if/bedingte-anweisung.md b/Info/9/3/Planet/algorithmik/if/bedingte-anweisung.md new file mode 100644 index 00000000..0edf6cc1 --- /dev/null +++ b/Info/9/3/Planet/algorithmik/if/bedingte-anweisung.md @@ -0,0 +1,2 @@ +:::{.terminal} +::: diff --git a/Info/9/3/Planet/algorithmik/sequenzen/h5p-sequenz3.md b/Info/9/3/Planet/algorithmik/sequenzen/h5p-sequenz3.md new file mode 100644 index 00000000..1a723d01 --- /dev/null +++ b/Info/9/3/Planet/algorithmik/sequenzen/h5p-sequenz3.md @@ -0,0 +1,30 @@ +![](img/canyon3.png){.center} + +``` +rover.*fahre();* +*rover.drehe("rechts");* +*rover*.fahre(); +rover.fahre(); +rover.drehe(*"links"*); +*rover.fahre();* +*rover.fahre();* +*rover.drehe("links");* +*rover.fahre();* +*rover.fahre();* +*rover.drehe("rechts");* +*rover.fahre();* +*rover.drehe("links");* +*rover.fahre();* +*rover.drehe("rechts");* +*rover.fahre();* +*rover.fahre();* +*rover.drehe("rechts");* +*rover.fahre();* +*rover.fahre();* +*rover.fahre();* +*rover.drehe("rechts");* +*rover.fahre();* +*rover.drehe("links");* +*rover.fahre();* +``` + diff --git a/Info/9/3/Planet/algorithmik/sequenzen/img/canyon1.png b/Info/9/3/Planet/algorithmik/sequenzen/img/canyon1.png new file mode 100644 index 00000000..8a33caf8 Binary files /dev/null and b/Info/9/3/Planet/algorithmik/sequenzen/img/canyon1.png differ diff --git a/Info/9/3/Planet/algorithmik/sequenzen/img/canyon2.png b/Info/9/3/Planet/algorithmik/sequenzen/img/canyon2.png new file mode 100644 index 00000000..9dfa9478 Binary files /dev/null and b/Info/9/3/Planet/algorithmik/sequenzen/img/canyon2.png differ diff --git a/Info/9/3/Planet/algorithmik/sequenzen/img/canyon3.png b/Info/9/3/Planet/algorithmik/sequenzen/img/canyon3.png new file mode 100644 index 00000000..a3053705 Binary files /dev/null and b/Info/9/3/Planet/algorithmik/sequenzen/img/canyon3.png differ diff --git a/Info/9/3/Planet/algorithmik/sequenzen/img/h5p-sequenzen3.png b/Info/9/3/Planet/algorithmik/sequenzen/img/h5p-sequenzen3.png new file mode 100644 index 00000000..b744a4ee Binary files /dev/null and b/Info/9/3/Planet/algorithmik/sequenzen/img/h5p-sequenzen3.png differ diff --git a/Info/9/3/Planet/algorithmik/sequenzen/img/sequenzen1-file.png b/Info/9/3/Planet/algorithmik/sequenzen/img/sequenzen1-file.png new file mode 100644 index 00000000..bedf4714 Binary files /dev/null and b/Info/9/3/Planet/algorithmik/sequenzen/img/sequenzen1-file.png differ diff --git a/Info/9/3/Planet/algorithmik/sequenzen/img/sequenzen2-file.png b/Info/9/3/Planet/algorithmik/sequenzen/img/sequenzen2-file.png new file mode 100644 index 00000000..85096383 Binary files /dev/null and b/Info/9/3/Planet/algorithmik/sequenzen/img/sequenzen2-file.png differ diff --git a/Info/9/3/Planet/algorithmik/sequenzen/sequenzen.md b/Info/9/3/Planet/algorithmik/sequenzen/sequenzen.md new file mode 100644 index 00000000..3ac07df2 --- /dev/null +++ b/Info/9/3/Planet/algorithmik/sequenzen/sequenzen.md @@ -0,0 +1,95 @@ +:::{.terminal} +Um mit dem Rover die Landezone zu verlassen, müssen wir durch einen Canyon fahren. +Deine Aufgabe ist es den Rover erfolgreich zu den markierten Stellen zu lenken. +Dazu musst du ihn richtig programmieren. +Wir verwenden *Java* zum Programmieren. +Das ist nicht nur der Name einer indonesischen Insel, sondern gleichzeitig auch der Name der weltweit sehr beliebten Programmiersprache. + +Der Rover befolgt einzelne Befehle, sogenannte **Anweisungen**. +**Anweisungen** können in einer nacheinander abgearbeitet werden. +Eine Abfolge von **Anweisungen** nennt man eine **Sequenz**. +_ +::: + +:::{.merke data-class="Merke: Anweisungen und Sequenzen"} +Eine **Sequenz** ist eine Folge von **Anweisungen**, die in der angegebenen Reihenfolge abgearbeitet werden. + +Ein **Programm** ist eine Folge von Anweisungen in einer *Programmiersprache*. +::: + +#### Schritt 2.1 + +Der Eingang des Canyon liegt direkt vor dem Rover. +Jetzt musst du ihn nur noch bewegen. + +![](img/canyon1.png){.center} + +:::{.aufgabe data-class="Aufgabe 1.1"} +::: {.columns align=center} +:::: {.column width=30%} +![](img/sequenzen1-file.png) +:::: + +:::: {.column width=70%} +Öffne die Datei **Sequenzen1** in der [Online-IDE](online-ide.de). +Schreibe eine Sequenz von Anweisungen, um den Rover auf die grüne Markierung zu fahren. + +*Teste deine Sequenz in dem du den grünen Startknopf ▶ drückst.* +:::: +::: +::: + +:::{.tipp style="margin-top:1em;"} +*Die Stelle, an der du im Code etwas ergänzen musst, ist mit `// TODO: ...`{.java} markiert.* +::: + +#### Schritt 2.2 + +:::{.terminal} +Im Canyon angekommen, verzweigt sich der Weg. +Das letzte Team hat bereits die richtige Abzweigung markiert. +_ +::: + +![](img/canyon2.png){.center} + +:::{.aufgabe data-class="Aufgabe 1.2"} +::: {.columns align=center} +:::: {.column width=30%} +![](img/sequenzen2-file.png) +:::: + +:::: {.column width=70%} +Öffne die Datei **Sequenzen2** in der Online-IDE. +Schreibe eine Sequenz von Anweisungen, um den Rover auf die grüne Markierung zu fahren. + +*Teste deine Sequenz in dem du den grünen Startknopf ▶ drückst.* +:::: +::: +::: + +:::{.tipp style="margin-top:1em;"} +*Du kannst die Fahrtrichtung mit der **Anweisung** `rover.drehe("rechts");`{.java} beziehungsweise `rover.drehe("links");`{.java} ändern.* +::: + +:::{.terminal} +Sehr gut der Canyon liegt fast hinter uns. +Du hast gelernt wie du den Rover durch eine **Sequenz** von **Anweisungen** kontrollierst. +Im letzte Stück des Canyons müssen wir einige Kurven fahren. +_ +::: + +:::{.aufgabe data-class="Aufgabe 1.3"} +::: {.columns align=center} +:::: {.column width=30%} +![](img/h5p-sequenzen3.png) +:::: + +:::: {.column width=70%} +Öffne die Aktivität **Planet: Sequenzen3** in diesem Kurs. +Bringe die Anweisungen in die richtige Reihenfolge, um den Rover auf die grüne Markierung zu fahren. + +*Wenn du willst kannst du deine Seuqenz in der Online-IDE testen.* +:::: +::: +::: diff --git a/Info/9/3/Planet/algorithmik/while/.gitignore b/Info/9/3/Planet/algorithmik/while/.gitignore new file mode 100644 index 00000000..f236d30e --- /dev/null +++ b/Info/9/3/Planet/algorithmik/while/.gitignore @@ -0,0 +1,7 @@ +aufgabe-4_3-struktogramm.svg +sucheStein-flowchart.svg +sucheStein-struktogramm.svg +tuwas.* +!tuwas.tex +while-flowchart.svg +while-struktogramm.svg diff --git a/Info/9/3/Planet/algorithmik/while/aufgabe-4_3-struktogramm.tikz b/Info/9/3/Planet/algorithmik/while/aufgabe-4_3-struktogramm.tikz new file mode 100644 index 00000000..e0d52af9 --- /dev/null +++ b/Info/9/3/Planet/algorithmik/while/aufgabe-4_3-struktogramm.tikz @@ -0,0 +1,8 @@ +\begin{struktogramm}(90,50) + \assign{fahre vorwärts} + \while{solange Gestein vorhanden} + \assign{nimm Gestein} + \assign{fahre vorwärts} + \whileend + \assign{setze eine Marke} +\end{struktogramm} diff --git a/Info/9/3/Planet/algorithmik/while/bedingte-wiederholung.md b/Info/9/3/Planet/algorithmik/while/bedingte-wiederholung.md new file mode 100644 index 00000000..7e7d89cb --- /dev/null +++ b/Info/9/3/Planet/algorithmik/while/bedingte-wiederholung.md @@ -0,0 +1,254 @@ +:::{.terminal} +Um unser gesuchten Mineral zu finden, wollen wir Gesteinsproben untersuchen. +Der Rover kann Gestein unter sich aufnehmen damit es später genauer analysiert werden kann. +Es ist deine Aufgabe eine **Methode** zu schreiben, mit der der Rover auf das Gestein vor ihm fährt und es aufsammelt. +Das letzte Team hat die folgenden Vorschläge gemacht. +_ +::: + +::: {.columns} +:::: {.column width=33%} +![](img/suche-stein1.png) + +```java +void sucheGestein() +{ + fahre(); + fahre(); + nimmGestein(); +} +``` +:::: + +:::: {.column width=33%} +![](img/suche-stein2.png) + +```java +void sucheGestein() +{ + fahre(); fahre(); fahre(); + fahre(); fahre(); fahre(); + fahre(); fahre(); + nimmGestein(); +} +``` +:::: + +:::: {.column width=33%} + +![](img/suche-stein3.png) + +```java +void sucheGestein() +{ + wiederhole solange kein Stein vorhanden + fahre(); + nimmGestein(); +} +``` +:::: +::: + +:::{.merke data-class="Merke: Wiederholung mit Bedingung"} +Mit einer **Wiederholung mit Bedingung** (while-Schleife) können bestimmte [Anweisungen]{color="orange"} mehrmals ausgeführt werden. +Solange die [Bedingung]{color="magenta"} *wahr* ist, wird die Sequenz wiederholt. +Wenn die Bedingung *falsch* ist, wird der Programmcode nach der Wiederholung fortgesetzt. + +::: {.columns} +:::: {.column width=33%} +**Programmcode:** + + +while([Bedingung]{color="magenta"})
+{
+[Anweisungen]{style="color: orange; margin-left: 20px;"}
+} +
+:::: + +:::: {.column width=33%} +**Programmablauf:** + +![](while-flowchart.svg) +:::: + +:::: {.column width=33%} +**Struktogramm:** + +![](while-struktogramm.svg) +:::: +::: +::: + +![](img/suche-stein3.png){.center} + +:::{.terminal} +Der letzte Vorschlag unseres Teams sieht schon nicht schlecht aus. +Leider ist der vorgeschlagene Code noch kein korrektes Java Programm. +In Java kann das **kein** in *kein Gestein* durch ein `!`{.java} ausgedrückt werden. +_ +::: + +:::{.aufgabe data-class="Aufgabe 4.1"} +Übertrage die Methode `sucheStein()` in die drei Darstellungsformen. + +:::: {.columns} +::::: {.column width=33%} +**Programmcode:** +
+::::: + +::::: {.column width=33%} +**Programmablauf:** +::::: + +::::: {.column width=33%} +**Struktogramm:** +::::: +:::: +::: + +:::{.terminal} +Nun bist du auf dich selbst gestellt. +Schaffst du die unterschiedlichen Aufgaben auf der Planetenoberfläche? +_ +::: + +#### Schritt 4.1 + +Vervöllständige die Methode `sammleSteine()`{.java} der Klasse `Rover` in der [Online-IDE](online-ide.de), mit der der Rover eine beliebig lange Gesteinsreihe aufsammeln kann. + +![](img/sammle-steine.png){.center} + +Teste die Methode in der Datei **SammleSteine**. + +#### Schritt 4.2 + +Mit der Methode `bergketteAbfahren()`, kann der Rover an einer beliebig langen Bergkette entlang fahren. +Der Programmablaufplan beschreibt den Aufbau der Methode. + +::: {.columns} +:::: {.column width=60%} +![](img/bergkette-abfahren.png) +:::: + +:::: {.column width=40%} +![](img/bergkette-flowchart.png){style="max-height:6cm;"} +:::: +::: + +* Überlege dir zunächst genau, wo der Rover nach Aufruf der Methode steht und an welchen Stellen er Marken gesetzt hat. +* Setze die Methode `bergketteAbfahren()`{.java} in der [Online-IDE](online-ide.de) in der Klasse `Rover` um. +* Teste die Methode in der Datei **BergketteAbfahren** und finde heraus, ob deine Vermutung richtig war. + +#### Schritt 4.3 + +::: {.columns} +:::: {.column width=50%} +:::::{.aufgabe data-class="Aufgabe 4.2"} +Analysiere die folgenden Wiederholungen im abgebildeten Szenario, indem du jeweils angibst, wie oft die Bedingung überprüft wird, wie oft die Anweisung ausgeführt wird, auf welchen Feldern eine Marke gesetzt wird und auf welchem Feld der Rover nach Ausführung des Programms steht. +::::: +:::: + +:::: {.column width=50%} +![](img/rover-4_2.png) +:::: +::: + + + + + + + + + + + + +
+ **Code A** + + ```java + while(huegelVorhanden("links")) + { + fahre(); + } + ``` + + **Code B** + + ```java + while(huegelVorhanden("rechts")) + { + fahre(); + } + ``` + + **Code C** + + ```java + while(!huegelVorhanden("links")) + { + fahre(); + } + ``` +
+ **Code D** + + ```java + while(!huegelVorhanden("rechts")) + { + fahre(); + } + ``` + + **Code E** + + ```java + while(huegelVorhanden("rechts")) + { + fahre(); + setzeMarke(); + } + ``` + + **Code F** + + ```java + while(!huegelVorhanden("links")) + { + fahre(); + } + setzeMarke(); + ``` +
+ +::: {.columns} +:::: {.column width=50%} +:::::{.aufgabe data-class="Aufgabe 4.3"} +Der Rover soll alle Gesteine sammeln. +Dazu hat Tim einen Algorithmus verfasst und ihn als Struktogramm dargestellt. +Beschreibe, welches Problem im abgebildeten Szenario auftritt. +::::: +:::: + +:::: {.column width=50%} +![](img/rover-4_3.png) + +![](aufgabe-4_3-struktogramm.svg) +:::: +::: + +::: {.columns} +:::: {.column width=50%} +:::::{.aufgabe data-class="Aufgabe: 4.4"} +Im nebenstehenden Code befinden sich 6 Fehler. +Gib die Zeilennummern der Fehler an und beschreibe den Fehler kurz. +::::: +:::: + +:::: {.column width=50%} +![](tuwas.svg) +:::: +::: diff --git a/Info/9/3/Planet/algorithmik/while/img/bergkette-flowchart.png b/Info/9/3/Planet/algorithmik/while/img/bergkette-flowchart.png new file mode 100644 index 00000000..3c620074 Binary files /dev/null and b/Info/9/3/Planet/algorithmik/while/img/bergkette-flowchart.png differ diff --git a/Info/9/3/Planet/algorithmik/while/img/rover-4_2.png b/Info/9/3/Planet/algorithmik/while/img/rover-4_2.png new file mode 100644 index 00000000..0a423f1c Binary files /dev/null and b/Info/9/3/Planet/algorithmik/while/img/rover-4_2.png differ diff --git a/Info/9/3/Planet/algorithmik/while/img/rover-4_3.png b/Info/9/3/Planet/algorithmik/while/img/rover-4_3.png new file mode 100644 index 00000000..25d4089e Binary files /dev/null and b/Info/9/3/Planet/algorithmik/while/img/rover-4_3.png differ diff --git a/Info/9/3/Planet/algorithmik/while/img/sammle-steine.png b/Info/9/3/Planet/algorithmik/while/img/sammle-steine.png new file mode 100644 index 00000000..6480a927 Binary files /dev/null and b/Info/9/3/Planet/algorithmik/while/img/sammle-steine.png differ diff --git a/Info/9/3/Planet/algorithmik/while/img/suche-stein1.png b/Info/9/3/Planet/algorithmik/while/img/suche-stein1.png new file mode 100644 index 00000000..63ab8b40 Binary files /dev/null and b/Info/9/3/Planet/algorithmik/while/img/suche-stein1.png differ diff --git a/Info/9/3/Planet/algorithmik/while/img/suche-stein2.png b/Info/9/3/Planet/algorithmik/while/img/suche-stein2.png new file mode 100644 index 00000000..dd73e7bd Binary files /dev/null and b/Info/9/3/Planet/algorithmik/while/img/suche-stein2.png differ diff --git a/Info/9/3/Planet/algorithmik/while/img/suche-stein3.png b/Info/9/3/Planet/algorithmik/while/img/suche-stein3.png new file mode 100644 index 00000000..4580c60e Binary files /dev/null and b/Info/9/3/Planet/algorithmik/while/img/suche-stein3.png differ diff --git a/Info/9/3/Planet/algorithmik/while/sucheStein-flowchart.tikz b/Info/9/3/Planet/algorithmik/while/sucheStein-flowchart.tikz new file mode 100644 index 00000000..393e85df --- /dev/null +++ b/Info/9/3/Planet/algorithmik/while/sucheStein-flowchart.tikz @@ -0,0 +1,41 @@ +\tikzset{ + process/.style={ + rectangle, + minimum width=2.5cm, minimum height=1cm, + draw, + text centered + }, + % Decision (diamond) + decision/.style={ + diamond, aspect=2, + minimum width=2.5cm, minimum height=1cm, + draw, + text width=3cm, + align=center + }, + % Input/Output (parallelogram) + io/.style={ + trapezium, trapezium left angle=70, trapezium right angle=110, + minimum width=2.5cm, minimum height=1cm, + draw, fill=green!20, + text centered + }, + % Arrow style + arrow/.style={ + thick, ->, >=Stealth + } +} + +\begin{tikzpicture} + \node (start) {}; + \node[decision, below=of start] (decision1) {\textcolor{magenta}{Kein Gestein vorhanden}}; + \node[process, below=of decision1] (process2) {\textcolor{orange}{fahre()}}; + + % Arrows + \draw[arrow] (start) -- (decision1); + \draw[arrow] (decision1) -- node[right] {Wahr} (process2); + + % Decision branch + \draw[arrow] (decision1) -- node[above] {Falsch} ($(decision1.east) + (1cm, 0)$) -- ($(decision1.east) + (1cm, -3cm)$); + \draw[arrow] (process2.west) -| (-3, -2.4) |- (decision1.west); +\end{tikzpicture} diff --git a/Info/9/3/Planet/algorithmik/while/sucheStein-struktogramm.tikz b/Info/9/3/Planet/algorithmik/while/sucheStein-struktogramm.tikz new file mode 100644 index 00000000..1ca2403a --- /dev/null +++ b/Info/9/3/Planet/algorithmik/while/sucheStein-struktogramm.tikz @@ -0,0 +1,5 @@ +\begin{struktogramm}(90,50) + \while{solange \textcolor{magenta}{kein Gestein vorhanden}} + \assign{\textcolor{orange}{fahre()}} + \whileend +\end{struktogramm} diff --git a/Info/9/3/Planet/algorithmik/while/tuwas.tex b/Info/9/3/Planet/algorithmik/while/tuwas.tex new file mode 100644 index 00000000..7d7c4b6c --- /dev/null +++ b/Info/9/3/Planet/algorithmik/while/tuwas.tex @@ -0,0 +1,23 @@ +\documentclass[border={8mm, 0mm, 2mm, 0mm}, varwidth]{standalone} +\usepackage{minted} +\begin{document} +\begin{minipage}{6cm} +\begin{minted}[ +linenos, +frame=lines, +]{java} +boolean tueWas() +{ + while(!gesteinVorhanden() + { + fahre(); + } + drehe("rechts"); + while(!huegelVorhanden(vorne)) + fahre(); + } + nimmGestein() +} +\end{minted} +\end{minipage} +\end{document} diff --git a/Info/9/3/Planet/algorithmik/while/while-flowchart.tikz b/Info/9/3/Planet/algorithmik/while/while-flowchart.tikz new file mode 100644 index 00000000..e11c711d --- /dev/null +++ b/Info/9/3/Planet/algorithmik/while/while-flowchart.tikz @@ -0,0 +1,40 @@ +\tikzset{ + process/.style={ + rectangle, + minimum width=2.5cm, minimum height=1cm, + draw, + text centered + }, + % Decision (diamond) + decision/.style={ + diamond, aspect=2, + minimum width=2.5cm, minimum height=1cm, + draw, + text centered + }, + % Input/Output (parallelogram) + io/.style={ + trapezium, trapezium left angle=70, trapezium right angle=110, + minimum width=2.5cm, minimum height=1cm, + draw, fill=green!20, + text centered + }, + % Arrow style + arrow/.style={ + thick, ->, >=Stealth + } +} + +\begin{tikzpicture} + \node (start) {}; + \node[decision, below=of start] (decision1) {\textcolor{magenta}{Bedingung}}; + \node[process, below=of decision1] (process2) {\textcolor{orange}{Anweisungen}}; + + % Arrows + \draw[arrow] (start) -- (decision1); + \draw[arrow] (decision1) -- node[right] {Wahr} (process2); + + % Decision branch + \draw[arrow] (decision1) -- node[above] {Falsch} ($(decision1.east) + (1cm, 0)$) -- ($(decision1.east) + (1cm, -3cm)$); + \draw[arrow] (process2.west) -| (-2,-2) |- (decision1.west); +\end{tikzpicture} diff --git a/Info/9/3/Planet/algorithmik/while/while-struktogramm.tikz b/Info/9/3/Planet/algorithmik/while/while-struktogramm.tikz new file mode 100644 index 00000000..cecc55ad --- /dev/null +++ b/Info/9/3/Planet/algorithmik/while/while-struktogramm.tikz @@ -0,0 +1,5 @@ +\begin{struktogramm}(70,50) + \while{solange \textcolor{magenta}{Bedingung}} + \assign{\textcolor{orange}{Anweisungen}} + \whileend +\end{struktogramm} -- cgit v1.2.3