|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2002
Messaggi: 2870
|
Pascal e variabili di tipo Booleano
Ho cominciato a studiare il Pascal, ma mi trovo di fronte ad un problema: non capisco come funziona ed a che serve una variabile di tipo Booleano, e soprattutto che diavolo sono quelle tavole "farcite" di true e false
tipo: A B A And B true true true |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19149
|
per le tavole farcite di true e false dovresti essere un po' più specifico.
il tipo di dato boolean può avere due valore, true o false. gli usi possono essere molteplici, certo se mi chiedi un esempio al momento non mi viene in mente nulla di buono, cmq io li uso nei cicli o in qualche record. mi sembra strano che programmando non ti sia mai venuto il bisogno di usare un boolean... boh |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jan 2002
Messaggi: 2870
|
considera che ho appena cominciato; ora pultroppo non ho molto tempo, quindi le tabelle le scanerizzo e le metto on.line, domani
Ci risentiamo |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jul 2002
Messaggi: 2183
|
non è che quelle sono tipo tabelle di verità?
tipo vero = vero falso = falso vero + vero = vero vero + falso = vero falso + falso = falso cmq le variabili booleane (parlo x qualsiasi linguaggio di prog, non ho mai visto pascal |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jan 2002
Messaggi: 2870
|
scusate, ma ieri non ho proprio potuto farmi sentire
Vi posto tutto il paragrafo; cercate di spiegarmelo PARTE 1 |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jan 2002
Messaggi: 2870
|
...e parte 2 (entrambe in 1 messaggio non ci entravano)
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jan 2002
Messaggi: 2870
|
scusate se come qualità non sono al top ma ho dovuto comprimere
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quello che hai scannerizzato c'entra ben poco con il linguaggio di programmazione usato... E' così che funzionano le variaibli booleane...vero o falso...
Sai fare le operazioni Or e And in binario ? Le varaibili booleane funzionano allo stesso mobo... |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jan 2002
Messaggi: 2870
|
Quote:
|
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19149
|
operazione AND:
la tabella di verità ti dice che a b a AND b 0 0 0 1 0 0 0 1 0 1 1 1 se vuoi al posto di 0 e 1 ci metti false e true. significa che la AND vale vero (1) se entrambi gli operandi valgono vero. la OR invece a b a OR b 0 0 0 1 0 1 0 1 1 1 1 1 basta che uno dei due operandi valga 1 (vero) e il risultato sarà vero. |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19149
|
operazione AND:
la tabella di verità ti dice che a b a AND b 0 0 0 1 0 0 0 1 0 1 1 1 se vuoi al posto di 0 e 1 ci metti false e true. significa che la AND vale vero (1) se entrambi gli operandi valgono vero. la OR invece a b a OR b 0 0 0 1 0 1 0 1 1 1 1 1 basta che uno dei due operandi valga 1 (vero) e il risultato sarà vero. queste tabelle ti vengono utili nei casi di costrutti di selezione o iterazione (così c'è scritto sui libri, in pratica con la IF oppure con il WHILE e il FOR). quando fai ad esempio una IF devi mettere una condizione, ecco nelle condizioni puoi usare la OR e la AND (ad esempio, i > 0 AND i < 4 significa che la condizione è vera se i è compreso tra 1 e 3). |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Il problema trascende dal Pascal...le variabili booleane fanno parte della "logica". Una variabile booleana può assumere solo 2 valori: vero, falso, ovvero 1 e 0 , ovvero acceso, spento.
La tabella dell'allegato spiega come funzionano gli operatori logici AND , OR e NOT. Il più semplice è il NOT, la negazione: se tu neghi il vero, ottieni il falso (se neghi lo 0 ottieni l'1) e viceversa. L'operatore OR: ottieni "vero" solo quando almeno unop dei 2 operatori e vero: 0 OR 0 = 0 0 OR 1 = 1 1 OR 0 = 1 1 OR 1 = 1 L'operatore AND: ottieni "vero" solo quando tutti e due gli operatori sono veri: 0 AND 0 = 0 0 AND 1 = 0 1 AND 0 = 0 1 AND 1 = 1 A cosa servono nella programmazione...bhè...servono come condizioni nelle "if" o nei cicli! Es: (java) boolean a = true; boolean b = false; if (a || b){ // a OR b ...istruzioni... } while (a && b){ // a AND b ...istruzioni... } Naturalmente a e b possono derivare da una qualunque istruzione, che so, ad es a è vera se una certa stringa ha lunghezza maggiore di 4 e b se ha lunghezza minore di 9... |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Jan 2002
Messaggi: 2870
|
ora non ho il tempo di ragionarci, domani ci provo con comodo e vediamo che cosa capisco
Il sonno mi ha annebbiato la vista; comunque mi siete sembrati molto chiari Grazie ed a domani |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Jan 2002
Messaggi: 2870
|
comincio a capirci qualcosa finalmente; chissà se su internet c'è una documentazione completa rispetto alla matematica Booleana in italiano ad un livello comprensibile ad uno studente del liceo scientifico nel 3° anno
Ne sapete qualcosa??? |
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Comunque vedi l'OR come una somma...e l'AND come un prodotto.. Quindi (utilizzando 0 e 1 al posto di falso e vero) : 0 OR 0 = 0 (0+0=0) 1 OR 0 = 1 0 OR 1 = 1 1 OR 1 = 1 (attenzione 1+1 = 1) 0 AND 0 = 0 (0*0=0) 1 AND 0 = 0 0 AND 1 = 0 1 AND 1 = 1 Il NOT poi è molto banale... NOT 1 = 0 NOT 0 = 1 Ti scrivo qualche test : a = 5 b = 7 ((a < 5) OR (b < 8)) AND ((b-a) > 0) a < 5 : no...falso (cioè 0) b < 8 : sì...vero (cioè 1) (b-a) > 0 : sì...vero (cioè 1) Quindi : (falso OR vero) AND vero = (0 + 1) * 1 = 1 cioè vero... Puoi ottenere anche na spiegazione a parole : a < 5 oppure b < 8 : sì (vero) b è minore di 8 (quindi une dei due predicati è vero...oppure : o l'uno e/o l'altro deve essere vero per ritornare vero)... Se la prima parte è vera e la seconda (b-a > 0) è vera ritorno vero... La prima parte è vera...e l'abbiamo visto prima...la seconda è vera (è vero che (b-a) > 0)...quindi il risultato è VERO... Prova tu a fare lo stesso ragionamento con a = 9 e b = 8... |
|
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Quote:
|
|
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Non è che ti puoi chiedere perchè l'OR e l'AND sono così...o meglio..te lo puoi chiedere, ma tutto deriva dal linguaggio parlato "o questo e/o quell'altro" e "sia quello che quell'altro" |
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Jan 2002
Messaggi: 2870
|
il punto è che ci sono anche altre funzioni tipo >= <= e così via
Comunque sono a buon punto |
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Che ti importa che ci siano quegli operatori...
Basta sapere quando ti ritornano vero (e questo lo vedi dal significato dell'operatore) e quando ti ritornano falso... |
|
|
|
|
|
#20 |
|
Member
Iscritto dal: Sep 2002
Messaggi: 31
|
Gli operatori di cui parli non ti servono con le variabili booleane
ma per fare confronti fra numeri o fra variabili numeriche
__________________
It can't rain all the time... |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:00.



















