Informática, perguntado por cojaque2, 1 ano atrás

Quando pensamos em arquivo nos vem em mente aquele armário com um monte de pastas para guardar informações. É exatamente essa a ideia de arquivos, um local para armazenar informações e resgatá-las quando for necessário.

LEAL, Gislaine Camila Lapasini. Algoritmos e Lógica de Programação II. Maringá: Unicesumar, 2016.

Conhecendo os conceitos sobre arquivos e com base em sua habilidade em inferir conclusões, leia as asserções abaixo:

I. Ao realizar uma operação com a função fgetc() em um arquivo, o programa estará realizando entrada de dados.
PORQUE
II. A função fgetc() permite que dados sejam copiados de um arquivo arbitrário (salvo em HD) para o programa em execução (salvo em memória).

A respeito de tais asserções, assinale a opção correta.
Alternativas
Alternativa 1:
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.

Alternativa 2:
As asserções I e II são proposições verdadeira mas a II não é uma justificativa correta da I.

Alternativa 3:
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.

Alternativa 4:
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.

Alternativa 5:
As asserções I e II são proposições falsas.

Soluções para a tarefa

Respondido por rayllecn
19

A linguagem C utiliza o conceito de fluxo (stream) de dados, que podem ser manipulados em dois diferentes tipos de fluxos: fluxos de texto e fluxos binários.  O fluxo de texto é composto por uma seqüência de caracteres, que pode ou não ser dividida em linhas terminadas por um carácter de final de linha, mas esse caractere não é obrigatório. Já o fluxo binário é composto por uma seqüência de bytes lidos, sem tradução, diretamente do dispositivo externo.

As funções de Entrada e Saída normalmente utilizadas estão armazenadas na biblioteca stdio.h. Sendo algumas das mais comuns abaixo:

  • putc(), fputc() - Escrever caractere em um arquivo
  • getc(), fgetc() - Ler caractere de um arquivo
  • fprintf(), fscanf() - Equivale ao printf e scanf, respectivamente, usando stream
  • sscanf() - Equivale ao scanf() usando string

Com isso em mente, podemos analisar melhor as afimativas.

Afirmativa I é verdadeira, pois fgetc() é uma função de entrada de dados em C, já que ao abrir o arquivo e utilizar essa função estamos lendo os caracteres contidos nele.

Afirmativa II é verdadeira, pois ao abrirmos um arquivo salvo no HD, através da função fopen(), por exemplo, e atribuirmos o carácter lido por meio da função de entrada fgetc() a uma variável, o que for lido será copiado para essa variável e, assim, podemos utiliza-los ao longo do código, como no trecho de código abaixo, que mostra um contador de caracteres:

  do {

       caractere = fgetc(arquivo);

       if (caractere == '\n') {

           contagem++;

       }

   } while(caractere != EOF);

Logo, podemos concluir que a alternativa correta é a 1, pois as asserções I e II são verdadeiras, e a assertiva II justifica corretamente a I, já que demonstra seu uso.

Espero ter ajudado!

Respondido por dsccabral
3

Resposta:

Alternativa I: Ambas são verdadeiras e a II é justificativa da I.

Explicação:

Conforme já explicado pelo amigo abaixo.

Perguntas interessantes