Buscar

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

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

IInniicciiaaddoo eemm segunda, 11 set 2023, 13:06
EEssttaaddoo Finalizada
CCoonncclluuííddaa eemm sexta, 22 set 2023, 15:40
TTeemmppoo
eemmpprreeggaaddoo
11 dias 2 horas
AAvvaalliiaarr 1100,,0000 de um máximo de 10,00(110000%)
QQuueessttããoo 11
Correto
Atingiu 1,00 de 1,00
Na linguagem de programação C, podemos encontrar dois tipos básicos de arquivos: os arquivos binários e os arquivos texto. A forma
de diferenciação, em relação à manipulação, consiste no uso de formas de abertura e funções especí�cas. Para essa questão, assinale,
nas a�rmativas abaixo, com (B) caso relacione-se aos arquivos binários e, com (T) caso relacione-se aos arquivos textuais.
( ) Para manipular o arquivo, usa-se as funções “fread()” e “fwrite()”.
( ) É totalmente legível caso seja aberto em editores de texto do tipo “bloco de notas”.
( ) Por exemplo, uma informação numérica, ocupa neste tipo de arquivo, uma quantidade de bytes compatível com a quantidade de
dígitos de seu valor.
( ) Neste tipo de arquivo, tende-se a gastar menos espaço de armazenamento pois cada variável gasta exatamente o seu tamanho
ocupado na memória principal; valor do retorno da função “sizeof()”.
Assinale a alternativa que apresente a sequência correta.
a. B, T, B, T.
b. B, B, T, B.
c. B, T, T, B. 
d. T, B, B, T.
e. T, B, T, B.
Firefox https://ambienteacademico.com.br/mod/quiz/review.php?attempt=283...
1 of 9 22/09/2023, 15:40
QQuueessttããoo 22
Correto
Atingiu 1,00 de 1,00
Suponha a existência de um arquivo onde a primeira posição indica a quantidade de registros armazenados. Após o indicativo da
quantidade, o arquivo armazena valores na forma <int,�oat>. Desta forma, o arquivo consiste em:
<qtd_registros><int1><float1><int2><float2>...<int ,float >.
Para essa questão, analise o código a seguir e preencha a lacuna de modo que o programa imprima os valores relativos ao terceiro par
“<int><float>”.
#include <stdio.h>
int main()
{
FILE *arq;
int valor_int;
float valor_float;
arq=fopen("exercicio.dat","rb+");
if(arq==NULL)
{
printf("Erro de abertura do arquivo.\n");
return 0;
}
fseek(arq,_______________,SEEK_SET);
fread(&valor_int,sizeof(int),1,arq);
fread(&valor_float,sizeof(float),1,arq);
printf("Terceiro registro: int=%d float=%f\n",valor_int,valor_float);
fclose(arq);
return 0;
}
Assinale a alternativa que você julgue ser a correta.
a. (sizeof(int)+sizeof(float))*2.
b. (sizeof(int)+sizeof(float))*3+sizeof(int).
c. (sizeof(int)+sizeof(float))*3.
d. (sizeof(int)+sizeof(float))*2+sizeof(int). 
e. (sizeof(int)+sizeof(float))*2+sizeof(float).
n n
Firefox https://ambienteacademico.com.br/mod/quiz/review.php?attempt=283...
2 of 9 22/09/2023, 15:40
QQuueessttããoo 33
Correto
Atingiu 1,00 de 1,00
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,�oat>. Desta forma, o arquivo consiste em:
<qtd_registros><int1><float1><int2><float2>...<int ,float >.
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;
}
fwrite(&qtd,sizeof(int),1,arq);
GravaArq(arq,0,2.1);
GravaArq(arq,10,45.21);
GravaArq(arq,20,345.87);
fclose(arq);
return 0;
}
Assinale a alternativa que você julgue ser a correta.
a. . int ; float ; w .
b. . int ; int ; wb .
c. . int ; float ; wb . 
d. . float ; int ; wb .
e. . int ; int ; w .
n n
Firefox https://ambienteacademico.com.br/mod/quiz/review.php?attempt=283...
3 of 9 22/09/2023, 15:40
QQuueessttããoo 44
Correto
Atingiu 1,00 de 1,00
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.
a. . r ; getc ; (carac == '%') || (carac == '$').
b. . w ; getc ; carac == EOF.
c. . r ; getc ; carac == EOF. 
d. . rb ; getc ; carac == EOF.
e. . r ; fread ; carac == EOF.
Firefox https://ambienteacademico.com.br/mod/quiz/review.php?attempt=283...
4 of 9 22/09/2023, 15:40
QQuueessttããoo 55
Correto
Atingiu 1,00 de 1,00
Suponha que existe, em um arquivo textual, uma matriz 4x4 que relaciona os custos de um certo produto A (linhas) combinado com um
produto B (colunas) como ilustra o exemplo a seguir:
00 03 06 02
03 00 04 07
06 04 00 01
02 07 01 00
O produto não poderá ser combinado com ele mesmo. Por exemplo, combinando-se o produto dois com o produto três, teremos o valor
01. Cada valor de custo é representado, sempre, por dois caracteres e separados por um espaço em branco. Analise o código a seguir
que imprima, na tela, o custo da combinação solicitada pelo usuário e preencha as lacunas.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char linha[30],custoStr[3];
int prodA,prodB,i=0;
FILE *arq;
arq=fopen("matrizcustos.txt","___");
if(arq==NULL)
{
printf("Erro de abertura de arquivo origem.");
return 0;
}
printf("Produto A (de 0 a 3):");
scanf("%d",&prodA);
printf("Produto B:(de 0 a 3): ");
scanf("%d",&prodB);
for(;i<=prodA;i++)
____(linha,30,arq);
printf("linha selecionada: %s\n",linha);
strncpy(custoStr,&linha[___],2);
custoStr[3]='\x0';
fclose(arq);
printf("Custo = %d",atoi(custoStr));
return 0;
}
Assinale a alternativa que você julgue ser a correta.
a. . w ; fgets ; prodB*3 .
b. . r ; fputs ; prodB*3 .
c. . r ; fgets ; prodB .
d. . rb ; fgets ; prodB*3 .
e. . r ; fgets ; prodB*3 . 
Firefox https://ambienteacademico.com.br/mod/quiz/review.php?attempt=283...
5 of 9 22/09/2023, 15:40
QQuueessttããoo 66
Correto
Atingiu 1,00 de 1,00
QQuueessttããoo 77
Correto
Atingiu 1,00 de 1,00
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.
a. 3, 2, 4, 5, 1.
b. 4, 2, 3, 5, 1. 
c. 4, 3, 2, 5, 1.
d. 4, 2, 5, 3, 1.
e. 1, 5, 3, 2, 4.
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í�cas. 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.
a. B, T, T, B, T.
b. T, B, B, T, A.
c. A, T, T, B, A.
d. B, A, A, B, A.
e. B, T, T, B, A. 
Firefoxhttps://ambienteacademico.com.br/mod/quiz/review.php?attempt=283...
6 of 9 22/09/2023, 15:40
QQuueessttããoo 88
Correto
Atingiu 1,00 de 1,00
Quando se manipula um arquivo, às vezes temos a necessidade de alterar informações ou incluir novas. Para tanto, funções “fseek()”,
“fgets()”, “fputs()”, “fgetc()” e “fgets()” podem ser utilizadas. Dentre as alternativas a seguir, assinale V para verdadeiro e F para
falso.
( ) a função “fseek()“ não admite valores negativos para o seu deslocamento mesmo quando utilizada com o parâmetro “SEEK_CUR”;
( ) no caso de gravarmos uma informação no meio do arquivo, a informação será sobrescrita;
( ) no caso de gravarmos uma informação no meio do arquivo, toda a informação abaixo do ponto a receber a nova informação será
deslocada;
( ) a função “fseek()“ admite três pontos de referência para o seu deslocamento: a partir do início do arquivo (SEEK_SET), a partir da
posição corrente (SEEK_CUR) e a partir do �m do arquivo (SEEK_END).
Assinale a alternativa que você julgue ter a sequência correta.
a. V, V, F, V.
b. F, V, F, V. 
c. F, V, F, F.
d. F, F, V, V.
e. V, F, V, F.
Firefox https://ambienteacademico.com.br/mod/quiz/review.php?attempt=283...
7 of 9 22/09/2023, 15:40
QQuueessttããoo 99
Correto
Atingiu 1,00 de 1,00
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.
a. . r+ ; ftell(arq) ; fseek(arq,pos,SEEK_SET); fputc(linha,arq) .
b. . r+ ; ftell(arq) ; fseek(arq,pos,SEEK_SET); fputs(linha,arq) . 
c. . w+ ; ftell(arq) ; fseek(arq,pos,SEEK_SET); fputs(linha,arq) .
d. . r+ ; ftell(arq) ; fseek(arq,pos,SEEK_CUR); fputs(linha,arq) .
e. . r+ ; fseek(arq) ; ftell(arq,pos,SEEK_SET); fputs(linha,arq) .
Firefox https://ambienteacademico.com.br/mod/quiz/review.php?attempt=283...
8 of 9 22/09/2023, 15:40
QQuueessttããoo 1100
Correto
Atingiu 1,00 de 1,00
Em uma operação de recuperação de informações a partir de um arquivo, após a leitura de um item, deve-se sempre veri�car se o �nal
do arquivo foi alcançado. A informação de EOF (End-Of-File– Final de Arquivo) pode ser obtida em diversas operações. Para essa questão,
analise as linhas de código a seguir:
I – info = fgetc(arq);
II – fputs(buffer, sizeof(buffer), arq);
III – fread(buffer,sizeof(buffer),1,arq);
IV – fputc(carac,arq);
Assinale a alternativa que você julgue ser a correta.
a. Apenas a função da linha III não pode retornar EOF. 
b. As funções das linhas I, II e III podem retornar EOF.
c. Apenas a função da linha I pode retornar EOF.
d. As funções das linhas I e III podem retornar EOF .
e. As funções das linhas III e IV podem retornar EOF.
Firefox https://ambienteacademico.com.br/mod/quiz/review.php?attempt=283...
9 of 9 22/09/2023, 15:40

Outros materiais