Execute: i ? 100; cont ? 0; enquanto i > 1 faça i ? inteiro(i / 2); cont ? cont + 1; fim enquanto; imprimir…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Utilizar conceitos iniciais de uma linguagem de programação na implementação de algoritmos escritos em linguagem corrente e/ou matemática.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Execute: i ? 100; cont ? 0; enquanto i > 1 faça i ? inteiro(i / 2); cont ? cont + 1; fim enquanto; imprimir cont. Qual número será impresso?
- A) 5
- B) 6
- C) 3
- D) 7
- E) 4
✅ Resposta correta: alternativa B
Resolução passo a passo
- Interprete o algoritmo. Os símbolos '?' representam a seta de atribuição (←). Começamos com i = 100 e cont = 0. O laço repete enquanto i > 1, dividindo i por 2 (parte inteira) e somando 1 ao contador a cada volta. Passo 2: Faça o rastreamento. Volta 1: i = 50, cont = 1. Volta 2: i = 25, cont = 2. Volta 3: i = 12, cont = 3. Volta 4: i = 6, cont = 4. Volta 5: i = 3, cont = 5. Volta 6: i = 1, cont = 6. Passo 3: Verifique a parada. Com i = 1 a condição i > 1 é falsa, então o laço termina com cont = 6. Passo 4: Conclusão. Será impresso 6, alternativa B, que coincide com o gabarito oficial. Por que as outras estão erradas: A (5) faltaria uma volta, pois o laço para só quando i chega a 1. C (3) confunde o contador com o valor intermediário de i antes de chegar a 1. D (7) executaria uma volta extra, mas a condição i > 1 impede a volta com i = 1. E (4) subestima o número de divisões, que é maior que 4 porque 100 só chega a 1 após seis divisões por 2 com parte inteira.
💡 Dica: Analise o loop e conte quantas vezes i é dividido por 2.
Alternativa por alternativa
Provavelmente encerrou o laço ao chegar a i = 3 ou contou uma volta a menos, ignorando que ainda há a divisão de 3 por 2 que leva a i = 1.
Por que engana: O aluno pode confundir a operação de divisão inteira com a divisão comum, resultando em um valor de cont incorreto.
Divisões inteiras: 100?50?25?12?6?3?1; são seis iterações até i tornar-se 1.
Provavelmente imprimiu o último valor de i antes de chegar a 1 (que é 3) em vez do contador, confundindo a variável de controle com o contador cont.
Provavelmente achou que o laço continua com i = 1 (usando i >= 1 ou i > 0 em vez de i > 1), somando uma volta a mais.
Provavelmente contou apenas as divisões até chegar a 6 ou 12, ou associou 100 a potências de 2 de forma apressada, sem executar as divisões passo a passo.
Raio-X da questão
laços de repetição
avaliacao
laços de repetição · divisão inteira
Revisar o funcionamento de laços de repetição e divisão inteira.
O aluno pode confundir a operação de divisão inteira com a divisão comum, resultando em um valor de cont incorreto.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Analise o pseudocódigo: cont <- 0 i <- 1 enquanto i <= 20 faça se i % 2 == 0 então cont <- cont + 1 fimse i <- i + 1…
- Folhas numeradas de 1 a 50 cobrem uma mesa de madeira. Durante uma atividade, um professor propôs o seguinte algoritmo…
- Uma equipe de estudantes criou um algoritmo para contar quantos números inteiros de 1 a 100 são divisíveis por 7. O…
- Considere o pseudocódigo: contador ? 0; repetir 3 vezes: contador ? contador + 2; imprimir(contador). Qual valor será…
- Por que alguns programas realizam somas termo a termo em vez de usar fórmulas prontas? Uma plataforma fictícia apresenta…
- Considere o pseudocódigo: soma ? 0; para i de 1 até 4: soma ? soma + i; escreva(soma). Qual será a saída exibida?
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
