No projeto de sistemas que exigem alta precisão aritmética ...

Próximas questões
Com base no mesmo assunto
Q3907821 Programação
No projeto de sistemas que exigem alta precisão aritmética e manipulação de estados lógicos complexos, a escolha do tipo de dado influencia diretamente o comportamento da aplicação em situações de erro. Acerca da representação interna de tipos estruturados e tipos de ponto flutuante conforme o padrão IEEE 754 (Instituto de Engenheiros Eletricistas e Eletrônicos 754), registre V, para as afirmativas verdadeiras, e F, para as falsas:

(__)A representação de NaN (Not a Number − Não é um Número) permite que o sistema identifique operações matematicamente indefinidas sem interromper obrigatoriamente a execução do fluxo principal do algoritmo.
(__)Em tipos estruturados como Unions (Uniões), o compilador aloca espaço de memória suficiente para armazenar todos os membros simultaneamente, de forma análoga ao funcionamento de uma Struct (Estrutura).
(__)O erro de arredondamento em variáveis do tipo Float (Ponto Flutuante de Precisão Simples) é cumulativo em laços de repetição extensos, podendo ser mitigado pelo uso de tipos Decimais baseados em inteiros.
(__)Variáveis do tipo Booleano (Lógico) em linguagens de baixo nível ocupam sempre apenas um bit de memória física, independentemente da arquitetura de endereçamento do barramento de dados do sistema.

Após análise, assinale a alternativa que apresenta a sequência correta dos itens acima, de cima para baixo:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: C

Fundamento decisivo: A decisão dependia de reconhecer a sequência V, F, V, F: NaN não exige interrupção obrigatória, union não armazena todos os membros como struct, float pode acumular arredondamento e booleano não ocupa sempre 1 bit.

Tema central: Representação interna de dados
Análise das alternativas
A
Errada
Está errada porque marca a 3ª assertiva como falsa e a 4ª como verdadeira. O confronto técnico correto é o oposto: erro de arredondamento em float pode ser cumulativo, e booleano não ocupa sempre 1 bit de armazenamento físico.
B
Errada
Está errada porque marca a 1ª assertiva como falsa e a 2ª como verdadeira. Isso contraria dois critérios centrais: NaN pode sinalizar operação indefinida sem interrupção obrigatória do fluxo, e union não aloca espaço para todos os membros simultaneamente como struct.
C
Certa
A alternativa C está correta porque corresponde à sequência V, F, V, F. A 1ª assertiva é verdadeira, pois NaN sinaliza resultado indefinido sem impor, por si só, interrupção obrigatória do fluxo. A 2ª é falsa, porque union não armazena todos os membros simultaneamente como struct; seus membros compartilham a mesma região de memória. A 3ª é verdadeira, porque erros de arredondamento de float podem se acumular em iterações, e essa mitigação por tipos decimais é aceitável em termos gerais, embora dependa da implementação concreta. A 4ª é falsa, porque booleano não ocupa sempre apenas 1 bit de memória física.
D
Errada
Está errada porque considera verdadeiras a 2ª e a 4ª assertivas. Ambas usam absolutizações indevidas: union não funciona como struct quanto à alocação simultânea de todos os campos, e booleano não ocupa sempre apenas 1 bit de memória física.
Pegadinha da questão
A questão explorou confusões clássicas: tratar union como se fosse struct, confundir valor lógico binário com armazenamento físico de 1 bit e presumir que NaN implica interrupção obrigatória.
Dica para questões semelhantes
  • Em afirmações sobre IEEE 754, diferencie sinalização de resultado inválido de interrupção obrigatória da execução.
  • Ao comparar struct e union, verifique se os membros têm armazenamento distinto ou se compartilham a mesma área de memória.
  • Em ponto flutuante, trate como plausível a acumulação de arredondamentos em repetições e leia com cuidado expressões como 'pode ser mitigado'.
  • Quando a assertiva disser 'sempre' sobre ocupação física de memória, confronte com dependência de linguagem, compilador, ABI e arquitetura.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

A alternativa correta é a C (V, F, V, F).

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo