Num sistema de pagamentos da cantina escolar, ao projetar variáveis para valores monetários, qual escolha…
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
Num sistema de pagamentos da cantina escolar, ao projetar variáveis para valores monetários, qual escolha evita erros de arredondamento em cálculos financeiros?
- A) Ponto flutuante, para permitir casa decimal nas transações.
- B) Lista, para armazenar todos os valores de transações em um único lugar.
- C) String, para representar valores em formato textual.
- D) Armazenar como inteiro representando centavos (ex.: 125 para R$1,25).
- E) Booleano, para registrar se um pagamento foi feito ou não.
✅ Resposta correta: alternativa D
Resolução passo a passo
- A questão pergunta qual escolha de tipo de dado evita erros de arredondamento em cálculos financeiros, em um sistema de cantina escolar.
- Ao resolver por conta própria, percebemos que o problema central é a representação numérica. Números de ponto flutuante (como float e double) guardam frações em base binária, e muitas frações decimais simples, como 0,1 ou 1,25 em certas somas, não têm representação exata. Isso gera pequenos erros que se acumulam ao longo de muitas transações.
- Uma solução comum na prática é trabalhar com a menor unidade monetária, o centavo, e armazenar o valor como inteiro. Assim, R$1,25 vira 125, e as somas e subtrações são exatas, pois inteiros não sofrem arredondamento nessas operações.
- Alternativa A está errada, pois ponto flutuante é justamente a fonte do problema de arredondamento.
- Alternativa B está errada, pois lista é uma estrutura para guardar vários valores, sem definir como cada valor é representado.
- Alternativa C está errada, pois string representa texto e não permite cálculos aritméticos diretos e seguros sobre o valor.
- Alternativa E está errada, pois booleano só registra sim ou não e não representa quantias em dinheiro.
- Conclusão: a alternativa D é a correta, pois o inteiro em centavos elimina erros de arredondamento nos cálculos financeiros, coincidindo com o gabarito oficial.
💡 Dica: Considere as melhores práticas para manipulação de valores monetários.
Alternativa por alternativa
O aluno acredita que o ponto flutuante é a melhor escolha porque permite representar casas decimais, sem perceber que essa representação binária é justamente a origem dos erros de arredondamento.
Por que engana: Escolher ponto flutuante por achar que é a melhor opção para representar valores monetários, sem considerar os problemas de precisão que isso pode causar.
O aluno confunde a necessidade de guardar vários valores com a necessidade de representar cada valor com precisão, achando que organizar tudo em uma lista resolve o problema de arredondamento.
O aluno supõe que guardar o valor como texto preserva exatamente o número, sem notar que textos não são calculados de forma direta e exigiriam conversões que não resolvem a questão.
Pontos flutuantes introduzem imprecisão binária; usar inteiros em unidades mínimas (centavos) garante aritmética exata e previsível.
O aluno interpreta mal o contexto de pagamento e acha que registrar se o pagamento ocorreu tem relação com a precisão dos valores, sem perceber que o booleano não representa quantias.
Raio-X da questão
variáveis monetárias
avaliacao
tipos de dados em programação · arredondamento em cálculos
Revisar como evitar erros de arredondamento em cálculos financeiros.
Escolher ponto flutuante por achar que é a melhor opção para representar valores monetários, sem considerar os problemas de precisão que isso pode causar.
ciencia_tecnologia
pensamento_critico
cotidiano
Questões parecidas com resolução
- Ao projetar um algoritmo que soma contribuições em dinheiro para o fundo escolar, por que é preferível representar os…
- Em um algoritmo que percorre uma matriz 'vendas', cada registro tem campo 'valor' monetário. Qual tipo de variável é…
- Ao projetar um registro 'produto' com campo 'preco' para cálculos financeiros, qual tipo de dado reduz erros de…
- Uma máquina registradora precisa armazenar o preço de um produto. Para isso, o programador deve escolher um tipo de dado…
- Ao projetar um registro para vendas em uma aplicação, qual tipo de variável é mais apropriado para armazenar o preço…
- Em um algoritmo que processa um fluxo de dados numérico, qual tipo de variável é mais apropriada para armazenar valores…
🔎 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
