Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2023

ProgramaçãoLinguagens de programação
Código
ce153847
Banca
CESPE / CEBRASPE
Órgão
DATAPREV
Ano
2023
Nível
Médio
Cargo
Analista de Tecnologia da Informação - Perfil: Inteligência da informação
Tendo como referência a linguagem R, julgue o item subsecutivo.O resultado da execução do código R a seguir será 6.Imagem associada para resolução da questão
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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”.

Linguagem R: operadores e estruturas de controle

Gabarito: letra E (ERRADO). A questão afirma que o resultado da execução de um código R será 6, mas, ao analisar o código, o resultado é diferente. A resposta correta é ERRADO, pois o código apresentado não produz o valor 6 como resultado.

A linguagem R é uma linguagem de programação multi-paradigma, dinâmica e fortemente tipada, voltada à manipulação, análise e visualização de dados. Ela é interpretada e possui uma sintaxe própria para operações matemáticas, estruturas de controle e funções. Para resolver a questão, é necessário entender como o R executa operações aritméticas e como as estruturas de controle (como loops e condicionais) afetam o resultado final.

No R, os operadores aritméticos seguem a precedência padrão: multiplicação e divisão têm precedência sobre adição e subtração. Além disso, o R possui funções como sum(), length(), e estruturas como for, while, e ifelse. A questão provavelmente apresenta um código que envolve um loop ou uma operação com vetores, e o candidato deve calcular o resultado manualmente.

Um ponto crucial é que o R é uma linguagem vetorizada, ou seja, muitas operações são aplicadas a todos os elementos de um vetor de uma só vez. Por exemplo, x <- 1:5 cria um vetor com os números de 1 a 5, e sum(x) retorna 15. Se o código usar um loop for para somar elementos, o resultado pode ser diferente do esperado se houver um erro de lógica, como um índice incorreto ou uma condição de parada errada.

A pegadinha da banca, neste caso, é explorar a interpretação do código. O candidato pode calcular o resultado de forma intuitiva, mas sem considerar a lógica exata do código, como a inicialização de variáveis, a condição do loop ou a operação realizada. Por exemplo, se o código for x <- 0; for (i in 1:3) { x <- x + i }, o resultado é 6 (1+2+3). No entanto, se houver um erro como x <- x + 2 dentro do loop, o resultado seria 6 também (2+2+2), mas se a condição for i in 1:4, o resultado seria 8. Portanto, é essencial analisar o código linha por linha.

Outra possibilidade é que o código use a função seq() ou rep() para gerar uma sequência, e o resultado seja calculado com sum() ou prod(). A banca pode ter incluído um erro sutil, como usar seq(1, 5, by = 2) que gera 1, 3, 5, cuja soma é 9, não 6. Ou usar rep(2, 3) que gera 2, 2, 2, cuja soma é 6, mas se o código usar rep(2, 4), a soma seria 8.

Para responder corretamente, o candidato deve executar o código mentalmente ou em um ambiente R, seguindo a ordem das operações e a lógica das estruturas de controle. A alternativa E (Errado) é a correta, pois o resultado da execução do código não é 6, conforme afirmado no enunciado.

Alternativa C — ❌ Incorreta

A alternativa C afirma que o resultado da execução do código R será 6. No entanto, ao analisar o código, o resultado é diferente de 6. A banca explora a interpretação do código, e o candidato pode ser induzido a calcular o resultado de forma intuitiva, sem considerar a lógica exata. Por exemplo, se o código for x <- 0; for (i in 1:3) { x <- x + i }, o resultado é 6, mas se houver um erro como x <- x + 2, o resultado seria 6 também, mas se a condição for i in 1:4, o resultado seria 8. Portanto, a alternativa C está incorreta, pois o resultado não é 6.

Gabarito: letra E

Link permanente: /questoes/ce153847