Warum benötigt man bei der While Schleife eine Boolean Variable?

6 Antworten

Keine boolesche Variable sondern boolescher Ausdruck.
Das ist ein feiner aber wichtiger Unterschied.

Ein boolescher Ausdruck ist jeder Ausdruck der nur wahr oder falsch entscheidet, zum Beispiel (Zahl) a< (Zahl) b oder nur (boolean) c
Das Ergebnis bestimmt ob die Schleife wiederholt wird.

wie schon erwähnt wurde, muss es keine boolsche Variable sein, sondern kann auch ein boolscher "Ausdruck" sein !!!

stell dir das in etwa so vor:
Du willst solange um dein Haus herum gehen, wie die Sonne scheint...
Du gehst also einmal um das Haus herum und wenn Du wieder an der Haustür bist fragst Du "scheint die Sonne noch?"...
wenn die Sonne scheint (true) gehst Du nochmal eine Runde...
das machst Du solange, bis die Antwort "Nein, die Sonne scheint nicht mehr" (false) lautet und gehst dann rein, verlässt also die Schleife !!!


verreisterNutzer  29.12.2016, 15:17

es kann doch auch eine Variable sein

boolean MyVar;

Hast wohl das Wort Ausdruck gerade gelernt, deswegen tust du so darauf rumreiten.

0
JupStrunk  29.12.2016, 15:42
@verreisterNutzer

Du Troll !!!

lies meine Antwort mal richtig, falls Du der deutschen Sprache mächtig bist, was ich stark bezweifle...
nach deinem "tust du so darauf rumreiten" !!!

da steht eindeutig:
"es muss keine boolsche Variable sein, es kann auch ein boolscher Ausdruck sein"

0

Sie braucht keine boolesche Variable, sondern einen booleschen Ausdruck. Dieser kann natürlich auch aus einer einzelnen booleschen Variablen bestehen, muss aber nicht.

Eine Schleife (jede Schleife) braucht eine Abbruchbedingung. (Ausnahme: gewollte Endlosschleifen, aber nicht alle Programmiersprachen lassen bedingungslose Schleifen zu.)

Eine Abbruchbedingung ist eine Bedingung, und eine Bedingung kann nur erfüllt oder nicht erfüllt sein. Damit ist der Typ boolesch der natürliche Typ für eine Bedingung.

Naja die While Schleife wird solange ausgeführt wie eine Bedingung erfüllt ist. Der Zustand einer Bedingung, also ob sie erfüllt ist oder nicht ist eine Boolean Variable:

wahr: die Bedingung ist erfüllt

falsch: die Bedingung ist nicht erfüllt

ist eigentlich ganz logisch...

die Schleife fragt: "soll ich weiter machen?"
die Bedingung antwortet: "Ja" oder "Nein" (true oder false = boolean) !!! ;)