Expressões lógicas são frequentemente utilizadas em linguage...

Próximas questões
Com base no mesmo assunto
Q873273 Algoritmos e Estrutura de Dados
Expressões lógicas são frequentemente utilizadas em linguagens de programação. Por exemplo, um comando if com a expressão
if not (A and B)
pode ser reescrito, para quaisquer valores lógicos de A e B, com a expressão:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a B - not A or not B.

Vamos entender o porquê dessa escolha detalhadamente.

O tema da questão aborda expressões lógicas, que são fundamentais em diversas linguagens de programação. No contexto apresentado, a questão exige o reconhecimento e a aplicação das leis de De Morgan, que são usadas para simplificar expressões lógicas complexas.

As leis de De Morgan são duas transformações úteis na lógica proposicional e na teoria de conjuntos. Elas afirmam que:

  • not (A and B) é equivalente a not A or not B
  • not (A or B) é equivalente a not A and not B

Na expressão fornecida if not (A and B), queremos reescrevê-la de uma forma equivalente. Aplicando a primeira lei de De Morgan:

not (A and B) é equivalente a not A or not B

Portanto, a expressão correta para reescrever if not (A and B) é not A or not B. Logo, a alternativa B está correta.

Agora, vamos analisar por que as outras alternativas estão incorretas:

  • A - A or B: Esta alternativa não é equivalente a not (A and B). Na verdade, A or B é a negação de not A and not B, o que é diferente.
  • B - not A or not B: Esta é a alternativa correta, como discutido acima, por aplicação direta da lei de De Morgan.
  • C - not A or B: Esta alternativa não segue corretamente a lei de De Morgan. Para que a expressão seja equivalente a not (A and B), ambas as partes A e B devem ser negadas.
  • D - not (not A or not B): Esta expressão complica a lógica inicial e, ao expandi-la, resulta em uma expressão original não simplificada.
  • E - A and B: Esta alternativa é exatamente a expressão que estamos tentando negar, então claramente não é correta.

Espero que esta explicação tenha esclarecido suas dúvidas. Entender e aplicar as leis de De Morgan é fundamental para simplificar e manipular expressões lógicas, especialmente em contextos de programação.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

if not (A and B)  <-> ~ ( A ^ B) <->     ~ A  V  ~B ( not A or not B )

 

 

 

Para resolver basta assumir valores:

 

A ^ B - Tabela Verdade.
V   V  V
V   F  F
F   V  F
F   F  F

 

Negação ta tabela verdade: F V V V

Tenso esse resultado, basta substiruir nas opções e ver qual tem valor igual:

 

A) A or B ---> Saída: V V V F

 

B) not A  or not B:

~ A   v ~B
   F   F  F
   F   V  V
   V   F  V
   V   V  V

 

Gabarito: B

 

 

Conceituando: not (A and B)

Esse "not" fora do parênteses vai distribuir para todo mundo dentro do parênteses (distributiva), ou seja, irá negar o conectivo "and" e as variáveis "A" e o "B". Temos aqui uma aplicação da lei de Morgan.

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Aplicando na questão

  • O que é a lei de Morgan? R: Negação Conectivo "e" vira "ou".
  • Como fazer? 2 regras básicas:

R: (1) Nega as duas proposições e (2) troca o conectivo e pelo "ou" ou vice-versa

Ex.: not (A and B) <=> not A or not B.

Apenas reforçando para não ter dúvidas: como a questão pediu uma forma de reescrever a expressão "not (A and B)", eu vou ter que negar tudo dentro parênteses, (1º) pois apliquei a distributiva e (2º) para negar o conectivo "and", tive que usar a lei de Morgan, chegando assim ao GABARITO B.

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Dica bizurada:

Viram que eu destaquei as letras "e" e "o" na frase acima? Pois bem, não foi à toa. Depois que eu fiz isso, nunca mais me esqueci de como aplicar a lei de Morgan.

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

"Pra cima deles" - Delegado da Cunha

Força Guerreiro!!!!!!

~(a^b) => ~a \/ ~b

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo