aboutsummaryrefslogtreecommitdiff
path: root/Info/9/3/Planet/algorithmik/if
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2026-07-05 19:01:11 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2026-07-05 19:01:11 +0200
commit60fc902f3ada26e6c83ea91a9c89c987d487ed49 (patch)
tree599c58477e32828e4b9746033a5dd5f6905c6225 /Info/9/3/Planet/algorithmik/if
parentd833247d75e05becbd5e41fde118d3a6465f07b3 (diff)
downloadunterricht-60fc902f3ada26e6c83ea91a9c89c987d487ed49.tar.gz
unterricht-60fc902f3ada26e6c83ea91a9c89c987d487ed49.zip
planet: add handouts containing solutions
Diffstat (limited to 'Info/9/3/Planet/algorithmik/if')
-rw-r--r--Info/9/3/Planet/algorithmik/if/bedingte-anweisung.md42
-rw-r--r--Info/9/3/Planet/algorithmik/if/logik-operatoren.md30
-rw-r--r--Info/9/3/Planet/algorithmik/if/umfahren-else-struktogramm.tikz14
-rw-r--r--Info/9/3/Planet/algorithmik/if/umfahren-struktogramm.tikz13
4 files changed, 85 insertions, 14 deletions
diff --git a/Info/9/3/Planet/algorithmik/if/bedingte-anweisung.md b/Info/9/3/Planet/algorithmik/if/bedingte-anweisung.md
index 594c86ce..cf0adf11 100644
--- a/Info/9/3/Planet/algorithmik/if/bedingte-anweisung.md
+++ b/Info/9/3/Planet/algorithmik/if/bedingte-anweisung.md
@@ -84,11 +84,29 @@ Mit dem Methodenaufruf `huegelVorhanden("vorne")` kannst du prüfen, ob vor dem
::::: {.column width=50%}
**Programmcode:**
-<div style="height: 7cm;"></div>
+::::::{.solution}
+<code style="white-space: pre;">
+if([huegelVorhanden("vorne")]{color="magenta"})<br>
+{<br>
+[drehe("rechts");]{style="color: orange; margin-left: 20px;"}<br>
+[fahre();]{style="color: orange; margin-left: 20px;"}<br>
+[drehe("links");]{style="color: orange; margin-left: 20px;"}<br>
+[fahre();]{style="color: orange; margin-left: 20px;"}<br>
+[fahre();]{style="color: orange; margin-left: 20px;"}<br>
+[drehe("links");]{style="color: orange; margin-left: 20px;"}<br>
+[fahre();]{style="color: orange; margin-left: 20px;"}<br>
+[drehe("rechts");]{style="color: orange; margin-left: 20px;"}<br>
+}
+</code>
+::::::
:::::
::::: {.column width=50%}
**Struktogramm:**
+
+:::::{.solution}
+![](umfahren-struktogramm.svg)
+:::::
:::::
::::
:::
@@ -216,11 +234,31 @@ Dann fahre am Hügel vorbei!
::::: {.column width=50%}
**Programmcode:**
-<div style="height: 10cm;"></div>
+::::::{.solution}
+<code style="white-space: pre;">
+if([huegelVorhanden("vorne")]{color="magenta"})<br>
+{<br>
+[drehe("rechts");]{style="color: orange; margin-left: 20px;"}<br>
+[fahre();]{style="color: orange; margin-left: 20px;"}<br>
+[drehe("links");]{style="color: orange; margin-left: 20px;"}<br>
+[fahre();]{style="color: orange; margin-left: 20px;"}<br>
+[fahre();]{style="color: orange; margin-left: 20px;"}<br>
+[drehe("links");]{style="color: orange; margin-left: 20px;"}<br>
+[fahre();]{style="color: orange; margin-left: 20px;"}<br>
+[drehe("rechts");]{style="color: orange; margin-left: 20px;"}<br>
+} else {<br>
+[fahre();]{style="color: orange; margin-left: 20px;"}<br>
+}
+</code>
+::::::
:::::
::::: {.column width=50%}
**Struktogramm:**
+
+::::::{.solution}
+![](umfahren-else-struktogramm.svg)
+::::::
:::::
::::
:::
diff --git a/Info/9/3/Planet/algorithmik/if/logik-operatoren.md b/Info/9/3/Planet/algorithmik/if/logik-operatoren.md
index dcd27400..253f99a3 100644
--- a/Info/9/3/Planet/algorithmik/if/logik-operatoren.md
+++ b/Info/9/3/Planet/algorithmik/if/logik-operatoren.md
@@ -9,18 +9,20 @@ Sammle mit dem Rover nur das Gestein ein, das die besonderen Bedingungen erfüll
[_]{.blink}
:::
-Mit logischen Operatoren können mehrere [Bedingungen]{.solution} miteinander verbunden werden.
+Mit logischen Operatoren können mehrere [Bedingungen]{.gap} miteinander verbunden werden.
#### Der UND-Operator
In Java kann man zwei Bedingungen mit einem **UND** verknüpfen, indem man den `&&`-Operator verwendet, z. B.
+:::{style="padding-left: 3rem;"}
```java
if(huegelVorhanden("rechts") && huegelVorhanden("links"))
{
...
}
```
+:::
Die Bedingung `huegelVorhanden("rechts") && huegelVorhanden("links")`{.java} ist nur dann wahr, wenn beide Bedingungen `huegelVorhanden("rechts")`{.java} und `huegelVorhanden("links")`{.java} gleichzeitig wahr sind.
@@ -45,13 +47,13 @@ Ergänze die Wahrheitstabelle:
-------------------------------------------------------------------------------------------------------------------------------------
`huegelVorhanden("rechts")`{.java} `huegelVorhanden("links")`{.java} `huegelVorhanden("rechts") && huegelVorhanden("links")`{.java}
---------------------------------- --------------------------------- --------------------------------------------------------------
- wahr wahr
+ wahr wahr [wahr]{.solution}
- wahr falsch
+ wahr falsch [falsch]{.solution}
- falsch wahr
+ falsch wahr [falsch]{.solution}
- falsch falsch
+ falsch falsch [falsch]{.solution}
-------------------------------------------------------------------------------------------------------------------------------------
:::
@@ -67,7 +69,7 @@ Was bezweckt der `||`-Operator?
#### Der ODER-Operator
Analog zum **UND**-Operator `&&` gibt es in Java den **ODER**-Operator `||`.
-Dieser verknüpft zwei Bedingungen so miteinander, dass [mindestens eine]{.solution} wahr sein muss, damit die Gesamtaussage wahr ist.
+Dieser verknüpft zwei Bedingungen so miteinander, dass [mindestens eine]{.gap} wahr sein muss, damit die Gesamtaussage wahr ist.
:::{.tipp}
**Achtung**: Der **ODER**-Operator ist kein entweder/oder, d. h. auch beide Bedingungen können wahr sein.
@@ -94,13 +96,13 @@ Ergänze die Wahrheitstabelle:
-------------------------------------------------------------------------------------------------------------------------------------
`huegelVorhanden("rechts")`{.java} `huegelVorhanden("links")`{.java} `huegelVorhanden("rechts") || huegelVorhanden("links")`{.java}
---------------------------------- --------------------------------- --------------------------------------------------------------
- wahr wahr
+ wahr wahr [wahr]{.solution}
- wahr falsch
+ wahr falsch [wahr]{.solution}
- falsch wahr
+ falsch wahr [wahr]{.solution}
- falsch falsch
+ falsch falsch [falsch]{.solution}
-------------------------------------------------------------------------------------------------------------------------------------
:::
@@ -114,9 +116,9 @@ Ergänze die Wahrheitstabelle:
-----------------------------------------------------------------------
`huegelVorhanden("rechts")`{.java} `!huegelVorhanden("rechts")`{.java}
---------------------------------- -----------------------------------
- wahr
+ wahr [falsch]{.solution}
- falsch
+ falsch [wahr]{.solution}
-----------------------------------------------------------------------
:::
@@ -159,6 +161,10 @@ Planet: Logische Operatoren
::::
:::
+<!-- :::{.merke} -->
+<!-- TODO: Merke für die drei Operatoren. -->
+<!-- ::: -->
+
:::{.erledigt}
:::
diff --git a/Info/9/3/Planet/algorithmik/if/umfahren-else-struktogramm.tikz b/Info/9/3/Planet/algorithmik/if/umfahren-else-struktogramm.tikz
new file mode 100644
index 00000000..bae8867a
--- /dev/null
+++ b/Info/9/3/Planet/algorithmik/if/umfahren-else-struktogramm.tikz
@@ -0,0 +1,14 @@
+\begin{struktogramm}(70,30)
+ \ifthenelse[12]{1}{1}{\textcolor{magenta}{Hügel vorne}}{\hspace{-15mm}wahr}{\hspace{15mm}falsch}
+ \assign{\textcolor{orange}{rechts drehen}}
+ \assign{\textcolor{orange}{fahren}}
+ \assign{\textcolor{orange}{links drehen}}
+ \assign{\textcolor{orange}{fahren}}
+ \assign{\textcolor{orange}{fahren}}
+ \assign{\textcolor{orange}{links drehen}}
+ \assign{\textcolor{orange}{fahren}}
+ \assign{\textcolor{orange}{rechts drehen}}
+ \change
+ \assign{\textcolor{orange}{fahren}}
+ \ifend
+\end{struktogramm}
diff --git a/Info/9/3/Planet/algorithmik/if/umfahren-struktogramm.tikz b/Info/9/3/Planet/algorithmik/if/umfahren-struktogramm.tikz
new file mode 100644
index 00000000..92654d67
--- /dev/null
+++ b/Info/9/3/Planet/algorithmik/if/umfahren-struktogramm.tikz
@@ -0,0 +1,13 @@
+\begin{struktogramm}(70,30)
+ \ifthenelse[12]{1}{1}{\textcolor{magenta}{Hügel vorne}}{\hspace{-15mm}wahr}{\hspace{15mm}falsch}
+ \assign{\textcolor{orange}{rechts drehen}}
+ \assign{\textcolor{orange}{fahren}}
+ \assign{\textcolor{orange}{links drehen}}
+ \assign{\textcolor{orange}{fahren}}
+ \assign{\textcolor{orange}{fahren}}
+ \assign{\textcolor{orange}{links drehen}}
+ \assign{\textcolor{orange}{fahren}}
+ \assign{\textcolor{orange}{rechts drehen}}
+ \change
+ \ifend
+\end{struktogramm}