Pular para o conteúdo principal

Questão de Engenharia de Software — Desenvolvimento de Software — FGV 2024

Engenharia de SoftwareDesenvolvimento de Software
Código
fg098446
Banca
FGV
Órgão
TJ-MS
Ano
2024
Nível
Superior
Cargo
Técnico de Nível Superior - Analista de Sistemas Computacionais - Analista de Infraestrutura de Redes
Daniel está no processo de desenvolvimento de um sistema financeiro que exige a realização de cálculos com altíssima precisão para prevenir erros de arredondamento que poderiam resultar em discrepâncias financeiras de grande magnitude. O sistema em questão precisa lidar com uma ampla variedade de operações financeiras, que vão desde as básicas adições e subtrações até os mais complexos cálculos de juros compostos e conversões monetárias. Diante disso, Daniel se vê na necessidade de selecionar a metodologia de aritmética computacional mais apropriada, que assegure a precisão exigida pelos cálculos financeiros do sistema.Para o sistema financeiro em desenvolvimento, Daniel deve optar pela aritmética de:
  1. Aponto fixo;
  2. Bprecisão arbitrária (bignum);
  3. Cponto flutuante de precisão dupla;
  4. Dponto flutuante de precisão simples;
  5. Eponto flutuante de precisão quádrupla.
Revelar gabarito e comentário

GabaritoB — precisão arbitrária (bignum);

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Aritmética computacional para sistemas financeiros

Gabarito: letra B. Para cálculos financeiros que exigem altíssima precisão e ausência de erros de arredondamento, a aritmética de precisão arbitrária (bignum) é a mais adequada, pois permite representar números com qualquer número de dígitos, alocando memória dinamicamente, garantindo exatidão matemática.

A questão testa o conhecimento sobre as diferentes metodologias de representação numérica em computação e suas aplicações. Em sistemas financeiros, onde pequenos erros de arredondamento podem se acumular e causar grandes discrepâncias, é essencial escolher uma aritmética que preserve a precisão.

Alternativa A — ❌ Incorreta

A aritmética de ponto fixo representa números com uma quantidade fixa de dígitos antes e depois da vírgula. Embora seja determinística e não tenha erros de arredondamento para operações aditivas, sua precisão é limitada pela escala fixa, podendo causar problemas em operações que exigem grande variação de magnitude ou muitos dígitos decimais. Não é a melhor escolha para a diversidade de operações financeiras complexas.

Alternativa B — ✅ Correta ⟵ GABARITO

A aritmética de precisão arbitrária (bignum) representa números com um número de dígitos que pode crescer conforme a necessidade, apenas limitado pela memória disponível. Ela evita completamente erros de arredondamento, pois toda operação é realizada com a precisão total dos operandos. É a metodologia ideal para cálculos financeiros que exigem alta exatidão, como juros compostos e conversões monetárias. Exemplos: bibliotecas como BigDecimal em Java ou decimal em Python.

Alternativa C — ❌ Incorreta

O ponto flutuante de precisão dupla (double, 64 bits) oferece cerca de 15 a 16 dígitos decimais significativos. Embora seja suficiente para muitas aplicações, ele ainda está sujeito a erros de arredondamento inerentes à representação binária, o que pode levar a discrepâncias financeiras em cálculos muito grandes ou que exigem exatidão absoluta.

Alternativa D — ❌ Incorreta

O ponto flutuante de precisão simples (float, 32 bits) fornece apenas cerca de 7 dígitos decimais significativos. É totalmente inadequado para sistemas financeiros que demandam altíssima precisão, pois os erros de arredondamento seriam muito mais significativos.

Alternativa E — ❌ Incorreta

O ponto flutuante de precisão quádrupla (quad, 128 bits) oferece cerca de 34 dígitos decimais. Embora seja muito mais preciso que a dupla, ainda é uma representação de ponto flutuante sujeita a erros de arredondamento. Além disso, não é tão amplamente suportada quanto a precisão arbitrária e, para os casos mais extremos, pode não ser suficiente. A precisão arbitrária é superior por ser exata.

PEGA ESSA DICA!

Em questões sobre aritmética computacional, lembre-se: para exatidão total (sem arredondamento), use precisão arbitrária. Ponto flutuante é para aproximação com boa relação custo/desempenho, mas não elimina erros. Sistemas financeiros, contábeis e científicos que exigem o valor exato devem optar por bibliotecas de precisão arbitrária.

Gabarito: letra B.

Link permanente: /questoes/fg098446