Validità: Rule, Task
Questi operatori operano fra grandezze booleane binarie e rendono un risultato di tipo booleano binario, cioè un risultato che può avere due soli valori: "vero" o "falso".
AND logico
Sintassi |
valueA and valueB |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
valueA |
Primo valore booleano |
|||||||||||||||
valueB |
Secondo valore booleano |
|||||||||||||||
Risultato |
|
Congiunzione logica fra espressioni booleane.
Esempio d utilizzo:
; se il contenuto del registro rr(12) è uguale a zero e l'input(5) è attivo (cioé diverso da zero) ; allora al registro stringa sr(1) sarà assegnata la stringa: ; "la variabile rr(12) è uguale a zero e l'input 5 è TRUE" _if ((rr(12) = 0) and inp(5)) sr(1) = "la variabile rr(12) è uguale a zero e l'input 5 è TRUE" ; se il contenuto dei registri r(12) e r(5) sono diversi da zero ; allora al registro stringa sr(1) sarà assegnata la stringa: ; "sia il registro r(12) che r(5) sono diversi da zero" _if (r(12) and r(5)) sr(1) = "sia il registro r(12) che r(5) sono diversi da zero" |
NOT logico
Sintassi |
not value |
||||||
---|---|---|---|---|---|---|---|
value |
Valore booleano |
||||||
Risultato |
|
Operatore di negazione logica di una espressione booleana.
Esempio di utilizzo:
; se è falso che il valore della variabile "value1" ; è uguale al contenuto del registro r(5) ; allora al registro stringa sr(3) sarà assegnata la stringa: ; "la variabile value1 è diversa dal contenuto di r(5)" if (not (value = r(5))) sr(3)= "la variabile pippo è diversa dal contenuto di r(5)" endif |
OR logico
Sintassi |
valueA or valueB |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
valueA |
Primo valore booleano |
|||||||||||||||
valueB |
Secondo valore booleano |
|||||||||||||||
Risultato |
|
Disgiunzione logica fra espressioni booleane.
Esempio di utilizzo:
; se il valore della variabile "value1" è diverso da zero ; oppure l'input(5) è attivo (cioé diverso da zero) ; allora al registro stringa sr(3) sarà assegnata la stringa: ; "la variabile value1 è <> 0 o l'input 5 è TRUE" if (value1 or inp(5)) sr(3) = "la variabile pluto è <> 0 o l'input 5 è TRUE" endif |
XOR logico
Sintassi |
valueA xor valueB |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
valueA |
Primo valore booleano |
|||||||||||||||
valueB |
Secondo valore booleano |
|||||||||||||||
Risultato |
|
Disgiunzione logica esclusiva fra espressioni booleane.
Esempio di utilizzo:
; se l'input(1) e l'input(2) sono entrambi veri o entrambi falsi ; allora alla variabile booleana reso sarà assegnato il valore falso ; se uno dei due input è vero e l'altro è falso ; allora alla variabile booleana reso sarà assegnato il valore vero reso = xor(inp(1), inp(2))
; se solo uno dei due input è vero e l'altro è falso ; allora il contenuto del registro r(1) viene incrementato di una unità if (xor(inp(1), inp(2))) inc(r(1) ,1) endif |