Gambas-it

Gambas3 => Programmazione => Topic aperto da: borch - 20 Ottobre 2012, 13:01:39

Titolo: A and B non controlla B se A è false
Inserito da: borch - 20 Ottobre 2012, 13:01:39
Esiste in Gambas un operatore logico del tipo
A and B
tale che B non viene controllato se A è false?
Grazie.
Titolo: Re: A and B non controlla B se A è false
Inserito da: Top Fuel - 20 Ottobre 2012, 14:50:20
Non credo proprio.
A parte not, gli altri operatori logici richiedono comunque un confronto tra due valori.
Titolo: Re: A and B non controlla B se A è false
Inserito da: splugenbrau - 20 Ottobre 2012, 15:35:30
Non so come ti sei accorto che Gambas valuta anche B.
E' un problema di ottimizzazione.
Per riparare la eventuale mancanza puoi fare 2 "if" nidificati:
if A then
      if B then ...
anche se non sarà tanto elegante.
Titolo: Re: A and B non controlla B se A è false
Inserito da: Picavbg - 20 Ottobre 2012, 23:29:31
Esiste in Gambas un operatore logico del tipo
A and B
tale che B non viene controllato se A è false?
Grazie.
lL'operatore logico "AND" viene in genere utilizzato per verificare la condizione che A e B  contengano lo stesso insieme di valori o, inversamente, non lo contengano
Es.:  If A >= 0 And B <= 100
Ciò però non significa che non si possa testare anche la seguente condizione
Es.:  If A >= 0 And B < 0
Per cui nel tuo caso, é possibile verificare:
Es.: If A  True And B = False

Io non so cosa tu debba verificare, ma saprai certamente che esistono anche gli operatori logici "OR" e "XOR".
Il primo permette di verificare che, date due variabili A e B, almeno una contenga il valore o l'insieme di valori  indicati nella frase "if"
Es.: If A>0 or B>0,   oppure: if A>20 or B<30,  oppure: if A=False or B=True

L'operatore logico "XOR", detto anche operatore logico esclusivo ragiona in termini opposti rispetto alla condizione riscontrata. Per dirla molto terra terra, somiglia molto al Signor Bastian contrario. É  un operatore che in genere si usa raramente, per cui, allo scopo di non generare confusione, per il momento ne trascurerei l'approfondimento.

Non so se sono stato chiaro. Eventualmente puoi sempre ricorrerere qui (http://www.gambasdoc.org/help/cat/logicop?it&v3) dove é spiegato anche tabellarmente quello che ho cercato di spiegarti brevemente sopra.
 :ciao: