:false, Programmiersprache?

6 Antworten

Das wird in Verbindung mit Ereignisabfragen verwendet: wenn abgefragt wird, ob ein bestimmtes Ereignis eingetreten ist oder nicht, kann dass Ergebnis "nein" (falsch, false) oder "ja" (wahr, true) sein. Abhängig von diesem Ergebnis wird dann entweder die eine oder die andere Programmsequenz ausgeführt.

Ja hat es. True und false sind vom datentyp bool.

True ist wahr und steht optional für die dezimale 1.

False ist falsch bzw nicht wahr und steht optional für die dezimale 0.

Bei den meisten hochsprachen gibt es bools, bei manchen "tieferen" sprachen wie zum beispiel c gibt es keine bools. Man kann auch ohne bools gut leben. Liest sich halt manchmal angenehmer mit bools.

Beim programmieren sollte man natürlich aufpassen da ein true als 1 interpretiert werden kann oder ein false als 0 oder ein 1 als true oder eine 0 als false wenn mit einem == geprüft wird. Deswegen sollte === für die überprüfung genommen werden um die typsicherheit zu gewährleisten. Aber naja das interessiert dich vermutlich (noch) nicht.

In welchem Zusammenhang tritt das auf? Gehören die Doppelpunkte dazu?

Die Wörter der üblichen Programmiersprachen sind aus dem Englischen übernommen worden und haben dort eine Bedeutung, die nicht allzusehr von der in der Umgangssprache abweicht.

Ja, false und true stehen für Falsch und Wahr. Aber nicht im moralischen, sondern im rein faktischen Sinn, und hier womöglich als vorläufige Annahmen, die später revidiert werden können. Hängt auch hier ein wenig vom Zusammenhang ab.

Woher ich das weiß:Berufserfahrung – Software-Entwickler
KarlRanseierIII  15.12.2017, 12:55

Das mit dem mpralischen Sinn ist gut :-).

True und false bedeuten wahr/falsch im Sinne der Boolschen Algebra bzw. allgemeiner der Logik.

Es wäre allerdings in der Tat schön gewesen die Sprache und den Zusammenhang zu nennen. Mir schwirren Beispiele im Hinterkopf herum, bei denen mit Doppelpunkt die Vorbelegung definiert wird.

1
PWolff  15.12.2017, 13:00
@KarlRanseierIII

Ich habe mich daran erinnert, dass "true" und "false" oft im Sinne von "aufrichtig"/"treu"/"zuverlässig" bzw. "hinterhältig"/"unaufrichtig"/"verräterisch" verwendet werden.

Kingfragt (der Fragesteller) hat in seinem Profil allerdings "Mathematik" nicht als Thema genannt und wird von daher mit "Boolescher Algebra" nicht viel anfangen können.

0

Wenn eine bestimmte Bedingung erfüllt ist, dann ist das "true". Wenn eine bestimmte Bedingung nicht erfüllt ist, dann ist es "false". Es kann regnen oder es kann nicht regnen. Wenn Regen=true, dann Strasse nass. Wenn Regen=false, dann Strasse trocken. Das ist aber nur das Prinzip. Die korrekte Befehlszeile würde anders aussehen.

Kieselsaeure  15.12.2017, 11:15

nicht wenn regen=true sondern wenn regen==true oder regen===true. selbe für false. ein einziges = wäre fatal bei einer überprüfung via if

0
PWolff  15.12.2017, 11:36
@Kieselsaeure

Nicht in Pascal und ähnlichen Sprachen.

Bloß, weil die Erfinder von BASIC und C das einfache Gleichheitszeichen, das jahrhundertelang eine eindeutig festgelegte Bedeutung hatte, für etwas ganz anderes verwendet haben, heißt nicht, dass es so sein muss, richtig ist und/oder unveränderlich ist.

0
PWolff  15.12.2017, 11:40
@PWolff

Wobei man den Erfindern von BASIC noch zugutehalten muss, dass sie für die Zuweisung das Schlüsselwort LET verwendet haben. Erst ihre Nachfolger haben das Schlüsselwort (aus Faulheit?) weggelassen.

0
Panazee  15.12.2017, 11:17

Du hast Recht, aber wie gesagt ist das nur das Prinzip und keine korrekte Eingabe.

0
PWolff  15.12.2017, 11:37
Die korrekte Befehlszeile würde anders aussehen.

Ja, weil die Strasse auch ohne Regen nass sein kann. (Die Implikation ist nicht umkehrbar.)

(Wird Zeit, dass man dem Gleichheitszeichen wieder seine angestammte Bedeutung zukommen lässt.)

0

Es ist eine Abfrage von einem Ereignis.

Einfaches Beispiel: Du bist zB 16 Jahre alt. Willst dir ein Spiel ab 18 Kaufen.

Der Verkäufer darf es dir nicht verkaufen, da du erst 16 bist. Also sind die Kaufbedingungen "false", also nicht wahr.

Btw, im Code wäre es:

int Alter = 16;
int Spiel = 18;
book Kaufvorgang;

if Alter >= Spiel
{ 
Kaufvorgang = true;
}
else
{
Kaufvorgang = false;
}
regex9  16.12.2017, 15:54

Das ist kein Ereignis, sondern ein Vergleich.

0