Com relação à implementação na memória de tipos de dados em...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa Correta: B - A enumeração (seg, ter, qua, qui, sex), em Pascal, ocupa um byte.
Vamos analisar a questão, que aborda a implementação na memória de tipos de dados em linguagens de programação. Esse tema exige um conhecimento básico sobre como diferentes estruturas de dados ocupam espaço na memória e como isso é tratado em diversas linguagens de programação.
Justificativa da Alternativa Correta:
B: Em linguagens de programação como Pascal, uma enumeração é uma lista de constantes nomeadas. No exemplo dado, a enumeração (seg, ter, qua, qui, sex) é uma sequência de cinco elementos. Em Pascal, as enumerações são geralmente armazenadas em 1 byte, a menos que a implementação da linguagem ou o compilador especifique o contrário. Isso é possível porque 1 byte pode representar até 256 valores diferentes, mais do que suficiente para lidar com cinco elementos.
Alternativas Incorretas:
A: O conjunto set of ['0'..'4']
não ocupa necessariamente 5 bytes. Em Pascal, um conjunto (set) ocupa um byte por cada 8 possíveis elementos que contém, com um mínimo de 1 byte. Assim, um conjunto de cinco caracteres geralmente ocupa 1 byte, e não 5.
C: Um ponteiro não ocupa tantos bytes quanto o tamanho do objeto para o qual aponta. O tamanho de um ponteiro é fixado pela arquitetura do sistema (por exemplo, 4 bytes em sistemas de 32 bits ou 8 bytes em sistemas de 64 bits), independentemente do tamanho do objeto que ele referencia.
D: Em uma união (union), os elementos compartilham o mesmo espaço físico na memória, e não possuem o mesmo tamanho. A união é estruturada para que todos os membros sobreponham-se no mesmo local da memória, tendo o tamanho do maior membro. Essa característica permite que a união ocupe apenas o espaço do maior elemento.
Espero que a explicação tenha esclarecido suas dúvidas sobre a questão e a escolha da alternativa correta. Quanto mais você se familiarizar com a forma como diferentes tipos de dados são armazenados na memória, mais fácil será compreender e responder a questões similares.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
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
b-
no pascal, uma enumeração é por regra 1 byte. na a, seriam 5 bytes de fosse de 0 a 4. 0..4 nao sao 5 bytes
Essa B não está errada, mas poderia ter sido melhor escrita. Como a enumeração apresenta 5 valores, um único byte é o suficiente para armazenar todos esses valores, assim como se existissem mais valores, poderia ocupar até um máximo de mais 3 (totalizando 8) e os seguintes já seriam outros bytes.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo