Boolean: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(78 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
=Was ist das?= | ==Was ist das?== | ||
Eine Variable kann den | Eine [[Variable]] kann den speziellen [[Datentyp]] Boolean (nach [https://de.wikipedia.org/wiki/George_Boole George Boole] benannt) besitzen.<br \> | ||
Der Datentyp wird häufig auch mit dem Kurzwort '''Bool''' bezeichnet. | |||
Ist eine Variable vom Datentyp Boolean, dann kann sie nur '''zwei''' Zustände speichern.<br \> | |||
Das kannst du mit einem Lichtschalter vergleichen: Dieser befindet sich '''entweder''' im Zustand "''an''" '''oder''' im Zustand "''aus''". | |||
Eine Variable vom Datentyp Boolean kann '''entweder''' den logischen Wert ''wahr'' '''oder''' ''falsch'' (engl. true/ false) annehmen. | |||
Dies wird z.B. bei der [[Bedingte Anweisungen|bedingten Anweisung]] verwendet, wenn überprüft werden soll, ob eine Aussage ''wahr'' oder ''falsch'' ist.<br \> | |||
Eine '''Aussage''' ist ein feststellender Satz, dem eindeutig einer der beiden Wahrheitswerte zugeordnet werden kann. | |||
== | Boolsche Werte werden auch bei logischen UND-Verknüpfungen bzw. ODER-Verknüpfungen verwendet. | ||
[[Datei:Bool_and.png|400px|UND]] [[Datei:Bool_or.png|380px|ODER]] | |||
==Befehle== | |||
Die folgenden Beispielprogramme zeigen dir, wie du mit boolschen Variablen bzw. mit logischen Operatoren und Verknüpfungen arbeiten kannst.<br \> | |||
In der Befehlskategorie '''Logik''' findest du die entsprechenden Befehle.<br \> | |||
Alle Elemente, die zwischen den spitzen Klammern stehen, werden auf ihren Wahrheitsgehalt überprüft und ergeben somit ''wahr'' oder ''falsch''. | |||
==Beispielprogramm - Abbruchbedingung für Schleife== | |||
<pre id="bo01"> | |||
input.onButtonPressed(Button.A, function () { | |||
traurig = false | |||
}) | |||
let traurig = false | |||
traurig = true | |||
while (traurig) { | |||
basic.showIcon(IconNames.Sad) | |||
} | |||
basic.showIcon(IconNames.Happy) | |||
</pre> | |||
Zum Programm: https://makecode.microbit.org/_UkoagrUjHRD8 | |||
==Beispielprogramm - Wenn WAHR, dann...== | |||
<pre id="01"> | <pre id="01"> | ||
if (Jahr == 2022) { | input.onButtonPressed(Button.A, function () { | ||
if (Jahr == 2022) { | |||
} else { | basic.showString("Happy" + Jahr + "!") | ||
} else { | |||
} | basic.showIcon(IconNames.Chessboard) | ||
basic.clearScreen() | |||
} | |||
}) | |||
input.onButtonPressed(Button.B, function () { | |||
Jahr = 2022 | |||
}) | |||
let Jahr = 0 | |||
Jahr = 2020 | |||
</pre> | |||
Zum Programm: https://makecode.microbit.org/_KxpixiW4k4Dz | |||
==Beispielprogramm - Wahr oder Falsch?== | |||
Mit dem folgenden Programm kannst du testen, welche logische Verknüpfung (wert1 - wert4) bzw. welche Aussage (wert 5 - wert 7) wahr oder falsch ist. | |||
<pre id="bo02"> | |||
input.onButtonPressed(Button.A, function () { | |||
if (wert1 == false) { | |||
basic.showString("F") | |||
} else { | |||
basic.showString("W") | |||
} | |||
}) | |||
let wert1 = false | |||
wert1 = 5 < 3 && 2 < 8 | |||
let wert2 = 1 < 3 && 2 < 8 | |||
let wert3 = 5 < 3 || 2 < 8 | |||
let wert4 = 5 > 3 || 2 < 8 | |||
let wert5 = 9 < 2.5 | |||
let wert6 = 8 > 2 * 3 | |||
let wert7 = !(false) | |||
</pre> | |||
Zum Programm: https://makecode.microbit.org/_XEfJb0URFeHk | |||
==Beispielprogramm - Würfelspiel "3 gewinnt"== | |||
Das folgende Programm erwartet 2 Eingaben.<br \> | |||
Wenn der Benuter/die Benutzerin einmal den Knopf A '''und''' einmal den Knopf B gedrückt hat, führt das Programm die nächsten Befehle aus. | |||
<pre id ="bo04"> | |||
let Eingabe_1 = false | |||
let Zahl_1 = 0 | |||
let Eingabe_2 = false | |||
let Zahl_2 = 0 | |||
/** | |||
* Variable vom Datentyp "Boolean | |||
*/ | |||
input.onButtonPressed(Button.A, function () { | |||
Eingabe_1 = true | |||
Zahl_1 = randint(1, 6) | |||
basic.showNumber(Zahl_1) | |||
basic.clearScreen() | |||
}) | |||
input.onButtonPressed(Button.B, function () { | |||
Eingabe_2 = true | |||
Zahl_2 = randint(1, 6) | |||
basic.showNumber(Zahl_2) | |||
basic.clearScreen() | |||
}) | |||
basic.forever(function () { | |||
if (Eingabe_1 && Eingabe_2) { | |||
Eingabe_1 = false | |||
Eingabe_2 = false | |||
if (Zahl_1 - Zahl_2 == 3) { | |||
basic.showIcon(IconNames.Yes) | |||
} else { | |||
basic.showIcon(IconNames.No) | |||
} | |||
} | |||
}) | |||
</pre> | </pre> | ||
Zum Programm: https://makecode.microbit.org/_DvzCTgbsvXoT | |||
==Übung== | |||
Versuche, die Biber-der-Informatik-Aufgabe "'''Wasserversorgung'''" zu lösen.<br \> | |||
Du findest die Aufgabe (inkl. Lösung) unter folgendem Link auf Seite '''43''': | |||
https://www.ocg.at/sites/ocg.at/files/medien/pdfs/Biber-Aufgaben2012-mitLoesungen-AT-web.pdf | |||
Versuche, die Biber-der-Informatik-Aufgabe "'''Mondzauber'''" zu lösen.<br \> | |||
Du findest die Aufgabe (inkl. Lösung) unter folgendem Link auf Seite '''30''': | |||
https://www.ocg.at/sites/ocg.at/files/medien/pdfs/BiberAufgaben2019.pdf | |||
<htmlet>makecode_embed</htmlet> | <htmlet>makecode_embed</htmlet> |
Aktuelle Version vom 12. Mai 2022, 14:24 Uhr
Was ist das?
Eine Variable kann den speziellen Datentyp Boolean (nach George Boole benannt) besitzen.
Der Datentyp wird häufig auch mit dem Kurzwort Bool bezeichnet.
Ist eine Variable vom Datentyp Boolean, dann kann sie nur zwei Zustände speichern.
Das kannst du mit einem Lichtschalter vergleichen: Dieser befindet sich entweder im Zustand "an" oder im Zustand "aus".
Eine Variable vom Datentyp Boolean kann entweder den logischen Wert wahr oder falsch (engl. true/ false) annehmen.
Dies wird z.B. bei der bedingten Anweisung verwendet, wenn überprüft werden soll, ob eine Aussage wahr oder falsch ist.
Eine Aussage ist ein feststellender Satz, dem eindeutig einer der beiden Wahrheitswerte zugeordnet werden kann.
Boolsche Werte werden auch bei logischen UND-Verknüpfungen bzw. ODER-Verknüpfungen verwendet.
Befehle
Die folgenden Beispielprogramme zeigen dir, wie du mit boolschen Variablen bzw. mit logischen Operatoren und Verknüpfungen arbeiten kannst.
In der Befehlskategorie Logik findest du die entsprechenden Befehle.
Alle Elemente, die zwischen den spitzen Klammern stehen, werden auf ihren Wahrheitsgehalt überprüft und ergeben somit wahr oder falsch.
Beispielprogramm - Abbruchbedingung für Schleife
input.onButtonPressed(Button.A, function () { traurig = false }) let traurig = false traurig = true while (traurig) { basic.showIcon(IconNames.Sad) } basic.showIcon(IconNames.Happy)
Zum Programm: https://makecode.microbit.org/_UkoagrUjHRD8
Beispielprogramm - Wenn WAHR, dann...
input.onButtonPressed(Button.A, function () { if (Jahr == 2022) { basic.showString("Happy" + Jahr + "!") } else { basic.showIcon(IconNames.Chessboard) basic.clearScreen() } }) input.onButtonPressed(Button.B, function () { Jahr = 2022 }) let Jahr = 0 Jahr = 2020
Zum Programm: https://makecode.microbit.org/_KxpixiW4k4Dz
Beispielprogramm - Wahr oder Falsch?
Mit dem folgenden Programm kannst du testen, welche logische Verknüpfung (wert1 - wert4) bzw. welche Aussage (wert 5 - wert 7) wahr oder falsch ist.
input.onButtonPressed(Button.A, function () { if (wert1 == false) { basic.showString("F") } else { basic.showString("W") } }) let wert1 = false wert1 = 5 < 3 && 2 < 8 let wert2 = 1 < 3 && 2 < 8 let wert3 = 5 < 3 || 2 < 8 let wert4 = 5 > 3 || 2 < 8 let wert5 = 9 < 2.5 let wert6 = 8 > 2 * 3 let wert7 = !(false)
Zum Programm: https://makecode.microbit.org/_XEfJb0URFeHk
Beispielprogramm - Würfelspiel "3 gewinnt"
Das folgende Programm erwartet 2 Eingaben.
Wenn der Benuter/die Benutzerin einmal den Knopf A und einmal den Knopf B gedrückt hat, führt das Programm die nächsten Befehle aus.
let Eingabe_1 = false let Zahl_1 = 0 let Eingabe_2 = false let Zahl_2 = 0 /** * Variable vom Datentyp "Boolean */ input.onButtonPressed(Button.A, function () { Eingabe_1 = true Zahl_1 = randint(1, 6) basic.showNumber(Zahl_1) basic.clearScreen() }) input.onButtonPressed(Button.B, function () { Eingabe_2 = true Zahl_2 = randint(1, 6) basic.showNumber(Zahl_2) basic.clearScreen() }) basic.forever(function () { if (Eingabe_1 && Eingabe_2) { Eingabe_1 = false Eingabe_2 = false if (Zahl_1 - Zahl_2 == 3) { basic.showIcon(IconNames.Yes) } else { basic.showIcon(IconNames.No) } } })
Zum Programm: https://makecode.microbit.org/_DvzCTgbsvXoT
Übung
Versuche, die Biber-der-Informatik-Aufgabe "Wasserversorgung" zu lösen.
Du findest die Aufgabe (inkl. Lösung) unter folgendem Link auf Seite 43:
https://www.ocg.at/sites/ocg.at/files/medien/pdfs/Biber-Aufgaben2012-mitLoesungen-AT-web.pdf
Versuche, die Biber-der-Informatik-Aufgabe "Mondzauber" zu lösen.
Du findest die Aufgabe (inkl. Lösung) unter folgendem Link auf Seite 30:
https://www.ocg.at/sites/ocg.at/files/medien/pdfs/BiberAufgaben2019.pdf