Tendo como referência a linguagem R, julgue o item subsecuti...

Próximas questões
Com base no mesmo assunto
Q2276941 Programaçã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



Alternativas

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