GeraProva GeraProva Provas com IA para professores do Brasil
Computação2ª sérieBNCC EM13CO02Média⏱ medio

Por que sensores bancários verificam a soma dos algarismos de um código de barras? Em algoritmos de validação…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EM13CO02

Explorar e construir a solução de problemas por meio de refinamentos, utilizando diversos níveis de abstração desde a especificação até a implementação.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Por que sensores bancários verificam a soma dos algarismos de um código de barras? Em algoritmos de validação, soma-se cada dígito de um número para gerar um dígito de controle. Esse processo extrai o último algarismo pelo resto da divisão por 10, acumula esse valor em uma variável soma e reduz o número dividindo-o por 10, repetindo até que ele seja zero. O resultado final, soma de todos os dígitos, é comparado ao dígito de verificação para indicar se o código é válido. Para implementar esse fluxo em um fluxograma, é preciso escolher a ordem correta de inicialização, repetição e atualização de variáveis. A partir do texto-base, identifique o algoritmo que implementa corretamente o procedimento de soma dos dígitos descrito.

  1. A) Definir soma <- 0; enquanto n > 0 faça: soma <- soma + (n mod 10); n <- n div 10; fim; retornar soma
  2. B) O laço deixa de processar quando resta um algarismo, e esse algarismo não é incluído no resultado.
  3. C) A atualização de n mantém apenas o último algarismo, fazendo com que ele seja somado novamente.
  4. D) A multiplicação dos algarismos e a inicialização da soma em 1 calculam um produto, não uma soma.
  5. E) A divisão inteira usada para extrair o algarismo obtém o número sem o último algarismo, e não o último algarismo.

✅ Resposta correta: alternativa A

Resolução passo a passo

  1. O procedimento descrito no texto tem três partes: começar com a soma em zero, repetir enquanto o número for maior que zero, e em cada volta somar o último algarismo (resto da divisão por 10) e remover esse algarismo (divisão inteira por 10). Passo 2: A alternativa A segue exatamente essa ordem: inicializa soma <- 0, o laço continua enquanto n > 0, soma <- soma + (n mod 10) acumula o último algarismo, n <- n div 10 remove esse algarismo, e ao final retorna a soma. Passo 3: Testando com n = 382: primeira volta soma = 2 e n = 38; segunda volta soma = 10 e n = 3; terceira volta soma = 13 e n = 0; o laço para e o resultado é 13, que é 3 + 8 + 2. Passo 4: A alternativa B está errada porque o laço só para com n = 0, então o último algarismo também é processado. Passo 5: A alternativa C está errada porque a atualização n <- n div 10 descarta o último algarismo, e não o mantém. Passo 6: A alternativa D está errada porque a soma é acumulada com adição, e a multiplicação não aparece no procedimento. Passo 7: A alternativa E está errada porque a divisão inteira fornece o número sem o último algarismo, mas é o resto (mod 10) que fornece o próprio algarismo. Passo 8: Como as alternativas B a E são afirmações sobre erros e não algoritmos, a única descrição de algoritmo correta é a A, que coincide com o gabarito oficial.

💡 Dica: Verifique como o resto e a divisão inteira atualizam o número em cada repetição.

Alternativa por alternativa

A Correta

Em cada repetição, o resto da divisão de n por 10 corresponde ao último algarismo. Esse algarismo é somado, e a divisão inteira por 10 o remove; o processo termina quando todos os algarismos forem percorridos.

B Erradaerro: Procedimental

O aluno acredita que o laço para quando resta apenas um algarismo, pensando na condição de parada como n > 1 em vez de n > 0.

C Erradaerro: Conceitual

O aluno acha que atualizar n pela divisão inteira mantém o último algarismo, confundindo o efeito de n div 10 com o de n mod 10.

D Erradaerro: Conceitual

O aluno confunde soma com produto, supondo que os algarismos são multiplicados e que a inicialização em 1 é a correta para acumular.

E Erradaerro: Procedimentala que mais engana

O aluno acredita que a divisão inteira por 10 fornece o algarismo extraído, trocando o quociente pelo resto.

Por que engana: Confundir o resto da divisão por 10, que extrai o último algarismo, com a divisão inteira, que remove esse algarismo do número.

Raio-X da questão

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

Laço e soma de dígitos

📌 Objetivo

avaliacao

🧱 Pré-requisitos

Operadores mod e divisão inteira · Variáveis e estruturas de repetição

📚 Reveja

Revise o uso de mod, divisão inteira, acumuladores e condições de repetição em algoritmos.

⚠️ Erro mais comum

Confundir o resto da divisão por 10, que extrai o último algarismo, com a divisão inteira, que remove esse algarismo do número.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

tomada_decisao

🏫 Contexto

cientifico

Questões parecidas com resolução

Todas as questões de [CONFERIR] Construir soluções baseadas no uso de algoritmos e conceitos da Computação para resolver problemas, avaliando suas qualidades e melhorando-as.

🔎 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.