Pular para o conteúdo principal

Questão de Programação — JavaScript — VUNESP 2023

ProgramaçãoJavaScript
Código
vu078909
Banca
VUNESP
Órgão
TCM-SP
Ano
2023
Nível
Superior
Cargo
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:
  1. AERROR, pois uma das operações aritméticas resultará em um valor inválido.
  2. B1.
  3. C2.
  4. D3.
  5. 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).

Gabarito: D (3).

Link permanente: /questoes/vu078909