operatori logici

Rem funzioni logiche
vero
And vero TRUE entrambe condizioni vere
vero
OR vero TRUE se almeno una condizione vera
vero
NOT vero TRUE se entrambe condizioni vere
vero
Xor vero TRUE se una vera e una falsa
vero
EQV vero TRUE se entrambe condizioni vere o false
vero
IMP vero FALSE solo se prima condizione vera e seconda falsa

esempi con dati numerici da inserire da tastiera


per bolea1.ppt

true se entrambi numeri sono positivi AND

creare due pulsanti(attivare, cancellare), due caselle di testo (intero1, intero2), una listbox (lista) (giallo)
creare tre label (inserire testo informativo, non necessarie per programma)

codice da copiare e incollare

Private Sub attivare_Click()
Rem controlla segno dei numeri
Rem se entrambi positivi esegue prodotto
Rem altrimenti esegue somma algebrica
Dim x As Integer
Dim y As Integer
x = intero1 'inserire intero
y = intero2 'inserire intero
If verifica(x, y) Then
lista.AddItem ("vero " & x * y)
Else
lista.AddItem ("falso " & x + y)
End If
End Sub

Public Function
verifica(x As Integer, y As Integer)
If x > 0 And y > 0 Then
verifica = True
Else
verifica = False
End If
End Function

Private Sub cancellare_Click()
intero1 = ""
intero2 = ""
End Sub


bolea2.ppt

true se almeno un numero è positivo OR

 

creare due pulsanti(attivare, cancellare), due caselle di testo (intero1, intero2), una listbox (lista) (giallo)
creare tre label (inserire testo informativo, non necessarie per programma)

codice da copiare e incollare

Private Sub attivare_Click()
Rem controlla segno dei numeri
OR
Rem se almeno 1 positivo TRUE, esegue prodotto
Rem altrimenti se entrambi negativi FALSE, esegue somma
Dim x As Integer
Dim y As Integer
x = intero1 'inserire intero
y = intero2 'inserire intero
If verificaOR(x, y) Then
lista.AddItem ("vero " & x * y)
Else
lista.AddItem ("falso " & x + y)
End If
End Sub

Public Function
verificaOR(x As Integer, y As Integer)
If x > 0 Or y > 0 Then
verificaOR = True
Else
verificaOR = False
End If
End Function

Private Sub cancellare_Click()
intero1 = ""
intero2 = ""
End Sub


bolea3.ppt

TRUE se numeri con segno opposto XOR

 

creare due pulsanti(attivare, cancellare), due caselle di testo (intero1, intero2), una listbox (lista) (giallo)
creare tre label (inserire testo informativo, non necessarie per programma)

codice da copiare e incollare

 

Private Sub attivare_Click()
Rem controlla segno dei numeri
XOR
Rem se entrambi positivi o negativi FALSE:somma
Rem altrimenti se di segno opposoto TRUE:prodotto
Dim x As Integer
Dim y As Integer
x = intero1 'inserire intero
y = intero2 'inserire intero
If verificaXOR(x, y) Then
lista.AddItem ("vero " & x * y)
Else
lista.AddItem ("falso " & x + y)
End If
End Sub

Public Function
verificaXOR(x As Integer, y As Integer)
If x > 0 And y > 0 Then
verificaXOR = False
Else
If x < 0 And y < 0 Then
verificaXOR = False
Else
verificaXOR = True
End If
End If
End Function

Private Sub cancellare_Click()
intero1 = ""
intero2 = ""
End
Sub


 

bolea4.ppt

TRUE se con stesso segno, FALSE se con segno discorde EQV

 

creare due pulsanti(attivare, cancellare), due caselle di testo (intero1, intero2), una listbox (lista) (giallo)
creare tre label (inserire testo informativo, non necessarie per programma)

codice da copiare e incollare

 

Private Sub attivare_Click()
Rem controlla segno dei numeri
EQV
Rem se entrambi positivi o negativi TRUE :prodotto
Rem altrimenti se segno discorde FALSE:somma
Dim x As Integer
Dim y As Integer
x = intero1 'inserire intero
y = intero2 'inserire intero
If verificaEQV(x, y) Then
lista.AddItem ("vero " & x * y)
Else
lista.AddItem ("falso " & x + y)
End If
End Sub

Public
Function verificaEQV(x As Integer, y As Integer)
If x > 0 And y > 0 Then
verificaEQV = True
Else
If x < 0 And y < 0 Then
verificaEQV = True
Else
verificaEQV = False
End If
End If
End Function
Private Sub cancellare_Click()
intero1 = ""
intero2 = ""
End Sub


bolea5.ppt
vero se prima condizione vera IMP

 

creare due pulsanti(attivare, cancellare), due caselle di testo (intero1, intero2), una listbox (lista) (giallo)
creare tre label (inserire testo informativo, non necessarie per programma)

codice da copiare e incollare

Private Sub attivare_Click()
Rem controlla segno dei numeri
IMP
Rem se entrambi positivi o negativi TRUE :prodotto
Rem se primo negativo e secondo positivo:TRUE prodotto
rem se primo posititivo e secondo negativo FALSE:somma
Dim x As Integer
Dim y As Integer
x = intero1 'inserire intero
y = intero2 'inserire intero
If verificaIMP(x, y) Then
lista.AddItem ("vero " & x * y)
Else
lista.AddItem ("falso " & x + y)
End If
End Sub

Public Function verificaIMP(x As Integer, y As Integer)
If x > 0 And y > 0 Then
verificaIMP = True
Else
If x < 0 And y < 0 Then
verificaIMP = True
Else
If x < 0 And y > 0 Then
verificaIMP = True
Else
If x > 0 And y < 0 Then
verificaIMP = False
End If
End If
End If
End If
End Function

Private Sub cancellare_Click()
intero1 = ""
intero2 = ""
End Sub


bolea6.ppt

TRUE se entrambe condizioni vere (a>0 e b NOT < 0) es.6 e 8

 

creare due pulsanti(attivare, cancellare), due caselle di testo (intero1, intero2), una listbox (lista) (giallo)
creare tre label (inserire testo informativo, non necessarie per programma)

codice da copiare e incollare

 

Private Sub attivare_Click()
Rem controlla segno dei numeri
NOT
Rem se entrambi positivi TRUE :prodotto
Rem altrimenti esegue somma algebrica
Dim x As Integer
Dim y As Integer
x = intero1 'inserire intero
y = intero2 'inserire intero
If verificaNOT(x, y) Then
lista.AddItem ("vero " & x * y)
Else
lista.AddItem ("falso " & x + y)
End If
End Sub

Public Function verificaNOT(x As Integer, y As Integer)
If x > 0 And Not y < 0 Then
verificaNOT = True
Else
verificaNOT = False
End If
End Function

Private Sub cancellare_Click()
intero1 = ""
intero2 = ""
End Sub