Questão FC331208
Considere o seguinte comando condicional escrito em Java e também em Python: if (p == false.) { return false; }elseif (q == false.) { return false; }else { returntrue; } if p == Fa
Linguagens de Programação
FGV · 2013
Considere o seguinte comando condicional escrito em Java e também em Python:
| if (p == false.) { return false; }elseif (q == false.) { return false; }else { returntrue; } |
if p == False: return False elif q == False: return False else: return True |
Este comando pode ser escrito de forma mais simples como (as opções são apresentadas em Java e Python):
- return p && !q;/ return p and (not q)
- return !(p || q); / returnnot(p or q)
- return p || q; / return p or q
- return q && p; / return q and p
- return !q || !p;/ return (not q) or (not p)
Mostrar resposta e comentário
Gabarito
D
Comentário do professor
A estrutura condicional retorna False sempre que p ou q forem falsos, e só retorna True quando ambos são verdadeiros. Esse comportamento é exatamente o do AND lógico.
Na linguagem de lógica proposicional essa relação é escrita como \(p \land q\). A operação é comutativa, portanto \(p \land q\) equivale a \(q \land p\).
Traduzindo para código, a forma simplificada é simplesmente a avaliação direta do AND:
Java: return q && p;
Python: return q and p
Assim, a expressão reduzida preserva a mesma tabela-verdade da sequência condicional original, retornando True somente quando ambos os operandos são True.
Conteúdo do catálogo FC Concursos · Atualizado em