Baixe o app para aproveitar ainda mais
Prévia do material em texto
Questão 1 Correto Atingiu 1,00 de 1,00 Dado o código a seguir, examine e escolha as lacunas que determinam a completude do programa a seguir: #include <stdio.h> #include <stdlib.h> #include <conio.h> void incReg(FILE *pF); int main(void) { FILE *fptr; ____= fopen("arq1.txt","w"); fclose(fptr); printf("\n\n >>> Arquivo criado..."); fptr = fopen ("arq1.txt","___"); incReg(____); fclose(fptr); printf("\n\n >>> Arquivo com dados..."); printf("\n\n"); system("pause"); return 0; } void ______(FILE *pF) { int mais; int umNumero; float outroNumero; system("CLS"); do { umNumero = rand() % 100; printf("numero gerado: %d", umNumero); printf("\n Informe outro numero: "); scanf("%f",&outroNumero); fprintf (pF, "%d %.1f\n", umNumero, outroNumero); printf("\n >>> Incluir mais registros (s/n): "); if (getche() == 's') mais= ___; else mais=0; } while ( ____); fclose (____); } Escolha uma: a. fptr ,a+, fptr, incReg, 1, mais, pF b. fptr,w, fptr,umNumero, pF,mais c. pF, b+, IncReg1, 0,umNumero,fptr, d. fptr,w ,fptr, umNumero, Pf,mais,0 e. nenhuma das opções Questão 2 Correto Atingiu 1,00 de 1,00 Seja uma mostra de uma execução do código que segue. Que valores devem estar no arquivo gerado por esta execução? #include <stdio.h> #include <stdlib.h> #include <conio.h> void funGrav(FILE *pF); int main(void) { FILE *fp; fp= fopen("arq.txt","a+"); funGrav(fp); fclose(fp); printf("\n\n"); system("pause"); return 0; } void funGrav(FILE *pF) { int ch; int um; float outro; system("CLS"); do { um = rand() % 100; printf("\nnumero gerado = %d", um); printf("\n Informe outro numero: "); scanf("%f",&outro); fprintf (pF, "%d %.1f\n", um, outro); printf("\n >>> Incluir mais registros (s/n): "); if (getche() == 's') ch= 1; else ch=0; } while ( ch); fclose (pF); } Questão 3 Correto Atingiu 1,00 de 1,00 Questão 4 Correto Atingiu 1,00 de 1,00 Questão 5 Correto Atingiu 1,00 de 1,00 Considerando que o arquivo está representado por { e }, escolha a opção correta.: Escolha uma: a. Impossível dizer b. { 41 ,1, s, 67, 123, n } c. { 41 1 s 67 123 n} d. {41 1 67 123)} e. Nenhuma das respostas Escolha a opção que prenche corretamente os espaços para as frases que seguem: A função _______fecha um arquivo. Um _________é um grupo de registros relacionados. A função ________ lê dados de um arquivo de maneira semelhante à que scanf lê de stdin. A função ______ abre um arquivo. Para gravar dados em um arquivo se pode usar a função ______. Escolha uma: a. stdout , struct , scanff ,fopen , printf b. close , arquivo , scanff, open , fprintf c. close , struct, fscanf , fopen , fprintfr d. fclose , arquivo , fscanf , fopen , fprintf e. stdout , aquivo , fscanf, open , fprintf Atribua o valor Falso ou Verdadeiro a instrução proposta por cada um dos itens a seguir: Instrução que abre um arquivo de nome textovelho.dat para leitura e atribui o ponteiro de arquivo a ovptr ovptr = fopen(“textovelho.dat”, “r”); Escolha uma opção: Verdadeiro Falso Atribua o valor Falso ou Verdadeiro a instrução proposta por cada um dos itens a seguir: Instrução que abre um arquivo de nome dados.txt para gravação e criação e atribua o ponteiro de arquivo retornado a npF. npF= fopen (“dados.txt” , “w”); Escolha uma opção: Verdadeiro Falso Questão 6 Correto Atingiu 1,00 de 1,00 Questão 7 Correto Atingiu 1,00 de 1,00 Questão 8 Correto Atingiu 1,00 de 1,00 Atribua o valor Falso ou Verdadeiro a instrução proposta por cada um dos itens a seguir: Instrução que lê um registro do arquivo velhosdados.txt associado ao ponteiro ptrF. O registro é constituído das variáveis inteiro codconta, string nome, e valor real conta. fscanf( ptrF, “%d%s%f”, &codconta, nome, &conta); Escolha uma opção: Verdadeiro Falso Atribua o valor Falso ou Verdadeiro a instrução proposta por cada um dos itens a seguir: Instrução que fecha um arquivo de nome textovelho.dat para leitura ao qual foi atribuído o ponteiro de arquivo a vptr fclose(vptr,” textovelho.dat”); Escolha uma opção: Verdadeiro Falso Atribua o valor Falso ou Verdadeiro a instrução proposta por cada um dos itens a seguir: Instrução que abre um arquivo de nome dados.dat para criação e atribui o ponteiro de arquivo a pF: pF = fopen(“dados.dat”,”r”); Escolha uma opção: Verdadeiro Falso Questão 9 Correto Atingiu 1,00 de 1,00 Analise o texto fonte C e o quadro ao lado que mostra a saída no vídeo de sua execução a seguir. Escolha opção que especifica este resultado. int main(void) { FILE *pa; int i,j; int mat[4][4]; pa= fopen("Arq.txt","w"); for(i=0;i<4;i++) for(j=0;j<4;j++) mat[i][j]=rand()% 101; printf("DADOS: \n"); for ( i=0;i<4;i++){ printf("\n"); for ( j=0;j<4;j++) printf(" %d",mat[i][j]); } for(i=0;i<4;i++) for(j=0;j<4;j++) if(i>j) fprintf(pa," %d",mat[i][j]); fclose(pa); printf("\n\n"); system("pause"); return 0; } Saída no vídeo Escolha uma: a. O quadro Saida no vídeo mostra todos os resultados da execução do programa b. além dos dados apresentados em Saída no vídeo é criado um arquivo com os seguintes dados { 80 96 22 51 61 63 } c. o arquivo Arq.txt é criado mas não se pode determinar quais dados foram gravados d. o arquivo Arq.txt é com os dados {85 72 38 65 68 67} além do resultado em saída no vídeo e. o arquivo Arq.txt é gerado com os dados {41 69 49 65 87 } além do resultado em saída no vídeo Questão 10 Correto Atingiu 1,00 de 1,00 Desejase fazer uma função que receba um nome de arquivo como entrada e retorne como saída o número de linhas do arquivo. Marque o código correspondente a esta função. Escolha uma: a. int contaLinhasArq(char *nomeArq) { FILE *arq; int numLinhas = 0; char linha[256]; arq = fopen(nomeArq,"r"); if (arq == NULL) numLinhas = 1; else { while (!feof(arq)){ numLinhas = numLinhas + 1; } fclose(arq); } return numLinhas; } b. void contaLinhasArq(char *nomeArq, int numLinhas) { FILE *arq; char linha[256]; arq = fopen(nomeArq,"r"); if (arq == NULL) numLinhas = 1; else { while (!feof(arq)){ fgets(linha,256, arq); numLinhas = numLinhas + 1; } fclose(arq); } } c. int contaLinhasArq(char *nomeArq) { FILE *arq; int numLinhas = 0; char linha[256]; arq = fopen(nomeArq,"r"); if (arq == NULL) numLinhas = 1; else { while (!feof(arq)){ fscanf(arq, "%s", &linha); numLinhas = numLinhas + 1; } fclose(arq); } return numLinhas; } d. int contaLinhasArq(char *nomeArq) { FILE *arq; int numLinhas = 0; char linha[256]; arq = fopen(nomeArq,"r"); if (arq == NULL) numLinhas = 1; else { while (!feof(arq)){ fgets(linha,256, arq); numLinhas = numLinhas + 1; } fclose(arq); } return numLinhas; } Questão 11 Correto Atingiu 1,00 de 1,00 Seja a estrutura PROFISSAO abaixo: typedef struct { int CBO; // codigo brasileiro de ocupações char nome[30]; // nome da profissão float salarioHora; // piso salarial por hora } PROFISSAO; Em um sistema de folha de pagamentos, os dados relativos às profissões estão aramazenados em umarquivo TXT com o seguinte formato: <codigo CBO> <nome profissao> <salario/hora> Ou seja, as três informações relacionadas a uma profissão aparecem em uma única linha, separadas por um único espaço. Cada linha do arquivo contém os dados de uma profissão específica. Um exemplo de um arquivo neste formato é: 100 alfaiate 2.4 101 analista 10.8 200 antropologo 1.6 1600 domestiso 8 Neste mesmo sistema há uma função que recebe como entrada um ponteiro para um arquivo (TXT, no formato definido acima) e retorna como saída uma estrutura do tipo PROFISSAO. O código abaixo representa parte da implementação deste sistema. O que faz este trecho de código? PROFISSAO leProfissao(FILE *arqProfissoes) { PROFISSAO umaProfissao; fscanf(arqProfissoes,"%d %s %f", &umaProfissao.CBO, &umaProfissao.nome, &umaProfissao.salarioHora); return umaProfissao; } void imprimeProfissao(PROFISSAO umaProfi) { printf("CBO: %d\n", umaProfi.CBO); printf("nome: %s\n", umaProfi.nome); printf("salario/hora: %f\n", umaProfi.salarioHora); } int main() { FILE *arqProfissoes; PROFISSAO umaProfissao; arqProfissoes = fopen("Profissoes.txt","r"); if (arqProfissoes == NULL) { printf("Erro ao abrir arquivo Profissoes.txt\n"); return(0); } Questão 12 Correto Atingiu 1,00 de 1,00 else { umaProfissao = leProfissao(arqProfissoes); imprimeProfissao(umaProfissao); fclose(arqProfissoes); } } Escolha uma: a. Le e armazena todas as profissoes listadas no arquivo "Profissoes.txt" b. Le e imprime todas as profissoes listadas no arquivo arqProfissoes c. Le e imprime a primeira profissao listada no arquivo "Profissoes.txt" d. Informa apenas a primeira profissão da Lista brasileira de ocupações e. Nenhuma das alternativas anteriores No mesmo sistema descrito na questão anterior, o que faria o código main abaixo? int main() { FILE *arqProfissoes; PROFISSAO umaProfissao; arqProfissoes = fopen("profissoes.txt","r"); if (arqProfissoes == NULL) { printf("Erro ao abrir arquivo Profissoes.txt\n"); return (0); } else { while (!feof(arqProfissoes)) { umaProfissao = leProfissao(arqProfissoes); imprimeProfissao(umaProfissao); } fclose(arqProfissoes); } } Escolha uma: a. Le e armazena todas as profissoes listadas no arquivo "Profissoes.txt" b. Le e imprime todas as profissoes listadas no arquivo "Profissoes.txt" c. Le e imprime a primeira profissao listada no arquivo "Profissoes.txt" d. Informa apenas a primeira profissão da Lista brasileira de ocupações e. Nenhuma das alternativas anteriores Questão 13 Correto Atingiu 1,00 de 1,00 Considere um arquivo texto contendo um número inteiro por linha, como exemplificado abaixo: 23 45 109 43 67 89 2147483646 E considere o programa abaixo que lê e processa este arquivo: int main() { FILE *arq; char linha[10]; // Para ler cada linha do arquivo. // Assume que os valores lidos não podem ter mais do que 10 dígitos, // já que o maior inteiro representável é 2.147.483.647 arq = fopen("entrada.txt","r"); if (arq == NULL) printf("Erro ao abrir arquivo de entrada\n"); else { while (!feof(arq)){ fgets(linha,10, arq); printf("int lido: %d \n", linha); } fclose(arq); } } O que será impresso durante a execução do programa acima? Escolha uma: a. nada pois o programa não compila b. apenas os valores positivos, ou seja: 23 45 109 67 89 2147483646 c. uma mensagem de erro de overflow d. todos os valores do arquivo de entrada: 23 45 109 43 67 89 2147483646 e. Nenhuma das respostas acima
Compartilhar