Logische Tafeln / Wahrheitswerte

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Ich muss mir echt oft an den Kopf fassen, was Leute hier für if-Dinger zustande bringen, deswegen mal was basisches, was eigentlich nicht fehlen darf und trotzdem keiner erwähnt: Logische Aussagen


    Was ist das ?
    Gut, dass du fragst, eine logische Aussage beschreibt, ob etwas wahr („true ) ist oder nicht („false“)



    Beispiele:
    „ich bin Tion“ - wahr
    „ich bin @BlackAce“ - falsch


    Diese Aussagen können auch verneint werden, so wird aus falschen wahren und aus wahren falsche Aussagen
    „ich bin nicht Tion“ - falsch ( durch Verneinung mit „nicht“ )
    „ich bin nicht @Lars_Vegas“ - wahr ( durch Verneinung mit „nicht“ )


    Außerdem können Aussagen auch verknüpft werden - mit einen „oder“ und einem „und“.
    Damit die Gesamtaussage stimmt, müssen bei der und-Verknüpfung beide werde stimmen, bei der oder mindestens einer
    „ich bin Tion und mag @Lars_Vegas“ ( beides wahr, Gesamtausage wahr )
    „ich bin Tion und @intel_c0re“ ( erstes wahr, zweites falsch, Gesamtaussage falsch )
    „ich bin Tion oder @SSL“ ( erstes wahr, zweites falsch, Gesammt wahr )


    Innerhalb der Aussagen kann sich negiert werden
    „ich bin Tion und nicht @SSL“ - wahr
    „ich bin nicht Tion und @SSL“ - falsch
    „ich bin Tion und mag nicht Stress“ - wahr
    „ich bin nicht Tion und mag Stress“ - falsch


    In den meisten Programmiersprachen werden für Verneinungen ein „!“ vor die Aussage gestellt und Verknüpft werden sie mit „&&“ ( und-Verknüpfung ) oder „||“ ( oder-Verknüpfung ).
    In den folgenden Beispielen sind p, q & r logische Aussagen [table=2]
    [*] Aussage
    [*] In Text


    [*] p && !q
    [*] p und nicht q


    [*]q && !p
    [*] q und nicht p


    [*] p && !q || r
    [*] p und nicht q oder r
    [/table]


    Beispiel-Anwendungen:
    Der User soll Member (p) oder Leader (q) der Gruppe 5 sein: p == 5 || q == 5 Der User soll weder Member (p) noch Leader der Gruppe 5 sein p != 5 && q != 5 Der User soll sich in der Zone befinden (r) oder Member(p) / Leader(q) der Gruppe 5 sein r || (p == 5 || q == 5) // Klammern kann man weglassen


    So, dass war mein kurzes Tutorial - Geswyped in etwa 25 Minuten.


    Tion


    e: Verbessert, danke an Goldkiller :)
    e2: Fix des Fixes

  • Denn BBCode musst du definitiv noch fixen.


    Zitat

    „ich bin nicht Tion und @SSL“ - wahr


    Ist nicht wahr. Du bist doch Tion.


    [table=2]
    [*] Aussage
    [*] In Text


    [*] p && !q
    [*] p oder und nicht q


    [*]q && !p
    [*] q oder und nicht p


    [*] p && !q || r
    [*] p und nicht q oder r
    [/table]


    Zitat

    So, dass war mein kurzes Tutorial - Geswyped in etwa 25 Minuten.


    Die Dauer in der du den Text geschrieben hast ist nicht wirklich relevant oder ein Qualitätsmerkmal.

  • Tion kannst ja sowas auch einbauen in dein Tut um einen string auszugeben ob etwas so ist oder nichz beziehungsweise auch ein bool


    Beispiel bei einer variabel



    printf("Ist a wirklich 12: %s", a == 12 ? ("Ja") : ("Nein"));
    dan könnte man auch so einen string returnen


    oder bei bools


    new bool:abfrage;
    abfrage=(a == 12)?(true):(false);
    dazu hin wenn man das verwendet in einem public oder stock kann man das auch returnen
    return var;

  • Tion kannst ja sowas auch einbauen in dein Tut um einen string auszugeben ob etwas so ist oder nichz beziehungsweise auch ein bool

    Du meinst "Inline Conditions", oder ?
    Kann ich später reinsetzen :thumbup:

  • Richtig nice


    nur jetzt weiß ich auch dank goldi den fehler bei mir XD


    8/10 :thumbup:

  • Inline Conditions , dass würde dein Tutorial noch abrunden.


    Der Ternary-Operator ist grob vereinfacht ausgedrückt eine normale If-Abfrage mit einer anderen Schreibweise.


    // Normal
    if(Bedingung) {
    // Wahr
    }
    else {
    // Falsch
    }
    // Ternary
    if(Bedingung) : (WAHR) ? (FALSCH)


    Der in diesem Tutorial erklärte Teil, nämliche die Bedingung bleibt aber gleich.

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.