SlideShare une entreprise Scribd logo
1  sur  24
Atividade 8/9




cscerqueira.com/christopher - - - CCO-013
» 1. Resumo da aula do Edison.
  ˃Dúvidas sobre a aula
  ˃Dúvidas sobre a prova

» 2. Mini – teste (30 min)
  ˃2 QUESTÕES
  ˃Entregar resumos junto com o teste.

» 3. Atividades em sala
» 4. Aula do dia 01/11 será passada online.
» Talvez não venha no dia 8/11, deixarei
  atividades.

     cscerqueira.com/christopher - - - CCO-013
cscerqueira.com/christopher - - - CCO-013
» Entrada de dados para carregar
  e configurar o programa com
  condições iniciais.
» Scripts/tabelas/históricos/dados
  pessoais




cscerqueira.com/christopher - - - CCO-013
Utilizar
 Criar o                                            o
tipo File                                        arquivo



                         Abrir o                            Fechar o
                         arquivo                            arquivo




     cscerqueira.com/christopher - - - CCO-013
» Para usar um arquivo, temos que ter uma
  variável que aponta para o arquivo.

                                 FILE * pFile;

» Tipo File, símbolo de apontamento, nome da variável



                          http://www.cplusplus.com/reference/clibrary/cstdio/FILE/
      cscerqueira.com/christopher - - - CCO-013
» Deve-se indicar qual arquivo quer ser
  utilizado e como deve ser utilizado


pFile = fopen (NomeDoArquivo, modo);
            “r”        Read: abre o arquivo para leitura. Precisa existir.
            “w”        Write: cria o arquivo para saída. Apaga anterior se existir.
   Modos




            “a”        Append: abre um arquivo para saída e posiciona no fim. Cria se não existir.
            “r+”       Read/Update: abre o arquivo para update.
            “w+”       Write/Update: cria um arquivo e abre para update. Apaga se existir.
            “a+”       Abre um arquivo para update e posiciona no fim. Cria se não existir.




                           http://www.cplusplus.com/reference/clibrary/cstdio/fopen/
           cscerqueira.com/christopher - - - CCO-013
» Ler dados do arquivo                            http://www.cplusplus.com/reference/c
                                                  library/cstdio/fscanf/




     int fscanf( pFile, “Formatos”, variáveis);

» Funciona como o scanf: lê elemento por elemento.

 fscanf ( arquivo, “%d %s %c”, &idade, pnome, &sexo );




      cscerqueira.com/christopher - - - CCO-013
char getBuff(char *buf, int n, FILE *fp)
{
  char *ret;

   for(;;) {
     ret = fgets(buf, n, fp);
     if (ret == NULL) return(NULL);
     if (buf[0] != 'n' && buf[0] != '#') return(1); // Skip blank
lines and comments.
   }
}




        cscerqueira.com/christopher - - - CCO-013
» Escrever no arquivo                            http://www.cplusplus.com/reference/clibrary/
                                                 cstdio/fprintf/



 int fprintf(pFile, “Formatos” , variáveis);

» Igual ao printf.
» Escreve no fim do arquivo.
fprintf (pFile, "Name %d [%-10.10s]n",n,name);



     cscerqueira.com/christopher - - - CCO-013
» Existem diversas outras funções para
  manipular arquivos.
» Estão na biblioteca stdio.h

» Funções que começam com a letra f.

http://www.cplusplus.com/reference/clibrary/cstdio/




cscerqueira.com/christopher - - - CCO-013
» Depois que utilizar o arquivo é necessário
  fechá-lo.


                              int fclose(pFile);

» Se fechar o arquivo e for necessário reutilizá-lo
  é necessário abrir novamente.




                http://www.cplusplus.com/reference/clibrary/cstdio/fclose/
cscerqueira.com/christopher - - - CCO-013
» Os arquivos geralmente possuem
  estruturas de dados que são lidos
  em blocos,
» Esses blocos podem ser chamados
  de registros.
» O arquivo contém vários registros.




cscerqueira.com/christopher - - - CCO-013
campo 1                       campo 2      campo 3


 Registro 1               Idade                       Sexo      Primeiro nome


 Registro 2               Idade                       Sexo      Primeiro nome

                                                      .
                                                      .
                                                      .
                                                      .
                                                      .


 Registro n                                                     Primeiro nome
                         Idade                        Sexo



for ( k = 1; k <= n; k++ )
     fscanf ( pFile, “%d %c %s”, &idade1, &sexo1, nome1 );
          cscerqueira.com/christopher - - - CCO-013
» Conjunto de valores do mesmo
  tipo, agrupados numa mesma
  variável.

» Unidimensional: Vetores
» Bidimensional: Matrizes


cscerqueira.com/christopher - - - CCO-013
» Em linguagem C, agregado homogêneo é definido da
  seguinte forma:

  tipo NOME DA VARIAVEL [ dimensão ];
Onde :
 dimensao = quantidade de células do agregado
     + deve ser sempre maior que zero
     + deve ser sempre inteiro
     + tem que ter um valor especificado ( não pode ser variável )




      cscerqueira.com/christopher - - - CCO-013
» int idades[30];
» float notas[100];
» char nome[80];




cscerqueira.com/christopher - - - CCO-013
0              1              2                              28        29
idade:

» Os indices indicam as posições no vetor.

» idade[5] = 30; // atribui na 6ª posição o valor 30
                              0        1         2    3   4   5    6

            Idade:                                            30


» numero = 45;
» k = 3;                                                  0   1    2   3    4    5     6
» idade[k] = numero;
                                                 Idade:                45        30




         cscerqueira.com/christopher - - - CCO-013
» Bidimensional:
                  int valores[60][30];
» Tridimensional:
          int valores[60][30][10];
» ...



cscerqueira.com/christopher - - - CCO-013
// LEITURA DA MATRIZ
  for ( r = 0; r < n_linhas; r++ ) {
    for ( u = 0; u < n_colunas; u++ ) {
     fscanf ( pFile, “%d” , &numeros[r][u] );
    }
  }



     cscerqueira.com/christopher - - - CCO-013
cscerqueira.com/christopher - - - CCO-013
Identifique a folha / Entregar o resumo junto
» 1. Escrever um programa para solicitar os valores
  (números) de um vetor (inteiros – 8 unidades);
  solicitar um outro número pelo teclado e pesquisar
  se esse número existe no vetor. Se existir, imprimir
  em qual posição do vetor. Se não existir, imprimir
  MSG que não existe.
» 2. Criar um programa que leia de um arquivo os
  elementos de uma matriz inteira de 3 x 3 e
  imprimir todos os elementos, exceto os elementos
  da diagonal principal.
» 1 2 3
» 4 5 6                                               » Individual.
                                                      » Pode ser com lápis.
» 7 8 9
          cscerqueira.com/christopher - - - CCO-013   » 30 min.
» 1 - Resumo da aula de 16 e 23/10 - - 2 – Programas:
» A) Escrever um programa para multiplicar matrizes 3x3.
  Uma matriz é entrada via arquivo e a segunda via
  teclado. O resultado é exibido na tela e o programa deve
  perguntar se deseja salvar no mesmo arquivo ou em
  outro, neste caso pedir o nome do novo arquivo.
» B) Faça um programa que leia de um arquivo o nome, o
  sexo, a altura e a idade de uma pessoa. Calcule e mostre
  em ordem de altura o nome e o seu peso ideal de
  acordo com as seguintes características da pessoa:




      cscerqueira.com/christopher - - - CCO-013
» Tutorial completo de C/C++
» http://www.cplusplus.com/files/tutorial.pdf




cscerqueira.com/christopher - - - CCO-013

Contenu connexe

En vedette (20)

programação c 2 aula
programação c 2 aulaprogramação c 2 aula
programação c 2 aula
 
Artoolkit vs2005 v1.0
Artoolkit vs2005 v1.0Artoolkit vs2005 v1.0
Artoolkit vs2005 v1.0
 
programação c 10 aula
programação c 10 aulaprogramação c 10 aula
programação c 10 aula
 
2011 10 07_curso_basar
2011 10 07_curso_basar2011 10 07_curso_basar
2011 10 07_curso_basar
 
programação c 7 aula
programação c 7 aulaprogramação c 7 aula
programação c 7 aula
 
Tutorial sacra
Tutorial sacraTutorial sacra
Tutorial sacra
 
programação c 13
programação c 13programação c 13
programação c 13
 
programação c 6 aula
programação c 6 aulaprogramação c 6 aula
programação c 6 aula
 
programação c 4 aula
programação c 4 aulaprogramação c 4 aula
programação c 4 aula
 
2011 12 07_curso_bas_ar_start
2011 12 07_curso_bas_ar_start2011 12 07_curso_bas_ar_start
2011 12 07_curso_bas_ar_start
 
programação c 3 aula
programação c 3 aulaprogramação c 3 aula
programação c 3 aula
 
Apresentação sobre OPM
Apresentação sobre OPMApresentação sobre OPM
Apresentação sobre OPM
 
programação c 1 aula1
programação c 1 aula1programação c 1 aula1
programação c 1 aula1
 
programação c 11 aula
programação c 11 aulaprogramação c 11 aula
programação c 11 aula
 
Apresentação na EXPO ETEP - Realidade Virtual, Aumentada e Cruzada
Apresentação na EXPO ETEP - Realidade Virtual, Aumentada e CruzadaApresentação na EXPO ETEP - Realidade Virtual, Aumentada e Cruzada
Apresentação na EXPO ETEP - Realidade Virtual, Aumentada e Cruzada
 
Curso basAR e Clicks
Curso basAR e ClicksCurso basAR e Clicks
Curso basAR e Clicks
 
Curso basAR e Arduino
Curso basAR e ArduinoCurso basAR e Arduino
Curso basAR e Arduino
 
Curso basAR e Funções
Curso basAR e FunçõesCurso basAR e Funções
Curso basAR e Funções
 
Curso basAR e Movimento
Curso basAR e MovimentoCurso basAR e Movimento
Curso basAR e Movimento
 
Criando novos marcadores para o ARToolKit
Criando novos marcadores para o ARToolKitCriando novos marcadores para o ARToolKit
Criando novos marcadores para o ARToolKit
 

Similaire à Aula 8/9 Atividades

Similaire à Aula 8/9 Atividades (20)

Estrutura de Dados - Características da linguagem C - 1
Estrutura de Dados - Características da linguagem C - 1Estrutura de Dados - Características da linguagem C - 1
Estrutura de Dados - Características da linguagem C - 1
 
Estrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem CEstrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem C
 
Algoritmos e Técnicas de Programação - Aula 06
Algoritmos e Técnicas de Programação - Aula 06Algoritmos e Técnicas de Programação - Aula 06
Algoritmos e Técnicas de Programação - Aula 06
 
Palestra python
Palestra pythonPalestra python
Palestra python
 
String e IO
String e IOString e IO
String e IO
 
Ativ complementar etapa 02
Ativ complementar etapa 02Ativ complementar etapa 02
Ativ complementar etapa 02
 
mod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicasmod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicas
 
Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03
 
Apostila aed
Apostila aedApostila aed
Apostila aed
 
Java Desktop
Java DesktopJava Desktop
Java Desktop
 
Aula 13 - Trabalhando com strings
Aula 13 - Trabalhando com stringsAula 13 - Trabalhando com strings
Aula 13 - Trabalhando com strings
 
Workshop Python
Workshop PythonWorkshop Python
Workshop Python
 
Por que voce deveria documentar seu codigo?
Por que voce deveria documentar seu codigo?Por que voce deveria documentar seu codigo?
Por que voce deveria documentar seu codigo?
 
Introdução a python
Introdução a pythonIntrodução a python
Introdução a python
 
Aula 7 pc - estrutura
Aula 7   pc - estruturaAula 7   pc - estrutura
Aula 7 pc - estrutura
 
Editor joe
Editor joeEditor joe
Editor joe
 
Postgresql + Python = Power!
Postgresql + Python = Power!Postgresql + Python = Power!
Postgresql + Python = Power!
 
Estruturas
EstruturasEstruturas
Estruturas
 
Ling c
Ling cLing c
Ling c
 
Aula04 estrutura de dados - estruturas de controle
Aula04   estrutura de dados - estruturas de controleAula04   estrutura de dados - estruturas de controle
Aula04 estrutura de dados - estruturas de controle
 

Plus de Christopher Cerqueira

MICRO SATÉLITES BRASILEIROS, ELES EXISTEM?
MICRO SATÉLITES BRASILEIROS, ELES EXISTEM?MICRO SATÉLITES BRASILEIROS, ELES EXISTEM?
MICRO SATÉLITES BRASILEIROS, ELES EXISTEM?Christopher Cerqueira
 
Jornada Espacial 2018 - Cubesats: o que são e pra que servem
Jornada Espacial 2018 - Cubesats: o que são e pra que servemJornada Espacial 2018 - Cubesats: o que são e pra que servem
Jornada Espacial 2018 - Cubesats: o que são e pra que servemChristopher Cerqueira
 
[Thesis] Tangible Collaboration applied in Space Systems Concurrent Engineeri...
[Thesis] Tangible Collaboration applied in Space Systems Concurrent Engineeri...[Thesis] Tangible Collaboration applied in Space Systems Concurrent Engineeri...
[Thesis] Tangible Collaboration applied in Space Systems Concurrent Engineeri...Christopher Cerqueira
 
Using Finite State Machines From Concept to Realization
Using Finite State Machines From Concept to RealizationUsing Finite State Machines From Concept to Realization
Using Finite State Machines From Concept to RealizationChristopher Cerqueira
 
A Model Based Concurrent Engineering Framework using ISO-19450 Standard
A Model Based Concurrent Engineering Framework using ISO-19450 StandardA Model Based Concurrent Engineering Framework using ISO-19450 Standard
A Model Based Concurrent Engineering Framework using ISO-19450 StandardChristopher Cerqueira
 
Modelos e metodologias de projeto de sistemas
 Modelos e metodologias de projeto de sistemas Modelos e metodologias de projeto de sistemas
Modelos e metodologias de projeto de sistemasChristopher Cerqueira
 

Plus de Christopher Cerqueira (20)

MICRO SATÉLITES BRASILEIROS, ELES EXISTEM?
MICRO SATÉLITES BRASILEIROS, ELES EXISTEM?MICRO SATÉLITES BRASILEIROS, ELES EXISTEM?
MICRO SATÉLITES BRASILEIROS, ELES EXISTEM?
 
Jornada Espacial 2018 - Cubesats: o que são e pra que servem
Jornada Espacial 2018 - Cubesats: o que são e pra que servemJornada Espacial 2018 - Cubesats: o que são e pra que servem
Jornada Espacial 2018 - Cubesats: o que são e pra que servem
 
CI2018_Simuladores
CI2018_Simuladores CI2018_Simuladores
CI2018_Simuladores
 
CI2018_MBSE4.0
CI2018_MBSE4.0CI2018_MBSE4.0
CI2018_MBSE4.0
 
[Thesis] Tangible Collaboration applied in Space Systems Concurrent Engineeri...
[Thesis] Tangible Collaboration applied in Space Systems Concurrent Engineeri...[Thesis] Tangible Collaboration applied in Space Systems Concurrent Engineeri...
[Thesis] Tangible Collaboration applied in Space Systems Concurrent Engineeri...
 
XV Jornada do Espaço
XV Jornada do EspaçoXV Jornada do Espaço
XV Jornada do Espaço
 
Using Finite State Machines From Concept to Realization
Using Finite State Machines From Concept to RealizationUsing Finite State Machines From Concept to Realization
Using Finite State Machines From Concept to Realization
 
So 01 - processos
So   01 - processosSo   01 - processos
So 01 - processos
 
Redes 05 - aplicação
Redes   05 - aplicaçãoRedes   05 - aplicação
Redes 05 - aplicação
 
Redes 04 - transporte
Redes   04 - transporteRedes   04 - transporte
Redes 04 - transporte
 
Redes 03 - rede
Redes   03 - redeRedes   03 - rede
Redes 03 - rede
 
Redes 02 - enlace
Redes   02 - enlaceRedes   02 - enlace
Redes 02 - enlace
 
Redes 01 - topologia
Redes   01 - topologiaRedes   01 - topologia
Redes 01 - topologia
 
Intro heuristica
Intro heuristicaIntro heuristica
Intro heuristica
 
[Ci2017] Simuladores de Satélites
[Ci2017] Simuladores de Satélites[Ci2017] Simuladores de Satélites
[Ci2017] Simuladores de Satélites
 
MBSE e Espaço 4.0
MBSE e Espaço 4.0MBSE e Espaço 4.0
MBSE e Espaço 4.0
 
A Model Based Concurrent Engineering Framework using ISO-19450 Standard
A Model Based Concurrent Engineering Framework using ISO-19450 StandardA Model Based Concurrent Engineering Framework using ISO-19450 Standard
A Model Based Concurrent Engineering Framework using ISO-19450 Standard
 
Introdução à Engenharia Espacial
Introdução à Engenharia EspacialIntrodução à Engenharia Espacial
Introdução à Engenharia Espacial
 
CubeSats e Software Embarcado
CubeSats e Software EmbarcadoCubeSats e Software Embarcado
CubeSats e Software Embarcado
 
Modelos e metodologias de projeto de sistemas
 Modelos e metodologias de projeto de sistemas Modelos e metodologias de projeto de sistemas
Modelos e metodologias de projeto de sistemas
 

Aula 8/9 Atividades

  • 2. » 1. Resumo da aula do Edison. ˃Dúvidas sobre a aula ˃Dúvidas sobre a prova » 2. Mini – teste (30 min) ˃2 QUESTÕES ˃Entregar resumos junto com o teste. » 3. Atividades em sala » 4. Aula do dia 01/11 será passada online. » Talvez não venha no dia 8/11, deixarei atividades. cscerqueira.com/christopher - - - CCO-013
  • 4. » Entrada de dados para carregar e configurar o programa com condições iniciais. » Scripts/tabelas/históricos/dados pessoais cscerqueira.com/christopher - - - CCO-013
  • 5. Utilizar Criar o o tipo File arquivo Abrir o Fechar o arquivo arquivo cscerqueira.com/christopher - - - CCO-013
  • 6. » Para usar um arquivo, temos que ter uma variável que aponta para o arquivo. FILE * pFile; » Tipo File, símbolo de apontamento, nome da variável http://www.cplusplus.com/reference/clibrary/cstdio/FILE/ cscerqueira.com/christopher - - - CCO-013
  • 7. » Deve-se indicar qual arquivo quer ser utilizado e como deve ser utilizado pFile = fopen (NomeDoArquivo, modo); “r” Read: abre o arquivo para leitura. Precisa existir. “w” Write: cria o arquivo para saída. Apaga anterior se existir. Modos “a” Append: abre um arquivo para saída e posiciona no fim. Cria se não existir. “r+” Read/Update: abre o arquivo para update. “w+” Write/Update: cria um arquivo e abre para update. Apaga se existir. “a+” Abre um arquivo para update e posiciona no fim. Cria se não existir. http://www.cplusplus.com/reference/clibrary/cstdio/fopen/ cscerqueira.com/christopher - - - CCO-013
  • 8. » Ler dados do arquivo http://www.cplusplus.com/reference/c library/cstdio/fscanf/ int fscanf( pFile, “Formatos”, variáveis); » Funciona como o scanf: lê elemento por elemento. fscanf ( arquivo, “%d %s %c”, &idade, pnome, &sexo ); cscerqueira.com/christopher - - - CCO-013
  • 9. char getBuff(char *buf, int n, FILE *fp) { char *ret; for(;;) { ret = fgets(buf, n, fp); if (ret == NULL) return(NULL); if (buf[0] != 'n' && buf[0] != '#') return(1); // Skip blank lines and comments. } } cscerqueira.com/christopher - - - CCO-013
  • 10. » Escrever no arquivo http://www.cplusplus.com/reference/clibrary/ cstdio/fprintf/ int fprintf(pFile, “Formatos” , variáveis); » Igual ao printf. » Escreve no fim do arquivo. fprintf (pFile, "Name %d [%-10.10s]n",n,name); cscerqueira.com/christopher - - - CCO-013
  • 11. » Existem diversas outras funções para manipular arquivos. » Estão na biblioteca stdio.h » Funções que começam com a letra f. http://www.cplusplus.com/reference/clibrary/cstdio/ cscerqueira.com/christopher - - - CCO-013
  • 12. » Depois que utilizar o arquivo é necessário fechá-lo. int fclose(pFile); » Se fechar o arquivo e for necessário reutilizá-lo é necessário abrir novamente. http://www.cplusplus.com/reference/clibrary/cstdio/fclose/ cscerqueira.com/christopher - - - CCO-013
  • 13. » Os arquivos geralmente possuem estruturas de dados que são lidos em blocos, » Esses blocos podem ser chamados de registros. » O arquivo contém vários registros. cscerqueira.com/christopher - - - CCO-013
  • 14. campo 1 campo 2 campo 3 Registro 1 Idade Sexo Primeiro nome Registro 2 Idade Sexo Primeiro nome . . . . . Registro n Primeiro nome Idade Sexo for ( k = 1; k <= n; k++ ) fscanf ( pFile, “%d %c %s”, &idade1, &sexo1, nome1 ); cscerqueira.com/christopher - - - CCO-013
  • 15. » Conjunto de valores do mesmo tipo, agrupados numa mesma variável. » Unidimensional: Vetores » Bidimensional: Matrizes cscerqueira.com/christopher - - - CCO-013
  • 16. » Em linguagem C, agregado homogêneo é definido da seguinte forma: tipo NOME DA VARIAVEL [ dimensão ]; Onde : dimensao = quantidade de células do agregado + deve ser sempre maior que zero + deve ser sempre inteiro + tem que ter um valor especificado ( não pode ser variável ) cscerqueira.com/christopher - - - CCO-013
  • 17. » int idades[30]; » float notas[100]; » char nome[80]; cscerqueira.com/christopher - - - CCO-013
  • 18. 0 1 2 28 29 idade: » Os indices indicam as posições no vetor. » idade[5] = 30; // atribui na 6ª posição o valor 30 0 1 2 3 4 5 6 Idade: 30 » numero = 45; » k = 3; 0 1 2 3 4 5 6 » idade[k] = numero; Idade: 45 30 cscerqueira.com/christopher - - - CCO-013
  • 19. » Bidimensional: int valores[60][30]; » Tridimensional: int valores[60][30][10]; » ... cscerqueira.com/christopher - - - CCO-013
  • 20. // LEITURA DA MATRIZ for ( r = 0; r < n_linhas; r++ ) { for ( u = 0; u < n_colunas; u++ ) { fscanf ( pFile, “%d” , &numeros[r][u] ); } } cscerqueira.com/christopher - - - CCO-013
  • 22. Identifique a folha / Entregar o resumo junto » 1. Escrever um programa para solicitar os valores (números) de um vetor (inteiros – 8 unidades); solicitar um outro número pelo teclado e pesquisar se esse número existe no vetor. Se existir, imprimir em qual posição do vetor. Se não existir, imprimir MSG que não existe. » 2. Criar um programa que leia de um arquivo os elementos de uma matriz inteira de 3 x 3 e imprimir todos os elementos, exceto os elementos da diagonal principal. » 1 2 3 » 4 5 6 » Individual. » Pode ser com lápis. » 7 8 9 cscerqueira.com/christopher - - - CCO-013 » 30 min.
  • 23. » 1 - Resumo da aula de 16 e 23/10 - - 2 – Programas: » A) Escrever um programa para multiplicar matrizes 3x3. Uma matriz é entrada via arquivo e a segunda via teclado. O resultado é exibido na tela e o programa deve perguntar se deseja salvar no mesmo arquivo ou em outro, neste caso pedir o nome do novo arquivo. » B) Faça um programa que leia de um arquivo o nome, o sexo, a altura e a idade de uma pessoa. Calcule e mostre em ordem de altura o nome e o seu peso ideal de acordo com as seguintes características da pessoa: cscerqueira.com/christopher - - - CCO-013
  • 24. » Tutorial completo de C/C++ » http://www.cplusplus.com/files/tutorial.pdf cscerqueira.com/christopher - - - CCO-013