• Nenhum resultado encontrado

Aula 16 - Arquivo

N/A
N/A
Protected

Academic year: 2021

Share "Aula 16 - Arquivo"

Copied!
25
0
0

Texto

(1)

INTRODUÇÃO À COMPUTAÇÃO

- EPET006 -

Heleno Pontes Bezerra Neto -

[email protected]

(2)

Conceito

7. ARQUIVOS

A CADA VEZ QUE TEMOS UM PROBLEMA A RESOLVER, EXECUTAMOS UM PROGRAMA. A CADA VEZ QUE EXECUTAMOS ESTE PROGRAMA, PRECISAMOS OBTER OS DADOS DE ENTRADA E FORNECER OS DADOS DE SAÍDA DA ANÁLISE. O que temos feito até agora???

(3)

Conceito

7. ARQUIVOS

A CADA VEZ QUE TEMOS UM PROBLEMA A RESOLVER, EXECUTAMOS UM PROGRAMA. A CADA VEZ QUE EXECUTAMOS ESTE PROGRAMA, PRECISAMOS OBTER OS DADOS DE ENTRADA E FORNECER OS DADOS DE SAÍDA DA ANÁLISE. O que temos feito até agora??? Em geral, pedimos ao usuário que digite os dados de entrada a cada execução do programa, e fornecemos os dados de saída na tela (janela de comandos do MATLAB).

(4)

Conceito

7. ARQUIVOS

A CADA VEZ QUE TEMOS UM PROBLEMA A RESOLVER, EXECUTAMOS UM PROGRAMA. A CADA VEZ QUE EXECUTAMOS ESTE PROGRAMA, PRECISAMOS OBTER OS DADOS DE ENTRADA E FORNECER OS DADOS DE SAÍDA DA ANÁLISE. O que temos feito até agora??? Em geral, pedimos ao usuário que digite os dados de entrada a cada execução do programa, e fornecemos os dados de saída na tela (janela de comandos do MATLAB).

Imaginemos o seguinte problema:

Um programa deve armazenar os nomes e as notas dos alunos da UFAL, ao longo do semestre, e calcular a média de cada aluno ao final do semestre. neste caso:

- Existe uma grande quantidade de dados a armazenar;

- Como as notas devem ser fornecidas a medida que elas são obtidas, então

é necessário a execução do programa inúmeras vezes;

(5)

Conceito

7. ARQUIVOS

A CADA VEZ QUE TEMOS UM PROBLEMA A RESOLVER, EXECUTAMOS UM PROGRAMA. A CADA VEZ QUE EXECUTAMOS ESTE PROGRAMA, PRECISAMOS OBTER OS DADOS DE ENTRADA E FORNECER OS DADOS DE SAÍDA DA ANÁLISE. O que temos feito até agora??? Em geral, pedimos ao usuário que digite os dados de entrada a cada execução do programa, e fornecemos os dados de saída na tela (janela de comandos do MATLAB).

Imaginemos o seguinte problema:

Um programa deve armazenar os nomes e as notas dos alunos da UFAL, ao longo do semestre, e calcular a média de cada aluno ao final do semestre. neste caso:

- Existe uma grande quantidade de dados a armazenar;

- Como as notas devem ser fornecidas a medida que elas são obtidas, então

é necessário a execução do programa inúmeras vezes;

A seguinte pergunta nos vem à cabeça...

Como é possível armazenar tais informações permanentemente no computador se os dados armazenados na memória RAM são voláteis.

(6)

Conceito

7. ARQUIVOS

Um arquivo de dados é um conjunto de dados armazenados em um dispositivo de memória secundária (por exemplo, o disco rígido do computador).

O fato do arquivo ser armazenado em uma memória secundária o torna independente em relação aos programas computacionais. Ou seja, um arquivo pode ser criado, consultado, processado e eventualmente removido por programas computacionais distintos.

*lembremos dos arquivos do Word®, Excel®, etc... Eles são criados, processados e removidos a qualquer tempo.

(7)

Conceito

7. ARQUIVOS

Um arquivo de dados é um conjunto de dados armazenados em um dispositivo de memória secundária (por exemplo, o disco rígido do computador).

O fato do arquivo ser armazenado em uma memória secundária o torna independente em relação aos programas computacionais. Ou seja, um arquivo pode ser criado, consultado, processado e eventualmente removido por programas computacionais distintos.

*lembremos dos arquivos do Word®, Excel®, etc... Eles são criados, processados e removidos a qualquer tempo.

São 4 as operações possíveis num arquivo de dados: inserção de informações obtenção de informações modificação de informações exclusão de informações

(8)

Concepção

7. ARQUIVOS

Quando criamos um arquivo, usamos determinado padrão de comportamento que estabelece o modo pelo qual os dados são armazenados no arquivo. A maneira como esses dados são dispostos no arquivo pode facilitar certas operações . Quanto ao tipo de concepção, os arquivos podem ser classificados em duas variantes:

(9)

Concepção

7. ARQUIVOS

Quando criamos um arquivo, usamos determinado padrão de comportamento que estabelece o modo pelo qual os dados são armazenados no arquivo. A maneira como esses dados são dispostos no arquivo pode facilitar certas operações . Quanto ao tipo de concepção, os arquivos podem ser classificados em duas variantes:

- Arquivos de concepção sequencial: os dados são obtidos ou inseridos no arquivo de forma sequencial. Ex: Para achar a nota de José, precisa-se percorrer todo o arquivo

Matrícula Nome P1 P2 Média

000000001 João 000001001 Maria 000002002 José 000003221 Sebastião

(10)

Classificação

7. ARQUIVOS

Quando criamos um arquivo, usamos determinado padrão de comportamento que estabelece o modo pelo qual os dados são armazenados no arquivo. A maneira como esses dados são dispostos no arquivo pode facilitar certas operações . Quanto ao tipo de concepção, os arquivos podem ser classificados em duas variantes:

- Arquivos de concepção sequencial: os dados são obtidos ou inseridos no arquivo de forma sequencial. Ex: Para achar a nota de José, precisa-se percorrer todo o arquivo

- Arquivos de concepção direta: o acesso aos dados do arquivo é realizado em ordem aleatória. Uma informação inicial indica a posição no arquivo onde determinada informação está localizada. Ex: os dados de José estão numa linha previamente

estabelecida no arquivo.

Matrícula Nome P1 P2 Média

000000001 João 000001001 Maria 000002002 José 000003221 Sebastião João 1 Maria 2 José 3 Sebastião 4 Matrícula P1 P2 Média 000000001 000001001 000002002 000003221

(11)

Arquivos Sequenciais

7. ARQUIVOS

1. ABRINDO ARQUIVOS: Não se pode obter qualquer informação de um arquivo sem antes abri-lo. Em qualquer linguagem computacional, os comandos responsáveis pela abertura de arquivos necessitam do nome do arquivo a ser aberto e retornam uma referência para o arquivo aberto.

MATLAB

fp = fopen('nome_do_arquivo', 'tipo_do_arquivo')

onde:

nome_do_arquivo – é o nome do arquivo a ser aberto;

tipo_do_arquivo – indica qual ação será realizada sobre o arquivo

leitura (r); gravação (w);

inserção em um arquivo já existente (a).

fp – referência para o arquivo. Se fp for igual a -1, algum erro ocorreu na abertura

deste arquivo.

Exemplo:

fp = fopen( 'c:/temp/exemplo01.dat', 'r' );

obs: Caso o arquivo de dados já exista ou esteja sendo criado na mesma pasta onde o código “.m” está salvo, não há necessidade de indicar todo o caminho do arquivo.

(12)

Arquivos Sequenciais

7. ARQUIVOS

2. FECHANDO ARQUIVOS: Todo arquivo aberto deve ser fechado para evitar que os dados fiquem expostos a agentes externos.

MATLAB fclose(referência_para_o_arquivo) Exemplo: fclose(fp);

(13)

Arquivos Sequenciais

7. ARQUIVOS

2. FECHANDO ARQUIVOS: Todo arquivo aberto deve ser fechado para evitar que os dados fiquem expostos a agentes externos.

MATLAB fclose(referência_para_o_arquivo) Exemplo: fclose(fp);

3. GRAVANDO DADOS NUM ARQUIVO: Como dito anteriormente, na concepção seqüencial, os dados são gravados no arquivo de forma contínua.

MATLAB

fprintf( fp, 'especificações de formato para cada variável da lista', 'lista de variáveis')

sendo a especificação de formato da forma % I1.I2tipo

I1 é um número inteiro indicando o quanto de espaço existe para escrever o número; I2 é um número inteiro indicando o quanto deste espaço definido por I1 será

considerado como a parte decimal;

(14)

Arquivos Sequenciais

7. ARQUIVOS

(15)

Arquivos Sequenciais

7. ARQUIVOS

Exemplo 60: Fazer um programa para ler o nome de 5 alunos e suas respectivas médias e armazená-las em um arquivo de dados. As informações sobre os alunos devem ser armazenadas em registros.

(16)

Arquivos Sequenciais

7. ARQUIVOS

Exemplo 60: Fazer um programa para ler o nome de 5 alunos e suas respectivas médias e armazená-las em um arquivo de dados. As informações sobre os alunos devem ser armazenadas em registros.

(17)

Arquivos Sequenciais

7. ARQUIVOS

Exemplo 60: Fazer um programa para ler o nome de 5 alunos e suas respectivas médias e armazená-las em um arquivo de dados. As informações sobre os alunos devem ser armazenadas em registros.

Nesse momento, cria-se um novo arquivo de dados, chamado arquivo_01.dat’

(18)

Arquivos Sequenciais

7. ARQUIVOS

4. LENDO ARQUIVOS: A leitura de dados em um arquivo é feita de forma contínua, sequencial

MATLAB

a = fscanf( fp, 'especificações de formato para cada variável da lista', num_dados)

sendo a especificação de formato da forma %tipo

tipo assume os seguintes valores: d, i, o, u, x, X, f, e, E, g, G, c, s.

Exemplo:

fp = fopen('nome_do_arquivo', 'tipo_do_arquivo') a = fscanf(fp , ‘%s’, 1 );

(19)

Arquivos Sequenciais

7. ARQUIVOS

Exemplo 61: Criar um programa que leia um arquivo de dados contendo dois números, e faça a soma destes.

4 5

arquivo “s.dat” (formato binário) *dados podem ser separados por espaço, tabulação, linha

4 5 4 5

fclose(fp);

O arquivo pode ter qualquer extensão (*.dat, *. dados, *.res, ...etc), mas sempre terá o formato binário

(20)

Arquivos Sequenciais

7. ARQUIVOS

Exemplo 62: Fazer um

programa para ler o nome de 5 alunos e suas respectivas médias a partir de um

arquivo de dados. As

informações sobre os alunos devem ser armazenadas em registros. Na sequência, calcular a média da turma e imprimir na tela.

(21)

Arquivos Sequenciais

7. ARQUIVOS

Exemplo 62: Fazer um

programa para ler o nome de 5 alunos e suas respectivas médias a partir de um

arquivo de dados. As

informações sobre os alunos devem ser armazenadas em registros. Na sequência, calcular a média da turma e imprimir na tela.

(22)

Arquivos Sequenciais

7. ARQUIVOS

Exemplo 62: Fazer um

programa para ler o nome de 5 alunos e suas respectivas médias a partir de um

arquivo de dados. As

informações sobre os alunos devem ser armazenadas em registros. Na sequência, calcular a média da turma e imprimir na tela.

%leitura dos dados

M

(23)

Arquivos Sequenciais

7. ARQUIVOS

Exemplo 62: Fazer um

programa para ler o nome de 5 alunos e suas respectivas médias a partir de um

arquivo de dados. As

informações sobre os alunos devem ser armazenadas em registros. Na sequência, calcular a média da turma e imprimir na tela.

%leitura dos dados

Joao 8.1 Jose 5.8 Maria 9.0 Carla 7.5 Ivan 4.6 M arquivo “arquivo_01.dat”

(24)

*FUNÇÃO sprintf.m

Converte valores numéricos quaisquer em formato string.

Permite compor “frases” mais elegantes para a saída de dados.

NOSSOS PROBLEMAS ACABARAM!!!!!!!

Trecho do help da função sprintf.m

A=sprintf('%0.5g',(1+sqrt(5))/2) A=‘1.618’

B=sprintf('%0.5g',1/eps) B=‘4.5036e+15’

C=sprintf('%15.5f',1/eps) C=‘4503599627370496.00000’ D=sprintf('%d',round(pi)) D=‘3’

E=sprintf('%s','hello') E=‘hello’

F=sprintf('The array is %dx%d.',2,3) E=‘The array is 2x3.’

(25)

Fechamento da disciplina

Unir os conhecimentos a respeito de

modularização, arquivos e registros

Referências

Documentos relacionados

*Como os dados são de 1989, a União Soviética ainda existia.. 15- Brincando com cartões dos algarismos indo-arábicos, Marina representou o maior número com

Os resultados apresentados foram: a modelagem do problema da compo- si¸ c˜ ao autom´ atica sob a forma de um grafo direcionado; a pol´ıtica de custos aplicada ao grafo para

Equipamentos de emergência imediatamente acessíveis, com instruções de utilização. Assegurar-se que os lava- olhos e os chuveiros de segurança estejam próximos ao local de

Com o objetivo de compreender como se efetivou a participação das educadoras - Maria Zuíla e Silva Moraes; Minerva Diaz de Sá Barreto - na criação dos diversos

Se a pessoa do marketing corporativo não usar a tarefa Assinatura, todos as pessoas do marketing de campo que possuem acesso a todos os registros na lista de alvos originais

O enfermeiro, como integrante da equipe multidisciplinar em saúde, possui respaldo ético legal e técnico cientifico para atuar junto ao paciente portador de feridas, da avaliação

Variáveis como a idade, sexo, anos de escolarização e tipo de profissão foram estudadas em relação aos resultados obtidos através do teste t de Student e da correlação de

No caso de formação de fumos metálicos ou poeiras oriundas do processo de fundição, solda ou corte, pode causar os seguintes efeitos: irritação aos olhos com