Em um algoritmo, como você utilizaria a instrução de seleção para verificar se um número é par ou ímpar?
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Explorar e construir a solução de problemas por meio de refinamentos, utilizando diversos níveis de abstração desde a especificação até a implementação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em um algoritmo, como você utilizaria a instrução de seleção para verificar se um número é par ou ímpar?
- A) if (num % 2 == 0) { print('Par'); } else { print('Ímpar'); }
- B) if (num / 2 == 0) { print('Par'); } else { print('Ímpar'); }
- C) if (num = 0) { print('Par'); } else { print('Ímpar'); }
- D) if (num % 2 != 0) { print('Par'); } else { print('Ímpar'); }
- E) if (num == 2) { print('Par'); } else { print('Ímpar'); }
✅ Resposta correta: alternativa A
Resolução passo a passo
- Um número é par quando, dividido por 2, deixa resto zero. O operador % (módulo ou resto da divisão) retorna exatamente esse resto.
- Logo, a condição num % 2 == 0 é verdadeira apenas quando num é par. Nesse caso, a instrução if executa o print('Par').
- Se a condição for falsa, o resto é 1, ou seja, o número é ímpar, e o bloco else executa print('Ímpar').
- Portanto, a alternativa A está correta e coincide com o gabarito oficial.
- A alternativa B está errada porque num / 2 é uma divisão comum, que retorna o quociente e não o resto; por exemplo, 4 / 2 resulta em 2, nunca em 0 para um número par diferente de zero.
- A alternativa C está errada porque usa = (atribuição) em vez de == (comparação), o que atribuiria 0 a num em vez de testar a igualdade.
- A alternativa D está errada porque inverte a lógica: num % 2 != 0 é verdadeiro para ímpares, e então imprimiria 'Par' para números ímpares.
- A alternativa E está errada porque compara num com 2 e não com o resto da divisão por 2; assim, só identificaria o número 2 como par e classificaria todos os demais como ímpares.
💡 Dica: Pense na estrutura condicional para a verificação.
Alternativa por alternativa
Essa é a forma correta de implementar a verificação usando um if-else.
O aluno confunde o operador de resto (%) com a divisão comum (/), acreditando que a divisão por 2 e a comparação com 0 testam paridade.
Por que engana: Confundir operador de comparação com operador de atribuição ou usar divisão ao invés de módulo para verificar paridade.
O aluno confunde o operador de comparação (==) com o de atribuição (=), achando que um único sinal de igual compara valores em condições.
O aluno inverte a condição, pensando que resto diferente de zero indica número par, quando na verdade indica ímpar.
O aluno confunde a verificação de paridade com a comparação de igualdade ao número 2, supondo que testar se num é igual a 2 serve para classificar todos os números.
Raio-X da questão
instrução de seleção
fixacao
operador modulo · estrutura condicional if else
Revisar como funcionam as instruções condicionais em algoritmos.
Confundir operador de comparação com operador de atribuição ou usar divisão ao invés de módulo para verificar paridade.
pensamento_critico
abstrato
Questões parecidas com resolução
- Em um algoritmo, para verificar se um número é par, qual instrução de seleção você usaria?
- Considere um algoritmo que precisa verificar se um número é par ou ímpar. Qual estrutura de controle deve ser utilizada?
- Considere um algoritmo que precisa verificar se um número é par ou ímpar. Qual estrutura de decisão seria mais adequada?
- Elabore um algoritmo que leia um número e exiba se ele é par ou ímpar usando instruções de seleção.
- Identifique a estrutura de um algoritmo que decide se um número é par ou ímpar.
- Identifique a sequência correta para um algoritmo que determina se um número é par ou ímpar. O que deve ser considerado…
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
