Sendo a, b, c e d variáveis do tipo boolean, qual dos comand...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa Correta: D
Vamos entender por que a alternativa D é a que NÃO é equivalente aos demais comandos.
Para resolver essa questão, é necessário ter um bom entendimento sobre álgebra booleana e como as expressões lógicas podem ser simplificadas ou reescritas.
Vamos analisar cada uma das alternativas:
A - if ( b && !(!a && !c)) d = true;
A expressão dentro do if pode ser simplificada. O termo !(!a && !c) é equivalente a a || c pelo teorema de De Morgan. Então temos:
if ( b && (a || c)) d = true;
Isso significa que d será true se b for verdadeiro e a ou c forem verdadeiros.
B - if (! (!a || !b) || (b && c) ) d = b;
Simplificando a expressão, ! (!a || !b) é equivalente a a && b. Então temos:
if (a && b || (b && c)) d = b;
Isso significa que d será igual a b se a && b ou b && c forem verdadeiros.
C - if ( ( a && b ) || ( !a && b && c) ) d = b;
Não há necessidade de simplificação maior aqui. Isso significa que d será igual a b se a && b ou !a && b && c forem verdadeiros.
D - if ( ( a && b && !c ) || ( !a && b && c)) d = true;
Essa expressão significa que d será true se a && b && !c ou !a && b && c forem verdadeiros.
Note que não há condição que cubra todas as situações onde b é verdadeiro. Apenas quando !c e c são considerados, o que é uma contradição.
E - if ( ( a || c) && b ) d = a || c;
Isso significa que d será igual a a || c se (a || c) && b forem verdadeiros.
Analisando todas as expressões, percebemos que a alternativa D é a única que se comporta de maneira diferente das demais. As outras alternativas garantem que d será definido de acordo com o valor de b e outras condições lógicas, enquanto a alternativa D apresenta uma condição específica que não cobre todas as possibilidades para b.
Resumo:
- A, B, C, e E são logicamente equivalentes e cobrem as situações onde b é verdadeiro sob diferentes condições.
- D não cobre todas as situações onde b é verdadeiro, sendo assim, é a resposta correta como a expressão que NÃO é equivalente.
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
Para resolver essa questão é necessário fazer uma tabela verdade para as variáveis A, B e C.
Perceba que não precisa fazer isso com a variável D, pois ela não é utilizada dentro das validações nos IFs.
Como a tabela ficaria imensa, coloquei em vermelho a relação inicial das variáveis a, b e c.
Em seguida, coloquei em azul as respostas de cada alternativa.
Somente a alternativa D ficou com o resultado diferente na situação em que todas as variáveis estão com o valor verdadeiro.
a b c A B C D E
V V V V V V F V
V V F V V V V V
V F V F F F F F
V F F F F F F F
F V V V V V V V
F V F F F F F F
F F V F F F F F
F F F F F F F F
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo