Em um programa, foi encontrada a expressão lógica abaixo, n...
(CRED > 120) AND (IND NOT < 85) AND (SEM-CUR NOT < 8) OR (CRED > 120) AND (IND NOT < 85) AND (SEM-CUR < 8) OR (CRED NOT > 120) AND (IND NOT < 85) AND (SEM-CUR < 8)
Qual das expressões abaixo manteria a mesma lógica, porém de forma mais simplificada?
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a Alternativa C. Vamos entender o porquê e analisar as alternativas:
Tema da Questão: A questão está relacionada à simplificação de expressões lógicas. Esse tema é fundamental em algoritmos e estrutura de dados porque permite otimizar condições lógicas em programas, tornando o código mais eficiente e fácil de entender.
Expressão Original: A expressão original é complexa e combina várias condições lógicas usando operadores AND (E) e OR (OU). Nossa tarefa é simplificar essa expressão mantendo a mesma lógica.
Análise da Alternativa Correta (C):
A alternativa C propõe a seguinte expressão:
(CRED > 120) AND (IND NOT < 85) OR
(IND NOT < 85) AND (SEM-CUR < 8)
Essa simplificação está correta porque mantém a lógica original. Ela agrupa as condições de acordo com a prioridade dos operadores lógicos, simplificando a estrutura, mas sem alterar seu significado.
Análise das Alternativas Incorretas:
Alternativa A:
(CRED > 120) AND (IND NOT < 85) OR
(CRED NOT > 120) AND (SEM-CUR < 8)
Essa alternativa está incorreta porque altera a lógica original. Ela introduz novas condições que não estavam na expressão original, quebrando a lógica inicial.
Alternativa B:
(IND NOT < 85) AND (SEM-CUR < 8) OR
(CRED NOT > 120) AND (SEM-CUR < 8)
Essa alternativa está incorreta porque não cobre todas as condições da expressão original. O termo (CRED > 120) é omitido, o que altera a lógica original.
Alternativa D:
(CRED > 120) AND (IND NOT < 85) OR
(CRED NOT > 120) AND (SEM-CUR < 8) OR
(IND NOT < 85) AND (SEM-CUR < 8)
Essa alternativa está incorreta porque acaba adicionando redundância e complexidade desnecessária, sem simplificar a expressão original.
Alternativa E:
(IND NOT < 85) AND (SEM-CUR < 8) OR
(CRED NOT > 120) AND (SEM-CUR < 8) OR
(CRED NOT > 120) AND (IND NOT < 85)
Essa alternativa também está incorreta, pois altera a prioridade das condições e a estrutura lógica, o que não é desejado.
Conclusão: A alternativa C é a correta porque mantém a lógica original de forma simplificada e sem redundâncias. Simplificar expressões lógicas é uma habilidade importante para otimizar o desempenho e a legibilidade do código.
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
Força Guerreiro!!!!!!
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo