Quadro verdade falso [Resolvido]

boa noite pessoal,

tenho uma certa curiosidade…

como que funciona o quadro logico de verdade e falso?

nao quero apenas que copiem e colem o quadro mas gostaria de uma explica logica o pq quando é

V ou F = V

V e F = F

tipo isso, daonde vem esse racicionio…

Obrigado

Vou converter o quadro verdade para a notação do Java para você entender melhor e poder até testar.

true | false == true
true & false == false

| quer dizer: se pelo menos uma das alternativas for verdadeira, então é verdadeira.
& quer dizer: se todas as alternativas forem verdadeiras, então é verdadeira.

No seu caso:

true | false --> pelo menos uma das alternativas é true --> true

true & false --> uma das alternativas é false, portanto não pode ser true, já que isso exigiria que todas as alternativas fossem true. Logo é false.

[quote=entanglement]Vou converter o quadro verdade para a notação do Java para você entender melhor e poder até testar.

true | false == true
true & false == false

| quer dizer: se pelo menos uma das alternativas for verdadeira, então é verdadeira.
& quer dizer: se todas as alternativas forem verdadeiras, então é verdadeira.

No seu caso:

true | false --> pelo menos uma das alternativas é true --> true

true & false --> uma das alternativas é false, portanto não pode ser true, já que isso exigiria que todas as alternativas fossem true. Logo é false.
[/quote]

bacana sua explicação simples

me lembrei deste operador…vi num livro referindo como curto circuito que verifica as 2 possibilidades…

obrigado

[quote=entanglement]Vou converter o quadro verdade para a notação do Java para você entender melhor e poder até testar.

true | false == true
true & false == false

| quer dizer: se pelo menos uma das alternativas for verdadeira, então é verdadeira.
& quer dizer: se todas as alternativas forem verdadeiras, então é verdadeira.

No seu caso:

true | false --> pelo menos uma das alternativas é true --> true

true & false --> uma das alternativas é false, portanto não pode ser true, já que isso exigiria que todas as alternativas fossem true. Logo é false.
[/quote]

Na verdade o pipe, |, é o operador or bitwise e o & é o and bitwise. O logic or em java é o || e o logic and é o &&.

true && false == false
true || false == true

[quote=matheuslmota]
Na verdade o pipe, |, é o operador or bitwise e o & é o and bitwise. O logic or em java é o || e o logic and é o &&.

true && false == false
true || false == true[/quote]
Na verdade o pipe é o operador or. O duplo pipe é o shorct circuit or. A diferença entre ambos é que o primeiro avalia sempre TODAS as condições e o segundo para assim que obtem um true pq já sabe que a resposta é true.
O mesmo para & e &&, com a diferença que para num false porque a resposta será false.

É importante saber isso porque:[code]
int i = 0;
int j = 2;

if ( i == 1 && j++ == 2){
//faz qq coisa
}
//j aqui terá o valor 2 porque como a primeira instrução é falsa, a segunda não é executada e j não é incrementado
[/code]

int i = 0;
int j = 2;

if (  i == 1 & j++ == 2){
//faz qq coisa
}
//j aqui terá o valor 3 porque apesar a primeira instrução ser falsa, todas as instruções são executadas e só depois é avaliado o resultado final da expressão

Amanha quero ir à praia e ao cinema. Só satisfaço a minha condição se for a praia e ao cinema. Ir apenas a um deles não é o que pretendo. Assim, só V & V é que dão V como resultado.
Amanha quero ir à praia ou ao cinema. Satisfaço a minha condição se for pelo menos a um deles. Assim, V | F dará V porque já tive o que queria.

[quote=pmlm][quote=matheuslmota]
Na verdade o pipe, |, é o operador or bitwise e o & é o and bitwise. O logic or em java é o || e o logic and é o &&.

true && false == false
true || false == true[/quote]
Na verdade o pipe é o operador or. O duplo pipe é o shorct circuit or. A diferença entre ambos é que o primeiro avalia sempre TODAS as condições e o segundo para assim que obtem um true pq já sabe que a resposta é true.
O mesmo para & e &&, com a diferença que para num false porque a resposta será false.
[/quote]

Não amigo, não é isso que a documentação diz:
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op3.html

[quote=javadoc]The bitwise & operator performs a bitwise AND operation.
The bitwise | operator performs a bitwise inclusive OR operation.[/quote]

bom primeiro que o operador que verifica ambas as condições é | == ou … & == e…

ai ficou outra duvida que já achei…

como funciona isso dentro do hardware

http://wwwusers.rdc.puc-rio.br/rmano/ptlog.html

neste link vem explicando direito…

mas ai veio uma duvida nova, como funciona isso com logica ternaria…

vlw

Esse raciocínio vem da definição.
Ou seja, são premissas que um matemático ou filósofo criou, estudando algum comportamento.

Toda matemática é baseada nessas premissas, que nada mais são do que princípíos simples, básicos, fortes, mas geralmente não comprováveis, que fundamentam toda uma teoria.

No caso da lógica, as premissas iniciais que fundamentaram a lógica foram duas:
a) Princípio da não contradição: Ou a coisa é, ou não é. Não existe outra valor que não seja V ou F.
b) Princípio do terceiro excluído: Portanto V ou F é sempre V. V e F é sempre F.

Com base nisso, cria-se toda lógica que você estuda para computação.

Quanto à lógica ternária, ela não tem nada a ver com a lógica aristotélica, e nada do que você viu de computação e citou aqui no fórum se aplica a ela.
Afinal, ela nega essas premissas ao dizer que pode haver um terceiro valor (e daí seu nome). Isso não se aplica a circuitos, nem à computação.

Geralmente, outro tipo de lógica exótica que você verá é a lógica difusa (fuzzy). Ela permite atribuir percentuais de certeza. É usada em computação pois pode representar o comportamento de sinais analógicos e filtros. É um bocado usada em IA para jogos e robótica também. Mas ela também não tem nada a ver com a lógica aristotélica.

Não tente comparar as lógicas entre si, pois embora pareçam similares à princípio, são criaturas completamente diferentes.

Essa foi boa, como diria minha professora, mais um dos misterios da matematica, mas cara eu olhando o link das portas logicas vi um fundamento pq se for um operador AND vc multiplica e se for um operador OR vc soma…

Cara engraçado na wikipedia la fala que se aplica a SQL e outro dia fiz uma prova de logica online e tinha alem de do verdadeiro, falso o desconhecido… e eu não tinha visto isso

Mas obrigado pela ideia!

Talvez apliquem o desconhecido para o null.