Análise da Questão
Esta questão aborda o comportamento dos operadores lógicos na linguagem C, especificamente a regra de avaliação de curto-circuito (short-circuit evaluation) do operador de conjunção (&&).
Para resolver, precisamos analisar cuidadosamente a lógica booleana envolvida na expressão condicional apresentada.
Desenvolvimento
1. O Conceito de Curto-Circuito
A Asserção II descreve exatamente o funcionamento padrão do operador && em C:
- Se a primeira parte da expressão (lado esquerdo) for avaliada como falsa, o computador ignora completamente a segunda parte (lado direito).
- Isso evita erros desnecessários e efeitos colaterais indesejados (como incrementos de variáveis) quando o resultado final já está determinado.
- Portanto, a Asserção II é Verdadeira.
2. Análise da Expressão Específica
Vamos examinar a linha de código fornecida:
if (codigo_valido == 0 && tentativas++ > 3)
Aqui temos dois operandos conectados pelo &&:
- Operando 1:
codigo_valido == 0 - Operando 2:
tentativas++ > 3
A Asserção I afirma: "Caso a variável codigo_valido tenha valor 0 (falso), a variável tentativas permanecerá com seu valor original..."
Vamos aplicar a lógica:
- Se a variável
codigo_valido possui o valor 0. - A expressão
codigo_valido == 0 compara 0 com 0. - Na lógica booleana, essa comparação resulta em Verdadeiro (True/1).
- Como o primeiro operando foi avaliado como Verdadeiro, a regra de curto-circuito NÃO é acionada. O compilador precisa verificar o segundo operando para saber o resultado final da conjunção (
&&). - Consequentemente, a segunda parte da expressão (
tentativas++ > 3) será executada, e a variável tentativas sofrerá o incremento.
Como a Asserção I afirma que a variável permanecerá com seu valor original, ela contradiz a lógica técnica da linguagem C. Portanto, a Asserção I é Falsa.
Análise das Alternativas
| Asserção | Status | Justificativa |
|---|
| I | Falsa | Se codigo_valido é 0, a condição == 0 é verdadeira. O && continua a execução e o incremento ocorre. |
| II | Verdadeira | Descreve corretamente a definição de short-circuit evaluation no operador &&. |
Com base nisso, a única alternativa que corresponde à realidade técnica é aquela que indica que a primeira é falsa e a segunda é verdadeira.
Alternativa D