Ergebnis 1 bis 11 von 11

Thema: Was ergibt (!(!true XOR true) AND !(!false OR !true)) XOR (false OR (true XOR !false)

  1. #1

    Was ergibt (!(!true XOR true) AND !(!false OR !true)) XOR (false OR (true XOR !false)

    Was ergibt (!(!true XOR true) AND !(!false OR !true)) XOR (false OR (true XOR !false))

    kann mir mahl jamand sagen wie man so eine Aufgabe löst, danke.

  2. #2
    Zitat Zitat von Mays
    Was ergibt (!(!true XOR true) AND !(!false OR !true)) XOR (false OR (true XOR !false))

    kann mir mahl jamand sagen wie man so eine Aufgabe löst, danke.
    Ich versuche das mal in Worter auszudrücken :

    Wenn nicht nicht wahr oder wahr ist und wenn nicht nicht flasch oder nicht richtig ist oder wenn falsh order richtig oder nicht falsch.

    oO?

    In welchen bezug willst du das den wissen ?

  3. #3
    Öhm ... joar, was kann man dazu sagen? Beim letzten (nach dem vorletzten XOR) müsste jedenfalls false reinkommen, denn die Bedingung kann nicht einerseits true aber andererseits nicht true sein. Könnte man also, wenn ich mich nicht vertu, verkürzen auf ((true OR false) AND (false OR true)) XOR (false). Also, wenn die Bedingung entweder wahr oder falsch und falsch oder wahr, oder aber falsch ist. Im Grunde also eine ziemlich sinnlose Kontrollstruktur ._.

  4. #4
    Hm, boolesche Algebra.
    Ich würde einfach in den Klammern anfangen. Die logischen Verknüpfungen immer weiter auflösen bis du zum Schluss True oder False hast. Eine 50%ige Wahrscheinlichkeit auf Erfolg hast du eh. Falls du überhaupt keine Ahnung hast, frage ich mich wo du die Aufgabe her hast. Euer Lehrer(?) gibt euch doch wohl keine Aufgaben, die ihr noch nicht lösen könnt, oder?
    PS: Hm, mal schauen, was rauskommt. Ich editier mein Ergebnis gleich hier rein:
    Okay, mein Lösungsweg (schrittweise):
    Code:
    (!(!true XOR true) AND !(!false OR !true)) XOR (false OR (true XOR !false))
    (!(flase XOR true) AND !(true OR false)) XOR (false OR (true XOR true))
    (!(true) AND !(true)) XOR (false OR (true XOR true))
    (false AND false) XOR (false OR false)
    false XOR false
    false
    Naja, ist halt schritweise aufgelöst. Zuerst die NOT-Verknüpfungen und dann eben Stück für Stück die Klammern aufgelöst und zum Schluss kommt 'false' raus, wenn ich mich nicht vertan habe.
    PPS: Gehört vielleicht eher in's Programmierforum?

    freundliche Grüße, Rolus

    Geändert von Rolus (28.05.2005 um 14:12 Uhr)

  5. #5
    false.

    Oh. Du willst auch wissen WIE man sie löst. Moment.

    Okay, Rolus hats genauso gelöst wie ich. -_-.

    Geändert von Dingsi (28.05.2005 um 14:12 Uhr)

  6. #6
    Das ist eine Aufgabe aus nem Tutorial.
    Aso, man geht vor wie beim Rechner, erst kommen die Klammern.

    Wie ist das hier
    !(!true XOR true)
    ihr geht vor das ihr, erst bearbeitet was in der Klammer steht, dadurch das da ja ein ! vorsteh, könnte man doch auch erst, alles umdrehen, so (!false XOR false), dann (true XOR false), am ende kommt das selbe bei raus. Zumindest hier bei, kann man das immer machen oder war das hierbei nur zufall?.

  7. #7
    Bei mir kommt am Ende nicht das selbe Raus oO
    Beispiel:
    Code:
    !(!true XOR true)
    !(false XOR true)
    !true
    false
    
    !(!true XOR true)
    (!false XOR false)
    (true XOR false)
    true
    Oder mach ich da irgendwo einen Fehler oO?

  8. #8
    Also ich bezweifle, dass man einfach so alles umdrehen kann. Man muss, wie Latency, erstmal innerhalb der Klammer alles ausrechnen und dann erst das NOT vor der Klammer anwenden. Denk ich.

  9. #9
    @Latency: Du machst keinen Fehler. Man kann nicht einfach erst das ! und dann die Klammer verarbeiten.

    @OT: Wozu braucht man sowas? Wieso kann ich nicht einfach false benutzen Oo

  10. #10
    Zitat Zitat von dead_orc
    @OT: Wozu braucht man sowas? Wieso kann ich nicht einfach false benutzen Oo
    Solche Aufgaben braucht man wohl in erster Linie um das Prinzip zu verstehen Und das Prinzip braucht man z.B. für Bitmanipulation. Schließlich kann man auch mit Assembler die Bits nicht so direkt ansprechen. Das macht man dann eben mit hilfe der Bitmanipulation.
    Zum Beispiel wird der XOR-Befehl häufig genutzt um ein Register zu leeren.
    Übergibt man dem XOR Befehl nämlich zweimal den gleichen Operanden, so kommt immer 0 raus (0 XOR 0 -> 0; 1 XOR 1 -> 0). Zum Leeren eine Registers/einer Variable wird also immer XOR benutzt. Die Alternative zu XOR ax,ax(Entweder-Oder-Verknüpfung mit AX und AX) wäre mov ax,0(Schiebe 0 nach AX). Die zweite Variante ist aber, wenn sie vom Assembler übersetzt wurde, um ein Byte länger als die XOR-Methode.
    Code:
    xor ax,ax -> 31 C0 ; nur zwei byte prozessorcode
    mov ax,0 -> B8 00 00 ; drei byte prozessorcode
    Und das ist nur ein (zugegebenermaßen recht konkretes) Beispiel. Solche logischen Verknüpfungen braucht man also recht häufig für Dinge wie Bitmanipulation etc, da es Dinge sind, die der Logik des Computers recht nahe liegen. Solche Aufgaben wie oben dienen aber wohl nur zur Übung, würde ich sagen.

    freundliche Grüße, Rolus

    Geändert von Rolus (29.05.2005 um 09:04 Uhr)

  11. #11
    Die schnellste Lösung (Kommandozeile; ob und wie das unter Windows auf diese Art geht weis ich nicht...):
    Code:
    php -r 'echo ((!(!true XOR true) AND !(!false OR !true)) XOR (false OR (true XOR !false))) ? "true" : "false";'
    Leicht geschummelt zwar und man lernt nix dabei, aber man kommt mit 100%iger Sicherheit auf die richtige Lösung

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •