Tendo como referência a linguagem R, julgue o item subsecuti...
Tendo como referência a linguagem R, julgue o item subsecutivo.
O resultado da execução do código R a seguir será 6.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: E - Errado
Para compreender a questão, é necessário ter conhecimento sobre a estrutura de repetição while na linguagem de programação R. Uma estrutura de repetição é usada para executar um bloco de código repetidamente, enquanto uma condição específica é verdadeira.
No código fornecido, a variável i é inicializada com o valor 1, e a variável n é inicializada com o valor 5. A condição do loop while verifica se i é menor ou igual a n. Enquanto essa condição for verdadeira, o loop irá incrementar i em 1 e, em seguida, executar a função print() para imprimir o valor de i. Contudo, o código contém um erro de sintaxe, que impede sua execução correta em R.
Em R, a sintaxe para o loop while não usa dois pontos (:) após a condição. Além disso, a função de impressão em R é print(), e ela é corretamente utilizada; porém, a condição deveria ser escrita com o operador de comparação correto em R, que é <=, e não <= como em outras linguagens como Python.
Portanto, a execução do código apresentado não resultará em 6 como saída, pois na verdade, ele nem sequer executaria em R sem erros de sintaxe. Para corrigir o código para que ele seja executável em R e produza o resultado esperado, o loop while deveria ser da seguinte forma:
i = 1 n = 5 while (i <= n) { print(i) i = i + 1 }
Com essa correção, o código irá imprimir os valores de 1 a 6 sucessivamente. Então, a questão foi julgada como incorreta devido à utilização de uma sintaxe que não é válida na linguagem R.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
ERRADO
O código R é um pouco mais chatinho para programar. A sintaxe correta é a seguinte:
i = 1
n = 5
while(i<=n){
i = i+1
}
print(i)
De fato, o valor de i será 6, caso o código tivesse sido escrito de forma correta.
Primeira iteração: i = 1 -> Condição aceita
Execução: i' = 1+1 -> i' = 2
Segunda interação: i = 2 -> Condição aceita
execução i'' = 2+1 -> i'' = 3
Terceira iteração: i = 3 -> Condição aceita
Execução: i''' = 3+1 -> i''' = 4
Quarta iteração: i = 4 -> Condição aceita
execução i'''' = 4+1 -> i'''' = 5
Quinta iteração: i = 5 -> Condição aceita
execução i''''' = 5+1 -> i''''' = 6
Sexta iteração: i = 6 -> Condinão NÃO ACEITA
execução: sai do loop e print(i) -> nesse momento o valor de i = 6
Infelizmente o código irá apresentar um mensagem de erro, pois sua sintaxe está errada:
i = 1
n = 5
while(i<=n){
i = i+1
}
print(i)
Acho que copiaram a questão de forma errada. Já fiz essa questão em outro site, e indiquei que seria "errado". mas da forma que está escrito acima, a resposta é "certo". Rodei no RStudio e o resultado foi 6.
Galera, o ponto central dessa questão é a pegadinha da sintaxe do código.
Esse código ai está com a sintaxe correta para Python (que usa os : no while e outras estruturas, como if, for e etc).
A sintaxe correta de R seria:
i = 1
n= 5
while ( i <= n ) {
i = i + 1
}
print(i)
[6]
Repare no uso de parênteses e chaves, e não o uso de : conforme a questão, fiquem atentos a esses aspectos, a Cespe adora confundir!
Pra cima!!!
O erro não está no valor de saída do terminal "6", mas sim na sintaxe: usaram a de Python no lugar da R.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo