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
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?
- A) while (n >= 0) { soma += n; n = input(); }
- B) for (n = 0; n >= 0; n++) { soma += n; }
- C) do { soma += n; } while (n >= 0);
- D) repeat { soma += n; } until (n < 0);
- E) if (n >= 0) { soma += n; }
✅ Resposta correta: alternativa A
Resolução passo a passo
- 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
Essa estrutura 'while' soma números enquanto n for não negativo.
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.
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.
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.
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
repetição em algoritmos
avaliacao
estrutura de repetição · condicionais em algoritmos
Revisar estruturas de repetição em algoritmos.
Confundir a condição de parada da repetição, permitindo que números negativos sejam somados.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Qual é a estrutura de um algoritmo que permite somar números até que um número negativo seja digitado?
- Explique como um algoritmo com repetição condicional simples pode ser usado para calcular a soma de números fornecidos…
- Descreva como você implementaria um algoritmo que solicita ao usuário que insira números até que ele digite um número…
- Explique como um algoritmo pode usar uma estrutura de repetição para contar quantos números negativos são inseridos pelo…
- Descreva como um algoritmo com uma estrutura de repetição condicional simples pode ser aplicado para calcular a soma de…
- Descreva como um algoritmo com repetição condicional simples poderia ser aplicado para contar quantos números positivos…
🔎 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
