Verfügbare Informationen zu "Logische Verknüpfung"
Qualität des Beitrags: Beteiligte Poster: Kimi - Xin - Dirty Oerty Forum: Tutorials.at Forenbeschreibung: Programmierforum aus dem Unterforum: C / C++ Antworten: 4 Forum gestartet am: Mittwoch 19.04.2006 Sprache: deutsch Link zum Originaltopic: Logische Verknüpfung Letzte Antwort: vor 15 Jahren, 4 Monaten, 1 Tag, 7 Stunden, 24 Minuten
Alle Beiträge und Antworten zu "Logische Verknüpfung"
Re: Logische Verknüpfung
Kimi - 27.11.2007, 19:09Logische Verknüpfung
Hi habe ein paar aufgaben gemacht und habe nun mal eine frage.
Soweit habe ich alle aufgaben richtig bis auf eine und zwar diese:
int n=1,n2=17;
if (n1 > 0 && n2 > 0 || n1 > n2 && n2 !=17)
Ok folgende Aufgabenstellung ist da vorgegeben.
Sind die folgenden Aussagen wahr oder falsch?
So und da ja dieses NICHT (!) stärker bindet als && und || steht in der lösung wahr drin.
was mir aber bissle spanisch vorkommt bzw. ich habe irgendwo was verhauen, denn wenn n2 nicht gleich 17 ist und sie ist 17 dann ist es ja eigentlich falsch.
Weil bei dieser aufgabe:
int zahl=10,wert=100;
if (zahl!=0 || zahl > wert || wert-zahl == 90)
So hier ist die aussage wahr weil ja das ! mehr bindet als || demzufolge ist die aussage ja wahr.
es kann sein das ich das bestimmt wieder verhauen habe.
Danket euch.
Re: Logische Verknüpfung
Xin - 28.11.2007, 11:40Re: Logische Verknüpfung
Kimi hat folgendes geschrieben: Hi habe ein paar aufgaben gemacht und habe nun mal eine frage.
Soweit habe ich alle aufgaben richtig bis auf eine und zwar diese:
int n=1,n2=17;
if (n1 > 0 && n2 > 0 || n1 > n2 && n2 !=17)
Ok folgende Aufgabenstellung ist da vorgegeben.
Sind die folgenden Aussagen wahr oder falsch?
Wahr, da steht:
if( 1 > 0 && 17 > 0 )
Diese Bedingungen sind wahr, das heißt, der zweite Part wird schon nicht mehr ausgeführt, weil || wahr ist, egal was dahinter steht.
Kimi hat folgendes geschrieben: So und da ja dieses NICHT (!) stärker bindet als && und || steht in der lösung wahr drin.
Welches NICHT(!)?
Kimi hat folgendes geschrieben: was mir aber bissle spanisch vorkommt bzw. ich habe irgendwo was verhauen, denn wenn n2 nicht gleich 17 ist und sie ist 17 dann ist es ja eigentlich falsch.
Dafür hast Du ja die erste Bedingung.
wahr ODER (was auch immer) ist wahr.
Kimi hat folgendes geschrieben: Weil bei dieser aufgabe:
int zahl=10,wert=100;
if (zahl!=0 || zahl > wert || wert-zahl == 90)
zahl ist nicht 0, wahr. Fertig. Ausdruck ist wahr. Der Rest interessiert nicht.
Bei || wird der Ausdruck wahr, sobald der erste Ausdruck wahr wird, die Bearbeitung des Ausdrucks wird damit abgebrochen. Der Ausdruck wird nur komplett bearbeitet, wenn alle Unterausdrücke bis auf den letzten falsch sind.
Bei && wird der Ausdruck falsch, sobald der erste Ausdruck falsch wird, die Bearbeitung des Ausdrucks wird dann auch abgebrochen. Der Ausdruck wird nur komplett bearbeitet, wenn alle Unterausdrücke bis auf den letzten wahr sind.
Kimi hat folgendes geschrieben: So hier ist die aussage wahr weil ja das ! mehr bindet als || demzufolge ist die aussage ja wahr.
Welches "!"?
Hier gibt's !=, aber kein !.
Alle Vergleichsoperationen(==, !=, >=, <=) binden stärker als die logischen Verknüpfungen (&&, ||). ! bindet stärker als die Vergleiche.
Re: Logische Verknüpfung
Dirty Oerty - 28.11.2007, 17:21
Wenn du das anders hinschreibst wird das vielleicht etwas klarer, warum dei Aussage wahr ist:
int n=1,n2=17;
if ((n1 > 0) && (n2 > 0) || (n1 > n2) && (n2 !=17))
Und nun geht das meines Wissens nach so:
Es wird getestet, ob ROT wahr ist
=> Ist wahr
Es wird getestet ob BLAU richtig ist
=> Ist wahr
Dahinter steht nur ein ODER, das heißt eins ODER das andere.
Da das erste schon wahr ist wird das zweite drauf folgende nicht mehr geprüft.
Kann man von den Klammern her auch nochmal besser schreiben:
if ( ( (n1 > 0) && (n2 > 0) ) || ( (n1 > n2) && (n2 !=17) ) )
Das in der ersten großen Klammer ist wahr, also ist egal, was in der zweiten großen steht (wegen dem ODER )
Hoffe das stimmt^^
MfG
Daniel
Re: Logische Verknüpfung
Kimi - 28.11.2007, 20:42
Besten dank, habe es verstanden.
Jetzt ist es so einfach ok, habs verstanden, mannnnnn wie ich das verrhauen konnte wieder.
Also ok ich meinte das ! <-- entspricht dem NICHT (ist auch in meinem buch so beschrieben)
Da ja != <-- ungleich heißt, dass wusste ich, wollte das nur so in den raum stellen.
Aber danke nochmal an euch.
Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken
Weitere Beiträge aus dem Forum Tutorials.at
Kostenlose Homepages - gepostet von detewe89 am Samstag 24.11.2007
Mache ich den richtigen Kurs? - gepostet von Cypher am Samstag 03.03.2007
Dev C++ ein Download-Problem - gepostet von mismis am Mittwoch 27.12.2006
Moderator - gepostet von matze(2) am Montag 21.08.2006
FORTRAN - gepostet von detewe89 am Montag 01.10.2007
Datei einlesen - gepostet von Blümchen am Mittwoch 07.02.2007
Zeichen - gepostet von schlodel am Freitag 13.04.2007
escape sequenz in devcpp - gepostet von Elch am Donnerstag 09.08.2007
eingabe überprüfen [erledigt] - gepostet von AQE89 am Mittwoch 26.07.2006
Ähnliche Beiträge wie "Logische Verknüpfung"
Logische Folge - Marcus (Freitag 28.07.2006)
Enterprise - Logische Emotionen - cellen (Mittwoch 11.07.2007)
Verknüpfung zu YouTube - GL Nekekami (Dienstag 23.10.2007)
XP Tips Verknüpfung „Desktop anzeigen“ aus der............. - Krombacherman (Dienstag 13.04.2004)
Mitgliederliste + Verknüpfung - dragon (Sonntag 17.06.2007)
