Operátor celočíselného delenia
Delenie dvoch ľubovoľných čísel poznáte pod operátorom /. Existuje aj operátor celočíselného delenia, ktorý vráti celé číslo. Znak celočíselného delenia je \. Ak delíme dve celé číslo týmto operátorom, vráti celé číslo. Ak delíme celočíselným operátorom dve desatinné čísla, vyjde celé číslo. A nielen to. Pri celočíselnom delení považuje desatinné čísla za celé. Inak povedané desatinné čísla zaokrúhli buď hore alebo dole podľa pravidiel zaokrúhľovania.
1. príklad: Zmiešaný príklad na klasické a celočíselné delenie.
Sub example
MsgBox "31/6 = " & 31/6 & Chr(10) &
"31\6 = " & 31\6 & Chr(10) & "-31/6 = " & -31/6 & Chr(10) & "-31\6 = " & -31\6 &
Chr(10) & "31/-6 = " & 31/-6 & Chr(10) & "31\-6 = " & 31\-6 & Chr(10) & "31/6.5 = " &
31/6.5 & Chr(10) & "31\6.5 = " & 31\6.5 & Chr(10)
End Sub
Výsledná činnosť makra
Operátor AND
Začneme prvou logickou operáciou a to AND. Pri operácii AND musia byť všetky pravdivostné hodnoty pravdivé, potom vráti, že výrok je pravdivý.
2. príklad: Využitie operátoru AND
Sub example REM začiatok procedúry Dim retazec As String REM deklarácie premenných Dim pole1() Dim pole2() Dim i As Integer pole1() = Array(True, False, True, False) REM naplnenie polí pole2() = Array(True, False, False, True) For i = LBound(pole1()) To UBound(pole1()) REM cyklus retazec = retazec & pole1(i) & " AND " & pole2(i) & " = " & CBool(pole1(i) AND pole2(i)) & CHR(10) Next MsgBox retazec REM výpis reťazca End Sub REM koniec procedúry
Výsledok
Rozbor makra: Výsledok nám dáva za pravdu, že len ak sú oba z dvoch pravdivostných hodnôt pravdivé, výsledok je pravdivý. Inak je nepravdivý.
Operátor OR
Logická operácia OR nám dáva hodnotu pravdivú, ak aspoň jeden zo skúmaných výrokov je pravdivý. Inak je nepravdivý.
3. príklad: Využitie operácie OR
Sub example Dim retazec As String Dim pole1() Dim pole2() Dim i As Integer pole1() = Array(True, False, True, False) pole2() = Array(True, False, False, True) For i = LBound(pole1()) To UBound(pole1()) retazec = retazec & pole1(i) & " OR " & pole2(i) & " = " & CBool(pole1(i) OR pole2(i)) & CHR(10) Next MsgBox retazec End Sub
Výsledok
Rozbor makra: V ukážke vidíte, že ak aspoň jedna z hodnôt (resp. výrokov) je pravdivá, tak výsledok je pravdivý.
Operátor XOR
Exkluzívny OR je trochu sa mierne líši od klasického OR. Platí, že ak aspoň jedná z hodnôt je pravdivá, tak je pravdivý celý výrok, ale zároveň nesmú mať oba pravdivé hodnoty. Ak sú všetky hodnoty pravdivé, potom je výraz nepravdivý. Presvedčí vás o tom príklad.
4. program: Využitie operácie XOR
Sub example Dim retazec As String Dim pole1() Dim pole2() Dim i As Integer pole1() = Array(True, False, True, False) pole2() = Array(True, False, False, True) For i = LBound(pole1()) To UBound(pole1()) retazec = retazec & pole1(i) & " XOR " & pole2(i) & " = " & CBool(pole1(i) XOR pole2(i)) & CHR(10) Next MsgBox retazec End Sub
Výsledok
Rozbor makra: Z výsledku makra sa nám potvrdilo, že ak jedna z hodnôt je pravdivá a zároveň nie sú všetky, potom je výsledok pravdivý, inak je nepravdivý.
Operátor EQV
EQV ako operátor ekvivalencie dáva odpoveď pravdivú vtedy, ak oba hodnoty majú rovnakú hodnoty. Inak je výsledok nepravdivý. Ukážka v príklade.
5. program: Využitie operácie EQV
Sub example Dim retazec As String Dim pole1() Dim pole2() Dim i As Integer pole1() = Array(True, False, True, False) pole2() = Array(True, False, False, True) For i = LBound(pole1()) To UBound(pole1()) retazec = retazec & pole1(i) & " EQV " & pole2(i) & " = " & CBool(pole1(i) EQV pole2(i)) & CHR(10) Next MsgBox retazec End Sub