Como distribuir uniformemente kits de higiene a famílias em situação de vulnerabilidade? Para auxiliar, um…
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
Como distribuir uniformemente kits de higiene a famílias em situação de vulnerabilidade? Para auxiliar, um voluntário criou um pseudocódigo simples que acumula o total de kits distribuídos a cada remessa: Dados ficticios: total <- 0 i <- 1 enquanto total < 50 faca total <- total + 3 * i i <- i + 1 fim enquanto imprima(total) A cada laço, o voluntário envia um lote com quantidade proporcional ao número do lote. O processo termina quando o total atinge ou ultrapassa 50 kits. Analise o texto-base e determine o valor impresso pelo algoritmo ao final de sua execução.
- A) 50
- B) 60
- C) 55
- D) 45
- E) 63
✅ Resposta correta: alternativa E
Resolução passo a passo
- Comece com total = 0 e i = 1. Enquanto total for menor que 50, o algoritmo soma 3 * i ao total e depois incrementa i em 1.
- Laço 1: total = 0 + 3*1 = 3; i passa a 2.
- Laço 2: total = 3 + 3*2 = 9; i passa a 3.
- Laço 3: total = 9 + 3*3 = 18; i passa a 4.
- Laço 4: total = 18 + 3*4 = 30; i passa a 5.
- Laço 5: total = 30 + 3*5 = 45; i passa a 6. Como 45 é menor que 50, o laço continua.
- Laço 6: total = 45 + 3*6 = 63; i passa a 7. Agora 63 ultrapassa 50, então a condição total < 50 é falsa e o laço termina.
- O comando imprima(total) mostra 63. Assim, a alternativa E está correta e coincide com o gabarito oficial.
- Por que as outras estão erradas: A (50) seria o valor-limite, mas o algoritmo nunca imprime o limite, e sim o total acumulado; B (60) surge se o i for incrementado antes de ser usado; C (55) surge se a soma usar apenas i, sem o fator 3; D (45) é o último total abaixo de 50, mas o laço ainda executa mais uma vez.
💡 Dica: Simule o laço acumulando os valores até atingir 50 ou mais.
Alternativa por alternativa
Confundiu o limite de parada (50) com o valor final impresso. O aluno acha que o total termina exatamente no valor-limite, sem simular o último laço.
Atualizou i antes de usá-lo na soma. Ao calcular 3*(i+1) em cada laço, obtém 6, 15, 27, 42 e 60, parando em 60.
Esqueceu o fator 3 e somou apenas i (1+2+...+10 = 55), ignorando a multiplicação por 3 descrita no pseudocódigo.
Por que engana: O aluno pode parar a soma antes de ultrapassar 50 ou confundir o incremento do índice i.
Parou no último total menor que 50 e não executou o laço seguinte, que ainda ocorre porque 45 < 50. Entendeu mal que a parada ocorre só ao atingir o limite.
Após 6 iterações soma 3+6+9+12+15+18 = 63, que é o primeiro total >= 50 impresso.
Raio-X da questão
acumulo em laço iterativo
avaliacao
estrutura de repetição · variáveis e atribuições
estude estruturas de repetição e acumulação em algoritmos
O aluno pode parar a soma antes de ultrapassar 50 ou confundir o incremento do índice i.
tomada_decisao
cotidiano
Questões parecidas com resolução
- Por que um programa de contagem repetitiva pode ficar preso em loop infinito? Para ilustrar, um grupo comunitário quer…
- — Para fechar o orçamento do festival, precisamos rodar um algoritmo que calcule o valor total das entradas, explicou a…
- Uma plataforma de leitura digital adotou um sistema de pontos para premiar a participação dos assinantes. Cada novo…
- Em uma ação de apoio à permanência escolar, uma equipe precisa calcular automaticamente a quantidade de materiais…
- Dados ilustrativos: um engenheiro desenvolve um protótipo de plantadeira automática que distribui sementes em fileiras…
- No relatório semanal da manutenção de iluminação pública de um bairro, foram registrados os totais acumulados de…
🔎 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
