Buscar

TÉCNICAS DE PROGRAMAÇÃO - ATIVIDADE 4 (A4)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

Usuário 
 
Curso TÉCNICAS DE PROGRAMAÇÃO 
Teste ATIVIDADE 4 (A4) 
Iniciado AJUDE – SIGA, CURTA, SALVE O TRABALHO, OBRIGADO 
Enviado 17/04/22 15:50 
Status Completada 
Resultado da tentativa 10 em 10 pontos 
Tempo decorrido 
 
Resultados exibidos Respostas enviadas, Respostas corretas, Comentários 
 
• Pergunta 1 
 
Linguagens estruturadas permitem que informações sejam armazenadas e 
recuperadas de memórias não voláteis. Porém, elas são dependentes de funções e 
estruturas exportadas pelo sistema operacional. Dadas as afirmativas a seguir, 
classifique-as V para verdadeiro e F para falso. 
( ) Ponteiros de arquivos (“ FILE *”) devem ser alocados dinamicamente através do 
uso “ malloc()” antes de serem utilizados. 
( ) Ponteiros de arquivos referenciam uma posição de memória mantida pelo sistema 
operacional que armazena atributos e status dos arquivos manipulados. 
( ) Para a manipulação da posição corrente do arquivo podemos usar as funções 
“ ftell()” e “ fseek()” que devolvem e setam a posição corrente do arquivo, 
respectivamente. 
( ) A função “fread ()” retorna EOF quando chegar ao final do arquivo. 
Assinale a alternativa que você julgue ter a sequência correta. 
 
 
 
 
 
 
 
• Pergunta 2 
 
Para a manipulação de arquivos temos que, inicialmente, realizar a instanciação do 
ponteiro do arquivo por intermédio da operação de abertura. Para tanto, usa-se a 
função “ fopen()” passando como parâmetros o nome físico do arquivo e o modo de 
abertura. Para essa questão, suponha que o programa em questão, tenha em seu 
código, as seguintes linhas: 
if(!fread(&item,sizeof(tipo_do_item),1,arq)) 
return -1; 
... 
if(!fwrite(&item,sizeof(tipo_do_item),1,arq)) 
return -2; 
... 
Levando em conta as linhas de código acima, o fato de que o arquivo binário deve 
existir previamente e as suas informações deverão ser mantidas, selecione a opção 
que contém a forma de abertura adequada. 
 
 
• Pergunta 3 
Para a manipulação de um arquivo, deve-se antes, realizar a sua abertura através do 
comando “ fopen()”. Tal comando permite associar o nome físico do arquivo assim 
como a sua forma de abertura. Para essa questão, analise as linhas de código a 
seguir: 
FILE *arq; 
arq = fopen(“arquivo.dat”,”wb+”); 
Assinale a alternativa que você julgue ser a correta. 
 
 
 
 
• Pergunta 4 
O armazenamento de informações em uma memória não volátil pode ser feito 
pelo uso de arquivos. Para tanto, um arquivo deverá ter suas ações realizadas 
através da manipulação de um descritor de arquivo. Dados os comandos abaixo, 
enumere-os, utilizando números de um a cinco, de acordo com a ordem que eles 
deverão aparecer na codificação. 
( ) fwrite(buffer,sizeof(buffer),1,arq); 
( ) arq = fopen(“arquivo.dat”,”rb+”); 
( ) if(arq=NULL) 
return; 
( ) fclose(arq); 
( ) FILE *arq; 
Assinale a alternativa que você julgue ter a sequência de uso correta. 
 
 
 
• Pergunta 5 
 
Para essa questão, suponha que um certo arquivo mantém, em sua primeira posição, 
a quantidade de registros armazenados. Após o indicativo da quantidade, são 
gravados os valores na forma <int,float>. Desta forma, o arquivo consiste em: 
<qtd_registros><int1><float1><int2><float2>...<intn,floatn>. 
Para essa questão, analise o código a seguir e preencha as lacunas de modo a 
representar o processo de criação de um arquivo novo e gravação de três registros. 
#include <stdio.h> 
 
 
void GravaArq(FILE *arq, int val_i,float val_f) 
{ 
fwrite(&val_i,sizeof(____),1,arq); 
fwrite(&val_f,sizeof(____),1,arq); 
} 
 
 
 
 
int main() 
{ 
FILE *arq; 
int qtd=3; 
arq=fopen("exercicio.dat","___"); 
if(arq==NULL) 
{ 
printf("Erro de abertura do arquivo (1).\n"); 
return 0; 
} 
 
 
 
• Pergunta 6 
Em algumas situações, temos a necessidade de conhecermos a quantidade de 
palavras em um arquivo textual. Para essa questão, analise o código a seguir e 
preencha as lacunas. 
#include <stdio.h> 
 
 
int ContPalavras(char linha[]) 
{ 
int cont=0,i=0,esp=0; 
for(;linha[i]!='\x0';i++) 
{ 
if((!esp) && (linha[i]!=' ')) 
{ 
esp=1; 
cont++; 
} 
else 
if(esp && (linha[i]==' ')) 
esp=0; 
} 
return cont; 
} 
 
int main() 
{ 
FILE *arq; 
char linha[40]; 
int cont=0; 
arq=fopen("atividade.txt","___"); 
if(arq==NULL) 
{ 
printf("Erro de abertura do arquivo.\n"); 
return 0; 
} 
while(1) 
{ 
____(linha,40,arq); 
cont+=ContPalavras(linha); 
if(____) 
break; 
} 
printf("Qtd de palavras = %d\n",cont); 
fclose(arq); 
return 0; 
} 
Assinale a alternativa que você julgue ser a correta. 
 
 
 
 
 
• Pergunta 7 
Suponha a existência de um arquivo textual onde as palavras são separadas pelo 
caractere “$” e pelo caractere “%”. Suponha também, que há a necessidade de se 
implementar um programa para imprimir, na tela, o conteúdo do referido arquivo de 
modo que, ao encontrar o caractere “$” imprime-se um espaço em branco e, ao 
encontrar o “%” pula-se para a linha seguinte da tela. 
Para essa questão, analise o código a seguir e preencha as lacunas. 
#include <stdio.h> 
 
 
int main() 
{ 
FILE *arq; 
char carac; 
arq=fopen("texto.txt","___"); 
if(arq==NULL) 
{ 
printf("Erro de abertura do arquivo.\n"); 
return 0; 
} 
while(1) 
{ 
carac = ____(arq); 
if(___) 
break; 
switch(carac) 
{ 
case '$': 
carac = ' '; 
break; 
case '%': 
carac = '\n'; 
break; 
} 
printf("%c",carac); 
} 
fclose(arq); 
return 0; 
} 
Assinale a alternativa que você julgue ser a correta. 
 
 
• Pergunta 8 
 
Em arquivos textuais, quando desejamos substituir uma informação com o mesmo 
tamanho da nova informação, podemos realizar sobrescrita sem a necessidade de 
criação de arquivo temporário para receber a nova versão do conteúdo. Para essa 
questão, analise o código a seguir, que realiza a troca do caractere “i” pelo caractere 
“y” na primeira linha do arquivo. Em sua análise preencha as lacunas. 
#include <stdio.h> 
#include <string.h> 
 
 
int main() 
{ 
FILE *arq; 
char linha[40]; 
long pos; 
int i; 
arq=fopen("atividade.txt","___"); 
if(arq==NULL) 
{ 
printf("Erro de abertura do arquivo.\n"); 
return 0; 
} 
pos=_____; //armazenar a posicao corrente do ponteiro de arquivo. 
fgets(linha,40,arq); 
for(i=0;i<strlen(linha);i++) 
if(linha[i]=='i') 
linha[i]='y'; 
_____; //reposicionar no ponto anterior aa leitura 
_____; //gravacao da linha. 
fclose(arq); 
return 0; 
} 
Assinale a alternativa que você julgue ser a correta. 
 
 
• Pergunta 9 
Na linguagem C, encontramos dois tipos de arquivos: os arquivos textuais e os 
arquivos binários. Nos arquivos textuais, as informações são gravadas como strings, 
independentes de seu tipo; porém, para tal, devemos usar algumas funções 
específicas. Para os comandos abaixo, assinale com (T) aquele(s) que serve(m) 
unicamente para arquivos textuais, com (B) para arquivos binários e, com (A) 
aquele(s) que serve(m) para ambos. 
( ) fwrite() 
( ) fputs() 
( ) fputc() 
( ) fread() 
( ) fopen() 
Assinale a alternativa cuja ordem você julgue ser correta. 
 
 
 
 
 
 
 
• Pergunta 10 
Ao manipularmos arquivos, alguns cuidados ou estilos devem ser tomados para 
garantir ao programa um maior grau de eficiência e segurança. Dentre as afirmativas a 
seguir, identifique V para verdadeiro e F para falso. 
( ) arquivos binários tendem a demandar menos espaço em relação aos arquivos texto 
devido ao fato de que os espaços alocados fisicamente são proporcionados pelos 
tamanhos dos tipos de dados utilizados; 
( ) em toda operação envolvendo arquivos, é sempre conveniente testar se a 
operação, por exemplo, abertura, escrita e leitura, foram bem sucedidas; 
( ) é mais conveniente abrir um arquivo sempre para leitura e escrita para evitar testes 
de acesso pelo sistema operacional, tornando, portanto, o programa mais eficiente; 
( ) é conveniente abrir o arquivo com o modo justo para a demanda, ou seja, caso for 
realizada apenas leitura de informações, abrir o arquivo somente para leitura. Dessa 
forma, o programa torna-se mais seguro em relação ao acesso às informações. 
Assinale a alternativa que tenha a sequência correta.

Continue navegando