C++ Junkatoren , typ bool Wahrheitswerte



  • Hallo zusammen,
    im Rahmen meiner Informatik Vorlesung sollen ein paar Aufgaben bearbeitet werden.
    Nun stehe ich vor folgender Aufgabe und weiß nicht wirklich, wie diese zu verstehen ist.

    Aufgabe:
    C++ kennt nur die Junktoren (=logische Operatoren) Negation, Und && und Oder ||,
    Schreiben Sie ein Programm, welches zwei Wahrheitswerte (Typ bool) einliest und die Ergebnisse untenstehender Verknüpfungen in der angegebenen Reihenfolgen ausgibt.

    . Und
    . Oder
    . Xor (exklusiv Oder)
    . Imp (Implikation)
    . Eq (Äquivalenz)

    Was ist hier mit zwei Wahrheitswerten gemeint? Die Typ bool Werte sind doch nur true und false, oder bin ich da falsch?

    PS: Ich bin absoluter C++ Anfänger



  • @jand61

    nur true und false

    Sind das nicht zwei?



  • Aber du brauchst eben zwei Werte, die du verknüpfen willst. z.B. true, true oder true, false, oder false, false.



  • @jand61 sagte in C++ Junkatoren , typ bool Wahrheitswerte:

    Hallo zusammen,
    im Rahmen meiner Informatik Vorlesung sollen ein paar Aufgaben bearbeitet werden.
    Nun stehe ich vor folgender Aufgabe und weiß nicht wirklich, wie diese zu verstehen ist.

    Aufgabe:
    C++ kennt nur die Junktoren (=logische Operatoren) Negation, Und && und Oder ||,
    Schreiben Sie ein Programm, welches zwei Wahrheitswerte (Typ bool) einliest und die Ergebnisse untenstehender Verknüpfungen in der angegebenen Reihenfolgen ausgibt.

    . Und
    . Oder
    . Xor (exklusiv Oder)
    . Imp (Implikation)
    . Eq (Äquivalenz)

    Was ist hier mit zwei Wahrheitswerten gemeint? Die Typ bool Werte sind doch nur true und false, oder bin ich da falsch?

    PS: Ich bin absoluter C++ Anfänger

    Zwei bool Werte einlesen ist soweit klar? (zwei bool Variablen in main() definieren und dann via cin einlesen)
    Als nächstes die Operatoren anwenden:

    int main() {
    	// A und B einlesen
    	std::cout << std::boolalpha;
    	std::cout << A << " && " << B << "\t== " << (A && B) << '\n';
    	// ...
    }
    

    Hoffe das hilft weiter.

    Eq ist der == Operator
    Xor ist für bool Werte im Prinzip das Selbe wie Ungleichheit !=
    Implikation check ich ganz ehrlich selber auch nicht, aber das musst Du auch basteln aus !, &&, ||

    https://www.c-plusplus.net/forum/topic/253957/implikation-wahrheitstabelle

    Wenn man sich die Tabelle anschaut kommt man eigentlich drauf wie die Verknüpfung von A und B aussehen muss.

    Wenn Du wirklich nur !, && und || verwenden darfst, wäre == und != halt "schummeln". Ich denke so ist die Aufgabe gemeint, sonst wäre Equivalenz trivial.



  • Alles klar, das hilft mir schon mal deutlich weiter...danke 🙂



  • Muss ich dann in der Eingabe für A und B "true" und "false" eingeben?



  • @jand61
    Nein, 0/1 (sofern du nicht auch bei cin std::boolalpha verwendest).


Anmelden zum Antworten