aboutsummaryrefslogtreecommitdiff
path: root/Info/9/3/Planet/algorithmik/if/logik-operatoren.md
blob: 5b83d6918837ab3ae22d8bcca93cbec58ede2f4f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
---
section: Bedingte Anweisung
title: Logische Operatoren
---

:::{.terminal}
Unser Labor meldet uns gerade, dass manches Gestein geologisch interessanter ist als anderes.
Sammle mit dem Rover nur das Gestein ein, das die besonderen Bedingungen erfüllt, die unser Team dir durchgibt.  
[_]{.blink}
:::

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.

:::{.aufgabe data-class="Aufgabe 5.2.1"}
::: {.columns}
:::: {.column width=60%}
Markiere alle Positionen auf dem Planeten, in dem die folgende Bedingung erfüllt ist:  
`huegelVorhanden("rechts") && huegelVorhanden("links")`{.java}

Überprüfe deine Markierungen unter Planet: Logische Operatoren oder [weiter unten](#weiter-unten) auf dieser Seite.
::::

:::: {.column width=40%}
![](img/logic-hills.png)
::::
:::
:::

:::{.aufgabe data-class="Aufgabe 5.2.2"}
Ergänze die Wahrheitstabelle:

-------------------------------------------------------------------------------------------------------------------------------------
`huegelVorhanden("rechts")`{.java}  `huegelVorhanden("links")`{.java}  `huegelVorhanden("rechts") && huegelVorhanden("links")`{.java}
----------------------------------  ---------------------------------  -------------------------------------------------------------- 
  wahr                                wahr                               [wahr]{.solution}

  wahr                                falsch                             [falsch]{.solution}

  falsch                              wahr                               [falsch]{.solution}

  falsch                              falsch                             [falsch]{.solution}
-------------------------------------------------------------------------------------------------------------------------------------
:::


:::{.aufgabe data-class="Aufgabe 5.2.3"}
1. Verwende den **UND**-Operator, um in Java die Methode `nimmGesteinNebenZweiHuegel()` zu programmieren: Dabei soll der Rover bis zur Markierung fahren und auf dem Weg nur dann Gestein aufnehmen, wenn links und rechts von ihm ein Hügel steht.
   ![](img/nimmGesteinZwischenZweiHuegeln.png){.center}
2. Ersetze in deinem Code den `&&`-Operator durch den `||`-Operator und teste den Code.
Was bezweckt der `||`-Operator?
<div style="height: 2cm;"></div>

Teste deine Implementierung aus 1. in der Datei `Logische Operatoren` in der Online-IDE.

:::: {.scorm-autoembed style="width:100%; height:620px;" .no-print}
Test: Nimm Gestein Neben Zwei Huegeln
::::

:::

#### Der ODER-Operator

Analog zum **UND**-Operator `&&` gibt es in Java den **ODER**-Operator `||`.
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.
:::

:::{.aufgabe data-class="Aufgabe 5.2.4"}
:::: {.columns}
::::: {.column width=60%}
Markiere alle Positionen auf dem Planeten, in dem die folgende Bedingung erfüllt ist:  
`huegelVorhanden("rechts") || huegelVorhanden("links")`{.java}

Überprüfe deine Markierungen unter Planet: Logische Operatoren oder [weiter unten](#weiter-unten) auf dieser Seite.
:::::

::::: {.column width=40%}
![](img/logic-hills.png)
:::::
::::
:::

:::{.aufgabe data-class="Aufgabe 5.2.5"}
Ergänze die Wahrheitstabelle:

-------------------------------------------------------------------------------------------------------------------------------------
`huegelVorhanden("rechts")`{.java}  `huegelVorhanden("links")`{.java}  `huegelVorhanden("rechts") || huegelVorhanden("links")`{.java}
----------------------------------  ---------------------------------  -------------------------------------------------------------- 
  wahr                                wahr                               [wahr]{.solution}

  wahr                                falsch                             [wahr]{.solution}

  falsch                              wahr                               [wahr]{.solution}

  falsch                              falsch                             [falsch]{.solution}
-------------------------------------------------------------------------------------------------------------------------------------
:::

#### Der NICHT-Operator

Den **NICHT**-Operator kennst du bereits: In Java wird er mit einem `!` umgesetzt.

:::{.aufgabe data-class="Aufgabe 5.2.6"}
Ergänze die Wahrheitstabelle:

-----------------------------------------------------------------------
`huegelVorhanden("rechts")`{.java}  `!huegelVorhanden("rechts")`{.java}  
----------------------------------  -----------------------------------
  wahr                                [falsch]{.solution}

  falsch                              [wahr]{.solution}
-----------------------------------------------------------------------
:::

:::{.aufgabe data-class="Aufgabe 5.2.7"}
:::: {.columns}
::::: {.column width=60%}
Markiere alle Positionen auf dem Planeten, in dem die folgende Bedingung erfüllt ist:  
`!huegelVorhanden("rechts")`{.java}

Überprüfe deine Markierungen unter Planet: Logische Operatoren oder [weiter unten](#weiter-unten) auf dieser Seite.
:::::

::::: {.column width=40%}
![](img/logic-hills.png)
:::::
::::
:::

:::{.aufgabe data-class="Aufgabe 5.2.8"}
::: {.columns}
:::: {.column width=60%}
Markiere alle Positionen auf dem Planeten, in dem die folgende Bedingung erfüllt ist:  
`!huegelVorhanden("rechts") && huegelVorhanden("links")`{.java}

Überprüfe deine Markierungen unter Planet: Logische Operatoren oder direkt hier.

Beschreibe die Bedingung in eigenen Worten:
<div style="height: 2cm;"></div>
::::

:::: {.column width=40%}
![](img/logic-hills.png)
::::
:::
:::

:::{#weiter-unten}
::::{.h5p-autoembed .no-print}
Planet: Logische Operatoren
::::
:::

<!-- :::{.merke} -->
<!-- TODO: Merke für die drei Operatoren. -->
<!-- ::: -->

:::{.erledigt}
:::

:::{.no-print}
<< Zurück zu TODO: %section%
:::