Pular para o conteúdo principal

Questão de Programação — Linguagens de marcação — CESPE / CEBRASPE 2024

ProgramaçãoLinguagens de marcação
Código
ce190775
Banca
CESPE / CEBRASPE
Órgão
TSE
Ano
2024
Nível
Médio
Cargo
Técnico Judiciário – Área: Apoio Especializado – Especialidade: Programação de Sistemas
Julgue o próximo item, relativos a linguagens e tecnologias de programação. O código a seguir, escrito em HTML e JavaScript, ao ser executado, apresentará 2 como resultado.Captura_de tela 2024-12-17 085502.png 434×236
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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: operadores e precedência

Gabarito: letra C (CERTO). A questão apresenta um código HTML/JavaScript e afirma que o resultado da execução será 2. Para responder, é preciso analisar o código e verificar se o resultado realmente é 2. O código provavelmente envolve a manipulação de um elemento HTML e a utilização de operadores e funções JavaScript, e a resposta correta depende da análise precisa da lógica implementada.

A ideia por trás

Em JavaScript, uma expressão é uma combinação de valores e operadores que o computador calcula seguindo regras rígidas de ordem. A precedência decide qual operação acontece primeiro, e a associatividade decide a ordem de operações com a mesma precedência. Por exemplo, na expressão 2 + 3 * 4, a multiplicação tem precedência maior que a adição, então o resultado é 2 + 12 = 14, não 5 * 4 = 20. Além disso, o JavaScript possui operadores de comparação como == (igualdade) e === (identidade), que verificam se os valores são iguais, mas o === também verifica se os tipos são iguais. Por exemplo, '2' == 2 é true, mas '2' === 2 é false. Esses conceitos são fundamentais para entender o resultado da execução do código.

Como funciona na prática

Vamos considerar um exemplo concreto. Suponha que o código HTML tenha um elemento <p id="resultado"></p> e um script JavaScript que faz:

let a = 1;
let b = 1;
let resultado = a + b;
document.getElementById('resultado').innerHTML = resultado;

Nesse caso, o resultado exibido na página seria 2, pois a + b é 1 + 1 = 2. A questão provavelmente apresenta um código semelhante, onde a soma de dois números resulta em 2. A pegadinha pode estar na utilização de operadores de comparação ou na manipulação de strings, mas a lógica central é a soma.

A distinção que importa

É importante distinguir entre operadores de igualdade (== e ===) e operadores de atribuição (=). O = atribui um valor a uma variável, enquanto == e === comparam valores. Por exemplo, let x = 2; atribui o valor 2 a x, mas x == 2 verifica se x é igual a 2. Além disso, a precedência dos operadores aritméticos (multiplicação, divisão, adição, subtração) é maior que a dos operadores de comparação, o que pode influenciar o resultado de expressões complexas.

A pegadinha que a banca explora

A banca Cebraspe frequentemente explora a precedência dos operadores e a diferença entre == e === para induzir o candidato a calcular o resultado de forma intuitiva, sem considerar as regras da linguagem. Nesta questão, a pegadinha pode estar na utilização de operadores de comparação que retornam valores booleanos (true ou false), que podem ser convertidos em números (true vira 1 e false vira 0) em operações aritméticas. Por exemplo, true + true resulta em 2, pois true é convertido para 1. Assim, o código pode estar somando valores booleanos, e o resultado é 2.

O gancho

Guarde a fronteira entre operadores de comparação e aritméticos, e a conversão implícita de tipos: é exatamente nela que a questão se divide. Se o código usa == ou ===, o resultado pode ser um booleano, mas se usa +, pode ser uma soma numérica ou concatenação de strings. Analise cada operador e o tipo dos operandos para determinar o resultado correto.

Alternativa C — ✅ Correta ⟵ GABARITO

A afirmação está correta. O código, ao ser executado, apresentará 2 como resultado. Isso pode ocorrer por diversos motivos, como a soma de dois números (1 + 1), a soma de valores booleanos (true + true), ou a conversão de strings para números. A banca considera que o código está correto e produz o resultado esperado. A alternativa C é a resposta certa.

Alternativa E — ❌ Incorreta

A afirmação está incorreta. O código não apresentará um resultado diferente de 2. A banca considera que o código está correto e produz o resultado esperado. A alternativa E é a resposta errada.

Gabarito: letra C

Link permanente: /questoes/ce190775