Considere o seguinte código na linguagem R que utiliza estr...
numeros <- c(2, 4, 6, 8, 10) resultado <- 0
for (i in seq_along(numeros)) { if (numeros[i] %% 4 == 0) { resultado <- resultado + numeros[i] } } print(resultado)
Com base na execução desse código, assinale a alternativa que apresenta a saída impressa pelo comando print (resultado).
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: D - 12
1. Tema central da questão
Esta questão explora estruturas de repetição e operadores condicionais na linguagem R, elementos fundamentais em programação. O objetivo é testar sua compreensão sobre como um laço for percorre vetores e como a condição (if) é usada para decidir quais elementos serão processados.
2. Resumo teórico
Em R, o laço for permite percorrer cada elemento de um vetor. O operador %% retorna o resto da divisão; assim, x %% 4 == 0 verifica se x é divisível por 4. O comando seq_along(vetor) gera uma sequência de índices para o vetor, facilitando o acesso a cada elemento. Referência: Manual R - R Core Team.
3. Justificativa da alternativa correta
O vetor numeros possui: 2, 4, 6, 8, 10. O laço percorre cada elemento e soma ao resultado apenas os números divisíveis por 4:
- 2 %% 4 = 2 (não soma)
- 4 %% 4 = 0 (soma 4)
- 6 %% 4 = 2 (não soma)
- 8 %% 4 = 0 (soma 8)
- 10 %% 4 = 2 (não soma)
Portanto, resultado = 4 + 8 = 12. O comando print(resultado) exibirá 12.
4. Análise das alternativas incorretas
- A - 0: Errada. Só seria correta se nenhum número atendesse à condição.
- B - 2: Errada. 2 não é divisível por 4, portanto não é somado.
- C - 4: Errada. Somente considera o primeiro número divisível, ignorando outros.
- E - 18: Errada. Corresponde à soma de todos os elementos, não apenas os divisíveis por 4.
5. Estratégias de interpretação
Leia atentamente o critério do if; muitos alunos somam todos os elementos ou ignoram o operador %%. Sempre identifique a condição do teste e, se possível, faça uma tabela ou lista para separar quais elementos participam da soma.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo