Buscar

Questionário Teórico 06

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
Deseja­se 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

Continue navegando