Pular para o conteúdo principal

Questão de Programação — R — FGV 2024

ProgramaçãoR
Código
fg075977
Banca
FGV
Órgão
AL-TO
Ano
2024
Nível
Superior
Cargo
Analista Legislativo - Desenvolvimento de Sistema
Considere inicialmente o seguinte código, escrito utilizando a linguagem de programação R:v <- 1:10i <- 3f <- 6Tomando por base esse contexto, assinale a opção que apresenta um código que produz resultado equivalente a:p <- ifor (q in (f+1):length(v)) {v[p] <- v[q]p <- p+1 }for (q in p:length(v))v[q] <- NAlength(v) <- p-1
  1. Av <- v[c(f)]-v[c(i)]
  2. Bv <- v[-c(i:f)]
  3. Cv <- v[f:i]
  4. Dv <- v[f]-v[i]
  5. Ev<-v[c(i:f)]
Revelar gabarito e comentário

GabaritoB — v <- v[-c(i:f)]

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

Manipulacao de vetores em R

Gabarito: letra B. O codigo original remove os elementos das posicoes i a f (3 a 6) do vetor v, deslocando os elementos seguintes para frente e truncando o comprimento. O resultado final e v = [1, 2, 7, 8, 9, 10]. A expressao equivalente e v[-c(i:f)], que seleciona todos os elementos exceto aqueles indices.

A banca testa a compreensao de indexacao em R, especialmente o uso do sinal de menos para excluir posicoes e o operador : para criar sequencias.

Alternativa A — ❌ Incorreta

v <- v[c(f)]-v[c(i)] subtrai os valores nas posicoes f e i (6 - 3 = 3), resultando em um vetor de um unico elemento, nao no vetor desejado.

Alternativa B — ✅ Correta ⟵ GABARITO

v <- v[-c(i:f)] produz exatamente o mesmo resultado: remove os indices de 3 a 6, mantendo os demais na ordem original. E a forma concisa e direta.

Alternativa C — ❌ Incorreta

v <- v[f:i] gera uma sequencia decrescente (6:3), resultando em [6,5,4,3] (valores das posicoes 6,5,4,3), que nao corresponde ao que o codigo original faz.

Alternativa D — ❌ Incorreta

v <- v[f]-v[i] subtrai os valores (6 - 3 = 3) e retorna um vetor de comprimento 1, totalmente diferente.

Alternativa E — ❌ Incorreta

v <- v[c(i:f)] seleciona apenas as posicoes de 3 a 6, resultando em [3,4,5,6] – exatamente o que foi removido, nao o restante.

NÃO CAIA NESSA!

A banca explora a confusao entre indexacao negativa (que remove elementos) e operacoes aritmeticas ou fatiamento simples. O candidato pode escolher a letra C ou E por achar que i:f ou f:i resolvem, mas a chave e usar o sinal de menos. Memorize: v[-indices] exclui; v[indices] mantem.

Gabarito: letra B

Link permanente: /questoes/fg075977