Matematiikka : operaattorit

Loogiset operaattorit AND, OR, XOR ja NOT


   KUVAUS

Näitä operaattoreita käytetään yhdistelemään ehtoja, kuten:

JOS luku > 5 JA luku < 10 NIIN tulosta "luku oli 6-9"
JOS nimi$ = "Simo" TAI nimi$ = "Jukka" NIIN tulosta "luku oli 6-9"

Näitä käytetään lähinnä IF-lausekkeiden kanssa! Katso lisätietoja If-komennon ohjeesta.

Eli:

  • AND = "ja"
  • OR = "tai"
  • XOR = "joko tai"
  • NOT = "ei"

    AND
    Käytä tätä operaattoria yhdistääksesi kaksi väittämää ja tutkimalla ovatko ne kummatkin tosia. Tosi on mikä tahansa luku paitsi nolla. Epätosi taas on aina nolla. AND käyttäytyy tällä tavalla:

    VasenOikeaTulos
    TOSI TOSI TOSI
    TOSI EPÄTOSI EPÄTOSI
    EPÄTOSI TOSI EPÄTOSI
    EPÄTOSI EPÄTOSI EPÄTOSI

    Huomaa, että vain jos kummatkin puolet olivat tosia (ei nolla), niin ehto menee läpi.


    OR
    Käytä tätä operaattoria yhdistääksesi kaksi väittämää ja tutkimalla onko yksikään niistä tosi (eli ei nolla). OR käyttäytyy tällä tavalla:

    VasenOikeaTulos
    TOSI TOSI TOSI
    TOSI EPÄTOSI TOSI
    EPÄTOSI TOSI TOSI
    EPÄTOSI EPÄTOSI EPÄTOSI

    Huomaa, että jos yksikin on tosi (ei nolla), menee koko ehto läpi.


    XOR
    Tämä on poissulkeva "TAI". Käytä tätä operaattoria yhdistääksesi kaksi väittämää ja tutkimalla onko jompikumpi tosi (eli ei nolla). XOR käyttäytyy tällä tavalla:

    VasenOikeaTulos
    TOSI TOSI EPÄTOSI
    TOSI EPÄTOSI TOSI
    EPÄTOSI TOSI TOSI
    EPÄTOSI EPÄTOSI EPÄTOSI

    Huomaa, että vain jomman kumman on oltava tosi (ei nolla), jotta ehto menee läpi.


    NOT
    Käytä tätä operaattoria kääntääksesi toden epätodeksi ja päinvastoin. Not ottaa vain yhden luvun. NOT käyttäytyy tällä tavalla:

    OikeaTulos
    TOSI EPÄTOSI
    EPÄTOSI TOSI

  •    KÄYTTÖ
    a AND b
    a OR b
    a XOR b
    NOT a

  • a = lause 1
  • b = lause 2

  •    ESIMERKKI: AND
    'Psst.. The login name is "zero" and password is "secret"

    'Ask for name
    Repeat
        name$=Input("Login ID: ")
        DrawScreen
    Until KeyHit(cbkeyreturn)

    CloseInput

    AddText name

    Locate 0,20

    'Ask for password
    Repeat
        pass$=Input("Password: ","*")
        DrawScreen
    Until KeyHit(28)

    ClearText

    'Check if we have the access..
    If name$="Zero" And pass$="secret" Then

        Locate 0,0
        AddText "Welcome, Zero"
        
        Repeat
        
            DrawScreen
        Until EscapeKey()
        End

    Else

        Color cbred
        Locate 0,0
        AddText "Access denied."
        
        Repeat
        
            DrawScreen
        Until EscapeKey()
        End


    EndIf

       ESIMERKKI: OR
    AddText "Input number between 1 and 5"

    'ask the number
    Repeat
        num=Input("number: ")
        DrawScreen
    Until KeyHit(cbkeyreturn)

    CloseInput
    ClearKeys

    'check the number
    If num=1 Or num=2 Then
        Text 30,30,"You entered 1 or 2"
    ElseIf num=3 Or num=4 Or num=5
        Text 30,30,"You entered 3 or 4 or 5"
    ElseIf num= -20
        Text 30,30,"Secret cheat activated!"
    Else
        Text 30,30,"You entered invalid number"
    EndIf

    DrawScreen
    WaitKey

       ESIMERKKI: XOR

       ESIMERKKI: NOT
    AddText "Press Return to quit..."

    While Not KeyHit(cbkeyreturn)

        ClsColor Rand(255),Rand(255),Rand(255)

        DrawScreen

    Wend

    <<TAKAISIN