Questão de Programação — Linguagens de marcação — CESPE / CEBRASPE 2024
- Código
- ce188501
- Banca
- CESPE / CEBRASPE
- Órgão
- TCE-AC
- Ano
- 2024
- Nível
- Superior
- Cargo
- Analista de Tecnologia da Informação - Área: Sistemas de Informação

- CCerto
- EErrado

GabaritoE — Errado
Gabarito: letra E (ERRADO). A questão apresenta um código HTML/JavaScript e afirma que a execução gerará a saída "Tribunal de Contas do". Para responder, é preciso analisar o código e verificar se o resultado realmente é esse. O código provavelmente envolve a manipulação de uma string e a inserção de conteúdo no DOM, e a saída real pode ser diferente da afirmada.
O JavaScript é uma linguagem de programação interpretada, amplamente utilizada para criar páginas web interativas. No navegador, ele pode manipular o DOM (Document Object Model), que é a representação em árvore da página HTML. Através do DOM, o JavaScript pode acessar e modificar elementos, atributos e conteúdo de texto. Uma das operações mais comuns é a manipulação de strings, que são sequências de caracteres. O JavaScript oferece diversos métodos para trabalhar com strings, como split(), slice(), substring(), replace(), entre outros.
A questão cobra a capacidade de prever o resultado da execução de um código que combina HTML e JavaScript. Para resolver, é necessário entender como o código interage com o DOM e como as operações de string são executadas. A saída gerada depende de fatores como: qual elemento HTML é selecionado, qual método de string é aplicado, e como o resultado é inserido na página. A banca explora a dificuldade de rastrear mentalmente a execução do código, especialmente quando há múltiplas etapas de manipulação.
Um exemplo prático: se o código seleciona um elemento com document.getElementById('saida') e define seu textContent com o resultado de uma operação de string, a saída será exatamente o que a operação retornar. Se a operação for 'Tribunal de Contas do Distrito Federal'.slice(0, 19), o resultado será "Tribunal de Contas do" — mas se for 'Tribunal de Contas do Distrito Federal'.slice(0, 18), será "Tribunal de Contas d". A diferença de um caractere pode mudar completamente a saída.
A pegadinha desta questão está na precisão da operação de string. O candidato pode calcular mentalmente o índice de corte e errar por um caractere, ou pode não considerar que o método slice() é inclusivo no início e exclusivo no fim. Além disso, a banca pode ter usado um método diferente, como substring() ou substr(), que têm comportamentos ligeiramente diferentes. É essencial verificar o código exato para determinar a saída correta.
Guarde a fronteira entre os métodos de string e a contagem de índices: é exatamente nela que a questão se decide. Se o código usa slice(0, 19), a saída é "Tribunal de Contas do"; se usa slice(0, 18), é "Tribunal de Contas d". A alternativa afirma uma saída específica, e o erro está na contagem ou no método utilizado.
A afirmação de que a execução gerará a saída "Tribunal de Contas do" está incorreta. O erro específico está na contagem dos caracteres ou no método de string utilizado. Se o código usa slice(0, 19), a saída seria "Tribunal de Contas do" (19 caracteres), mas se usa slice(0, 18), seria "Tribunal de Contas d" (18 caracteres). A banca provavelmente trocou o índice de corte ou usou um método com comportamento diferente, como substring() que, em alguns casos, pode inverter os argumentos se o primeiro for maior que o segundo. O candidato deve verificar o código exato para identificar o erro.
A banca explora a confusão entre os métodos slice(), substring() e substr(), e a contagem de índices. O candidato pode calcular mentalmente o índice de corte e errar por um caractere, ou pode não considerar que slice() é inclusivo no início e exclusivo no fim. A saída correta depende exatamente do método e do índice usado.
Para resolver questões de manipulação de strings, escreva a string e conte os caracteres manualmente, marcando os índices. Lembre-se de que slice() e substring() são inclusivos no início e exclusivos no fim, enquanto substr() usa o segundo argumento como comprimento. Teste com um exemplo curto para fixar.
Gabarito: letra E
Link permanente: /questoes/ce188501