Autore Topic: A and B non controlla B se A è false  (Letto 670 volte)

Offline borch

  • Gamberetto
  • *
  • Post: 38
    • Mostra profilo
A and B non controlla B se A è false
« il: 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.

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 960
    • Mostra profilo
Re: A and B non controlla B se A è false
« Risposta #1 il: 20 Ottobre 2012, 14:50:20 »
Non credo proprio.
A parte not, gli altri operatori logici richiedono comunque un confronto tra due valori.
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.

Offline splugenbrau

  • Grande Gambero
  • ***
  • Post: 205
    • Mostra profilo
Re: A and B non controlla B se A è false
« Risposta #2 il: 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.

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: A and B non controlla B se A è false
« Risposta #3 il: 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 dove é spiegato anche tabellarmente quello che ho cercato di spiegarti brevemente sopra.
 :ciao:
:ciao: