Ao projetar um registro 'produto' com campo 'preco' para cálculos financeiros, qual tipo de dado reduz erros…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
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 registro 'produto' com campo 'preco' para cálculos financeiros, qual tipo de dado reduz erros de precisão: ponto flutuante ou inteiro (em centavos)?
- A) Inteiro normal (sem centavos)
- B) String
- C) Decimal com casas variáveis
- D) Inteiro em centavos
- E) Ponto flutuante
✅ Resposta correta: alternativa D
Resolução passo a passo
- Resolvendo por conta própria, o ponto flutuante (E) armazena números em base binária, e muitos valores decimais, como 0,1, não têm representação exata. Por isso, somas como 0,1 + 0,2 podem resultar em 0,30000000000000004 e os erros se acumulam em cálculos financeiros repetidos. Passo 2: Guardar o preço em centavos como inteiro (D) resolve o problema: R$ 10,50 vira 1050, e somas, subtrações e multiplicações por inteiros são exatas dentro da faixa de valores suportada. A conversão para reais é feita só na exibição. Passo 3: A alternativa A está errada porque um inteiro sem centavos não consegue representar R$ 10,50 sem perder a parte fracionária. A alternativa B está errada porque string guarda o texto, mas não permite cálculos aritméticos diretos sem conversão. A alternativa C está errada porque uma representação decimal de casas variáveis não fixa a escala monetária, o que a torna menos previsível do que centavos inteiros ou decimal de escala fixa. Passo 4: Conclusão: a resposta correta é a D, em concordância com o gabarito oficial.
💡 Dica: Considere as características dos tipos de dados em programação.
Alternativa por alternativa
Acredita que qualquer número inteiro elimina erros de precisão, sem perceber que descartar os centavos gera perda de valor real.
Imagina que guardar o preço como texto é a forma mais segura e legível, ignorando que não há cálculo aritmético direto sobre strings.
Entende que um tipo decimal, por ser 'decimal', sempre é exato e pode ter número de casas variável, sem perceber que a escala precisa ser fixa para evitar inconsistências monetárias.
Por que engana: Confundir o uso de ponto flutuante com inteiro em centavos, levando a erros de precisão em cálculos financeiros.
Representar valores monetários como inteiros (centavos) evita erros de arredondamento e imprecisão típicos de ponto flutuante em operações financeiras.
Assume que ponto flutuante é o tipo padrão para números com vírgula e, por isso, é adequado para dinheiro, sem considerar os erros de arredondamento da representação binária.
Raio-X da questão
tipos de dados
avaliacao
tipos de dados · cálculos financeiros
Revisar os tipos de dados e suas aplicações em programação.
Confundir o uso de ponto flutuante com inteiro em centavos, levando a erros de precisão em cálculos financeiros.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Na inscrição para uma oficina de robótica, a escola registra: nome completo, idade, turno escolhido e autorização da…
- — A estação da Praça das Mangueiras está aberta, mas só restam 3 bicicletas — avisou uma moradora ao serviço municipal…
- — Onde estão as peças ásperas em forma de estrela? — perguntou uma criança durante a montagem de um jogo tátil. O…
- — O caminhão só consegue visitar vinte contêineres por noite — avisou a coordenadora da coleta seletiva. Durante a…
- — A tela do empréstimo mostra primeiro a cor e depois a figura — explicou Nora, responsável pela brinquedoteca…
- — A linha 206 passou com a rampa disponível hoje? — perguntou uma usuária no ponto de ônibus. Durante um teste fictício…
🔎 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
