C++ Ausdrücke umgangssprachlich darstellen



  • manni66 schrieb:

    inflames2k schrieb:

    ja das sollte reichen. Könnte mir aber vorstellen, dass du vorangestellt "Wenn" schreiben solltest. Also: "wenn weder a und b, oder c"

    Siehst du da irgendwo ein if?

    Nein ich sehe da kein if, ich impliziere es aber, da der Ausdruck sonst keinen Sinn macht.



  • inflames2k schrieb:

    Nein ich sehe da kein if, ich impliziere es aber, da der Ausdruck sonst keinen Sinn macht.

    Ist auch korrekt so. Anders würde es wirklich keinen Sinn ergeben.
    Für meine erste Aussage habe ich nun:
    Wahr wenn a und b wahr sind, oder c nicht wahr ist.

    Für die zweite Aussage:
    Wahr wenn a oder b nicht wahr sind, oder c wahr ist.

    Denke mal das die Lösungen so korrekt sind.



  • inflames2k schrieb:

    Nein ich sehe da kein if, ich impliziere es aber, da der Ausdruck sonst keinen Sinn macht.

    Tatsächlich?

    bool x = a&&b||!c ;
    


  • Tatsächlich?

    Ja. Wenn man sich einfach vor Augen führt, was ein bool darstellt.. (bei ?: steht explizit auch kein if 😉 ) Darum ist DerGerd-s letzte Ausdrüchsweise meiner Meinung nach 100%ig korrekt.



  • DerGerd schrieb:

    a&&b||!c
    Kann mir das jemand vielleicht erklären? Ich raff es nicht

    in der Aussagenlogik ist !x || y = x -> y

    Also angewandt auf das obige Beispiel:
    c -> a&&b
    "aus c folgen a und b"



  • klassenmethode schrieb:

    DerGerd schrieb:

    a&&b||!c
    Kann mir das jemand vielleicht erklären? Ich raff es nicht

    in der Aussagenlogik ist !x || y = x -> y

    Also angewandt auf das obige Beispiel:
    c -> a&&b
    "aus c folgen a und b"

    Bitte was? Dort steht ganz klar dass a und b wahr sein müssen oder c nicht wahr sein darf. Da folgt nichts aus irgendetwas.



  • inflames2k schrieb:

    Da folgt nichts aus irgendetwas.

    doch, das stimmt schon so.

    "c -> a" ist äquivalent zu "!c || a" bzw. "a || !c"

    wenn wir jetzt "a" durch einen Ausdruck ersetzen, erhalten wir

    "c -> (a && b)" ist äquivalent zu "!c || (a && b)" bzw. "(a && b) || !c"



  • "aus x folgt y" ist wahr für alle 4 Kombinationen von x und y mit Ausnahme der Kombination x=1, y=0.
    Also x -> y = !(x && !y) = !x || y



  • Na gut meinetwegen, ist aber keine Variante wie ich das wörtlich ausdrücken würde.



  • DerGerd schrieb:

    a&&b||!c
    Daraus kann man doch bestimmt nicht einfach "a und b oder nicht c" machen, oder ?

    Jo.

    a&&b||!c
    

    wird zu

    a and b or not c
    

    und fertig ist der Lack.

    Im Falle von standardverweigernden Compilern kann

    #include <iso646.h>
    

    helfen.


Anmelden zum Antworten