Matemática Múltipla Escolha

Uma das vantagens de um arquivo binário consiste na possibilidade do uso direto de registros (estruturas de dados). Sendo assim, pode-se recuperar, todos os dados inseridos em tal estrutura de código a seguir e preencha as lacunas.

Uma das vantagens de um arquivo binário consiste na possibilidade do uso direto de registros (estruturas de dados). Sendo assim, pode-se recuperar, todos os dados inseridos em tal estrutura de código a seguir e preencha as lacunas.

  1. rewind(arq); fread(&ts, sizeof(struct registros), 1, arq); feof(arq);
  2. fseek(arq, 0, SEEK_END); fread(&ts, sizeof(struct registros), 1, arq);
  3. rewind(arq); fwrite(&ts, sizeof(struct registros), 1, arq); feof(arq);
  4. rewind(arq); fseek(arq, sizeof(struct registros), 1, arq); feof(arq);
  5. rewind(arq); fgets(ts, sizeof(struct registros), 1, arq); feof(arq);

Resolução completa

Explicação passo a passo

A
Alternativa A

Alternativa A

Esta questão aborda operações básicas de entrada e saída em arquivos binários na linguagem C, especificamente focadas na manipulação de estruturas de dados. O código demonstra como localizar um registro dentro de um arquivo onde os dados são armazenados diretamente na memória da estrutura.

Análise das Lacunas

Para preencher corretamente o código conforme os comentários explicativos, devemos analisar cada etapa da lógica do programa:

  • Primeira Lacuna (//posicionar no início do arquivo)
  • Após abrir o arquivo, é necessário garantir que o ponteiro de leitura comece do começo para percorrer todos os registros sequencialmente.
  • A função correta para isso é rewind(arq), que move o ponteiro para o byte zero do arquivo.
  • Alternativas que usam fseek devem usar SEEK_SET para o início, mas a opção B usa SEEK_END, tornando-a incorreta.
  • Segunda Lacuna (//ler a estrutura)
  • O objetivo é ler dados binários brutos de disco para a variável ts.
  • A função padrão para leitura binária é fread. Sua sintaxe é fread(ponteiro, tamanho, quantidade, arquivo).
  • Isso elimina a opção C (fwrite escreve) e a opção E (fgets lê linhas de texto).
  • Terceira Lacuna (//testar se foi encontrado o final de arquivo)
  • Para detectar quando não há mais dados para ler, utiliza-se a verificação de fim de arquivo.
  • A função correta é feof(arq). Não existe uma função padrão chamada apenas eof no C (o que torna a opção D incorreta).

Comparativo das Opções

FunçãoUso Correto?Motivo
rewind(arq)SimReseta posição para o início do arquivo.
fseek(..., SEEK_END)NãoPosiciona no final, contradizendo o comentário.
fwrite(...)NãoEscreve dados, o comentário pede "ler".
fgets(...)NãoLê texto linha por linha, não binário estruturado.
eof(arq)NãoFunção inexistente no padrão ANSI C.
feof(arq)SimRetorna verdadeiro se o fim do arquivo for alcançado.

Conclusão

A sequência correta alinha perfeitamente com as funções padrão da biblioteca <stdio.h> para manipulação de arquivos binários. A alternativa A apresenta rewind para reiniciar a leitura, fread para capturar os dados da estrutura e feof para controlar o loop de busca.

Portanto, a resposta correta é a Alternativa A.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Matemática

Ver mais Matemática resolvidas

Tem outra questão de Matemática?

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