Auditor de Controle Externo - Especialidade: Tecnologia da Informação
Analise o programa a seguir, elaborado na Linguagem HTML com JavaScript:<!DOCTYPE html><html><body><p id=”conta”></p><script>var a = 1;var b = 2;var c = 3;x = a + b * c;y = x % 5;z = Math.pow (y,2);z--;document.getElementById(“conta”).innerHTML= z;</script></body></html>Quando esse programa for aberto por um navegador como o Chrome ou o Edge, será exibido na tela:
AERROR, pois uma das operações aritméticas resultará em um valor inválido.
B1.
C2.
D3.
E4.
Revelar gabarito e comentário▾
GabaritoD — 3.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
JavaScript: precedência de operadores e operações matemáticas
Gabarito: D (3). O código executa as operações aritméticas na ordem correta de precedência (multiplicação antes da adição), calcula o resto da divisão, eleva ao quadrado e depois decrementa o resultado, exibindo o valor 3.
O programa declara três variáveis: a = 1, b = 2, c = 3. A expressão x = a + b * c obedece à precedência de operadores do JavaScript: o operador * tem prioridade sobre +, portanto b * c é calculado primeiro (2 * 3 = 6) e depois somado com a (1 + 6 = 7). Em seguida, y = x % 5 calcula o resto da divisão de 7 por 5, resultando em 2. z = Math.pow(y, 2) eleva y ao quadrado: 2² = 4. Por fim, z--; é o operador de decremento pós-fixado, que subtrai 1 do valor de z, transformando-o em 3. Esse valor é atribuído ao innerHTML do elemento com id conta, sendo exibido na tela.
Alternativa D — ✅ Correta ⟵ GABARITO
A sequência de operações leva ao valor 3, conforme detalhado: (1) 2*3=6, (2) 1+6=7, (3) 7%5=2, (4) Math.pow(2,2)=4, (5) 4-- => 3.
Alternativa A — ❌ Incorreta
Não ocorre erro de execução. Todas as operações são válidas e produzem valores numéricos.
Alternativa B — ❌ Incorreta
O valor 1 não corresponde a nenhum resultado intermediário ou final do cálculo.
Alternativa C — ❌ Incorreta
O valor 2 seria obtido se o decremento não fosse aplicado (z=4) ou se a precedência fosse ignorada, mas com a execução correta o resultado é 3.
Alternativa E — ❌ Incorreta
O valor 4 seria o resultado de Math.pow(y,2) antes do decremento, mas z--; reduz para 3.
PEGA ESSA DICA!
Em questões de precedência de operadores, lembre-se da ordem PEMDAS (parênteses, expoentes, multiplicação/divisão, adição/subtração). O operador % (módulo) tem a mesma precedência de * e /. O operador -- (decremento) pode ser pré ou pós-fixado; sozinho em uma linha, o efeito é o mesmo (subtrai 1).