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

Ao projetar um algoritmo que soma contribuições em dinheiro para o fundo escolar, por que é preferível…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF69CO01

Classificar informações, agrupando-as em coleções (conjuntos) e associando cada coleção a um ‘tipo de dado’.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Ao projetar um algoritmo que soma contribuições em dinheiro para o fundo escolar, por que é preferível representar os valores monetários como inteiros (por exemplo, centavos) em vez de ponto flutuante?

  1. A) Texto (strings representando valores)
  2. B) Data (formato de data em vez de valor)
  3. C) Usar inteiro (representar em centavos).
  4. D) Ponto flutuante (com vírgula)
  5. E) Número decimal (com casas decimais)

✅ Resposta correta: alternativa C

Resolução passo a passo

  1. A pergunta pede o motivo pelo qual, em um algoritmo que soma contribuições em dinheiro, é preferível guardar valores como inteiros (por exemplo, centavos) e não como ponto flutuante.
  2. Resolvendo por conta própria, o problema central é a precisão. Números de ponto flutuante são armazenados em representação binária, e muitas frações decimais simples, como 0,1 ou 0,2, não têm representação exata nessa base. Assim, somas repetidas de valores como 0,10 podem acumular pequenos erros de arredondamento, e o total final pode sair ligeiramente diferente do esperado, o que é inaceitável em contabilidade.
  3. Quando o valor é guardado em centavos, por exemplo R$ 10,35 como 1035, todas as operações são feitas com números inteiros, que são exatos. A soma fica precisa, e a formatação com vírgula só é feita na exibição final.
  4. Comparando com o gabarito oficial, a alternativa C coincide com a minha conclusão, pois ela propõe justamente usar inteiro representando centavos.
  5. Por que as outras estão erradas: A) strings representam texto e não permitem somar valores diretamente sem conversão; B) datas servem para registrar instantes no tempo e não para quantias de dinheiro; D) ponto flutuante é justamente o tipo que se quer evitar por causa dos erros de arredondamento; E) número decimal com casas decimais é, na prática, a mesma ideia de ponto flutuante quando implementada de forma binária, portanto não resolve o problema.

💡 Dica: Considere as vantagens de precisão e arredondamento.

Alternativa por alternativa

A Erradaerro: Conceitual

Imagina que guardar o valor como texto garante exatidão, porque o texto preserva exatamente os dígitos digitados. Esquece que texto não pode ser somado como número sem conversão e que o problema de precisão não é resolvido por ele.

B Erradaerro: Interpretação

Confunde o tipo de dado de data com um formato útil para quantias, talvez por associar a palavra 'formato' a qualquer representação. Não percebe que datas representam instantes no tempo e não valores monetários.

C Correta

Ponto flutuante pode introduzir erros de arredondamento; armazenar em centavos como inteiro mantém precisão exata em operações aritméticas financeiras.

D Erradaerro: Conceituala que mais engana

Acredita que a vírgula da notação monetária exige ponto flutuante e que este é o tipo natural para dinheiro. Não sabe que o ponto flutuante acumula erros de arredondamento em frações como 0,1.

Por que engana: Confundir a precisão dos números de ponto flutuante com a necessidade de exatidão em cálculos financeiros, levando a erros de arredondamento.

E Erradaerro: Conceitual

Acha que basta indicar casas decimais para obter precisão, sem perceber que a forma de armazenamento continua sendo de ponto flutuante binário. A notação escrita não muda o erro interno de representação.

Raio-X da questão

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

representação de valores monetários

📌 Objetivo

avaliacao

🧱 Pré-requisitos

representação de valores monetários · tipos de dados em programação

📚 Reveja

Revisar a diferença entre inteiros e ponto flutuante em programação.

⚠️ Erro mais comum

Confundir a precisão dos números de ponto flutuante com a necessidade de exatidão em cálculos financeiros, levando a erros de arredondamento.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

tomada_decisao

🏫 Contexto

cotidiano

Questões parecidas com resolução

Todas as questões de Programação - Tipos de dados

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