Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2024
- Código
- ce176789
- Banca
- CESPE / CEBRASPE
- Órgão
- MPE-TO
- Ano
- 2024
- Nível
- Superior
- Cargo
- Analista Ministerial Especializado - Área de Atuação: Análise de Sistemas
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: ❌ ERRADO. O código apresentado contém erros de sintaxe que impedem sua execução, portanto a afirmação de que o resultado seria "4 não é primo" é incorreta. A utilização de aspas curvas “0” e a sintaxe inválida de template literal ('$ {number}' com espaço) geram erros de sintaxe, contrariando a premissa de que não há erros.
A função isPrime retorna uma Promise, e sua lógica para verificar se um número é primo está conceitualmente correta: rejeita para números ≤ 1 ou divisíveis por algum i, e resolve caso contrário. No entanto, o código contém dois problemas graves de sintaxe:
Aspas curvas (“ e ”) no lugar de aspas retas (") ou crases (` `). Em JavaScript, strings devem ser delimitadas por ", ' ou `. O trecho number % i === “0”` usa aspas curvas, que são interpretadas como identificadores inválidos, gerando um SyntaxError.
Template literal malformado: a string '$ {number} não é primo' usa aspas simples, não crases. Para interpolar variáveis, é necessário usar crases (` `) e e {. Portanto, o texto entre aspas simples é uma string literal contendo o caractere {4} não é primo" (com o cifrão e espaço), e não "4 não é primo"`.
Como o código possui erros de sintaxe, ele jamais seria executado sem lançar uma exceção. A premissa do enunciado ("sem nenhum tipo de erro ou exceção") é violada. Portanto, a afirmação está errada.
Em questões de CESPE, fique atento a detalhes de sintaxe: aspas curvas, ponto-e-vírgula, chaves mal colocadas e template literals. Pequenos deslizes tornam a afirmativa falsa.
Gabarito: ❌ ERRADO.
Link permanente: /questoes/ce176789