GeraProva GeraProva Provas com IA para professores do Brasil
Computação7º anoBNCC EF69CO02Média⏱ medio

Em um algoritmo que calcula a soma de números inteiros, qual a forma correta de implementar uma repetição…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF69CO02

Elaborar algoritmos que envolvam instruções sequenciais, de repetição e de seleção usando uma linguagem de programação.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Em um algoritmo que calcula a soma de números inteiros, qual a forma correta de implementar uma repetição simples que some números até que um número negativo seja digitado?

  1. A) while (n >= 0) { soma += n; n = input(); }
  2. B) for (n = 0; n >= 0; n++) { soma += n; }
  3. C) do { soma += n; } while (n >= 0);
  4. D) repeat { soma += n; } until (n < 0);
  5. E) if (n >= 0) { soma += n; }

✅ Resposta correta: alternativa A

Resolução passo a passo

  1. Uma repetição simples que soma números até que um negativo seja digitado é um laço controlado por sentinela. O laço deve continuar enquanto o número lido for maior ou igual a zero, e o programa só deve acumulá-lo quando não for negativo. Passo 2: Na alternativa A, while (n >= 0) testa a condição antes de cada iteração. Se n for não negativo, soma += n acrescenta o valor à soma, e n = input() lê o próximo número. Quando um negativo é digitado, a condição deixa de ser verdadeira e o laço termina, sem somar o negativo. Passo 3: O trecho assume que n já foi lido uma vez antes do laço, o que é necessário para o teste inicial funcionar; essa leitura inicial não aparece no trecho, mas é o padrão desse tipo de algoritmo. Passo 4: Na alternativa B, o for usa n++ e não lê nenhum valor do usuário; a variável n cresce sozinha a partir de 0 e nunca fica negativa, então o laço não termina. Passo 5: Na alternativa C, o do-while soma n antes de qualquer leitura e a condição n >= 0 nunca muda, pois não há input dentro do laço; além disso, n pode estar sem valor na primeira soma. Passo 6: Na alternativa D, o repeat-until testa n < 0, mas o corpo só soma n sem ler novos valores, então n nunca muda e o laço não se encerra corretamente. Passo 7: Na alternativa E, o if executa a soma uma única vez, sem repetição, por isso não atende ao enunciado. Passo 8: Conclusão: a alternativa correta é a A, que coincide com o gabarito oficial.

💡 Dica: Pense em como implementar um loop que verifica a condição de parada.

Alternativa por alternativa

A Correta

Essa estrutura 'while' soma números enquanto n for não negativo.

B Erradaerro: Conceitual

O aluno acredita que basta um laço que incremente n automaticamente, confundindo o controle do laço com a entrada de dados. Não percebe que o enunciado exige ler os números digitados pelo usuário e que n++ não produz valores negativos.

C Erradaerro: Procedimentala que mais engana

O aluno entende que do-while é a estrutura correta por executar pelo menos uma vez, mas esquece que o corpo precisa ler um novo valor a cada iteração. Também não percebe que somar n antes de qualquer leitura usa um valor ainda não definido.

Por que engana: Confundir a condição de parada da repetição, permitindo que números negativos sejam somados.

D Erradaerro: Procedimental

O aluno se fixa na condição de parada (n < 0) do repeat-until e acha que a forma da estrutura basta, sem verificar se a variável muda dentro do laço. Não nota que, sem leitura, n permanece constante e a condição nunca se altera.

E Erradaerro: Conceitual

O aluno confunde decisão com repetição, achando que o if que testa n >= 0 resolve o problema. Não percebe que a estrutura condicional executa a soma apenas uma vez e não repete o processo até o negativo aparecer.

Raio-X da questão

Dificuldade Média
Bloom Aplicar
Leitura medio
Discriminação medio
Peso pedagógico medio
Autonomia do enunciado completo
Cobertura da habilidade unica
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 progressao
🎯 Conceito central

repetição em algoritmos

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estrutura de repetição · condicionais em algoritmos

📚 Reveja

Revisar estruturas de repetição em algoritmos.

⚠️ Erro mais comum

Confundir a condição de parada da repetição, permitindo que números negativos sejam somados.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Programação - Linguagem de programação

🔎 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

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.