Computação Múltipla Escolha

Em um projeto de software para gerenciamento de bibliotecas, utiliza-se a estrutura de dados heterogênea para modelar livros. Cada livro é representado por uma estrutura contendo título, autor, ano de publicação e status de empréstimo. Qual estrutura de dados em C é mais apropriada para armazenar os detalhes de cada livro no projeto descrito?

Em um projeto de software para gerenciamento de bibliotecas, utiliza-se a estrutura de dados heterogênea para modelar livros. Cada livro é representado por uma estrutura contendo título, autor, ano de publicação e status de empréstimo. Qual estrutura de dados em C é mais apropriada para armazenar os detalhes de cada livro no projeto descrito?

  1. Array de inteiros.
  2. Lista ligada de caracteres.
  3. Estrutura (struct).
  4. Ponteiro para void.
  5. Matriz bidimensional de floats.

Resolução completa

Explicação passo a passo

C
Alternativa C

Alternativa C - Estrutura (struct)

O problema descreve a necessidade de agrupar informações de tipos variados (texto e números) sob uma única entidade lógica chamada "livro". Em C, a maneira padrão e mais eficiente de modelar esse tipo de dado composto é utilizando uma estrutura.

Análise da Questão

Para entender por que a Estrutura (struct) é a resposta correta, precisamos analisar as características solicitadas pelo enunciado:

  • Dados Heterogêneos: O livro possui campos com tipos diferentes:
  • Título e Autor: Textos (cadeias de caracteres, char[]).
  • Ano de Publicação: Número inteiro (int).
  • Status de Empréstimo: Geralmente lógico ou caractere (int ou char).
  • Modelagem de Entidades: Precisamos de uma forma de tratar todos esses dados juntos como se fosse um único objeto.

Por que as outras alternativas estão incorretas?

AlternativaMotivo da Incorreção
A) Array de inteirosSó aceita números inteiros. Não consegue armazenar títulos ou autores (texto).
B) Lista ligada de caracteresArmazena apenas letras individuais, não organizando os dados como um registro completo de livro.
D) Ponteiro para voidÉ um ponteiro genérico. Ele aponta para memória, mas não define a estrutura interna dos dados do livro.
E) Matriz bidimensional de floatsSó aceita números de ponto flutuante. Não serve para texto nem para inteiros puros.

Exemplo Prático em C

A implementação correta seria declarada assim:

\begin{aligned} & \texttt{struct Livro \{} \\ & \quad \texttt{char titulo[100];} \\ & \quad \texttt{char autor[50];} \\ & \quad \texttt{int ano;} \\ & \quad \texttt{int emprestado;} \\ & \texttt{\};} \end{aligned}

Isso cria um novo tipo de dado que encapsula todas as informações necessárias em um bloco contíguo de memória, facilitando o gerenciamento do projeto de biblioteca.

Conclusão: A estrutura de dados adequada para modelar entidades compostas por dados de tipos diferentes em C é a Estrutura (struct).

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Computação

Ver mais Computação resolvidas

Tem outra questão de Computação?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.