Upload
thiago-rodrigues
View
12
Download
0
Embed Size (px)
DESCRIPTION
Aulas usando o matlab
Citation preview
Arquivos:
Conceitos, Organizao;
Declarao, Manipulao.
Como dito anteriormente, um aspecto fundamental na
formulao de programas computacionais a estrutura
de dados usada para representar e armazenar as
informaes (dados) do problema a ser resolvido.
2
3
Como possvel armazenar tais informaes permanentemente
no computador se os dados armazenados na memria RAM so
temporrios (ou seja, s esto ativos durante a execuo do
programa computacional)?
CONCEITO
Um arquivo um conjunto de dados armazenados em um
dispositivo de memria secundria (por exemplo, o disco
rgido do computador).
Uma estrutura de dados bastante utilizada na
manipulao de dados armazenados em arquivos so os
registros (conjunto de informaes logicamente
relacionadas).
O fato do arquivo ser armazenado em uma memria
secundria o torna independente em relao aos
programas computacionais. Ou seja, um arquivo pode ser
criado, consultado, processado e eventualmente removido
por programas computacionais distintos.
4
ORGANIZAO DE ARQUIVOS
As operaes bsicas que podem ser realizadas em um
arquivo so:
a) Insero de informaes no arquivo;
b) Obteno de informaes armazenadas em um
arquivo;
c) Modificao de informaes armazenadas em um
arquivo;
d) Excluso de informaes de um arquivo.
5
A manipulao dessas operaes feita de forma
semelhante para todo e qualquer arquivo, independente
de como foi concebido. Para exemplificar, considera-se
um arquivo de livros de uma biblioteca, onde duas
atitudes so possveis:
a) No caso de um leitor, procura-se a informao sobre
a localizao de um certo livro atravs das fichas que
registram o acervo;
b) Como funcionrio, manipula-se (inserir, modificar ou
remover) alguma informao a respeito de algum
livro.
6
ENTO, PARA REALIZAR ESSAS AES, PODEMOS
IMAGINAR OS SEGUINTES ALGORITMOS BSICOS:
7
Pode-se observar que os algoritmos apresentados so
bastante semelhantes (os passos 1 e 4, por exemplo, so
iguais e necessrios em todos os casos).
CONCEPO DOS ARQUIVOS
A disposio desses dados (informaes) em um
arquivo podem favorecer a realizao de determinadas
operaes em relao as outras. Em relao a sua
concepo, existem basicamente dois tipos de arquivos:
Concepo sequencial
Concepo direta
8
CONCEPO SEQUENCIAL:
Os dados so obtidos ou inseridos no arquivo em ordem
sequencial. Esses dados esto armazenados de forma
contnua, um aps o outro. Neste caso, para obter uma
determinada informao, necessrio percorrer todo o
arquivo at que tal informao seja encontrada.
9
Matrcula Nome P1 P2 Mdia
000000001 Joo
000001001 Maria
000002002 Jos
000003221 Sebastio
CONCEPO DIRETA:
O acesso aos dados do arquivo realizado em ordem
aleatria. Uma informao inicial indica a posio no
arquivo onde determinada informao est localizada.
10
Joo 1
Maria 2
Jos 3
Sebastio 4
Matrcula P1 P2 Mdia
000000001
000001001
000002002
000003221
MANIPULAO DE ARQUIVOS SEQUENCIAIS
11
ABRINDO ARQUIVOS
No se pode obter qualquer informao de um arquivo
sem antes abri-lo.
Em qualquer linguagem computacional, os comandos
responsveis pela abertura de arquivos necessitam do
nome do arquivo a ser aberto e retornam uma
referncia para o arquivo aberto.
Informaes adicionais podem ser necessrias para
executar esta ao.
12
ABRINDO ARQUIVOS NO MATLAB
No Matlab, a abertura de um arquivo realizada da seguinte forma:
onde:
nome_do_arquivo o nome do arquivo a ser aberto;
permissao indica qual ao ser realizada sobre o arquivo
leitura (r);
gravao (w);
insero em um arquivo j existente (a).
fp referncia para o arquivo. Se fp = -1, algum erro ocorreu na abertura deste arquivo.
13
fp = fopen( nome_do_arquivo, permissao)
14
FECHANDO ARQUIVOS
Todo arquivo aberto deve ser fechado para evitar
que os dados fiquem expostos a agentes externos.
No Matlab, o encerramento de um arquivo de
feito a partir da utilizao da seguinte funo:
15
GRAVANDO DADOS EM UM ARQUIVO
Como dito anteriormente, na concepo
sequencial, os dados so gravados no arquivo de
forma contnua.
Cada linguagem computacional possui comandos
especficos para a realizao destas aes.
16
GRAVANDO DADOS EM UM ARQUIVO
No caso do Matlab, o comando (funo) utilizada
para a gravao de dados em arquivos o seguinte:
17
onde a especificao do formato tem a seguinte forma:
18
Especificao do formato
%[width][.precision]specifier
Where specifier is the most significant one and defines the type and the
interpretation of the value of the coresponding argument:
http://www.cplusplus.com/reference/clibrary/cstdio/fprintf.html
19
Exemplo 01: Fazer um programa para ler o nome de 5 alunos e suas
respectivas mdias e armazen-las em um arquivo de dados. As
informaes sobre os alunos devem ser armazenadas em registros.
ETAPAS PARA O DESENVOLVIMENTO DO PROGRAMA:
1. Dividir o programa em mdulos de acordo com as tarefas a
serem realizadas.
Quantos e quais so os mdulos existentes?
2. Criar o mdulo ou funo de leitura
Quais estruturas devemos utilizar?
1. Estrutura de repetio
2. Registro
3. Criar um mdulo para escrever em um arquivo as informaes
lidas.
4. Criar o mdulo principal e fazer a ligao entre todas as
funes.
20
Exemplo 01: Fazer um programa para ler o nome de 5 alunos e suas
respectivas mdias e armazen-las em um arquivo de dados. As
informaes sobre os alunos devem ser armazenadas em registros.
LENDO DADOS DE UM ARQUIVO
Como dito anteriormente, na concepo sequencial,
os dados so gravados no arquivo de forma contnua.
Cada linguagem computacional possui comandos
especficos para a leitura dessas informaes.
21
LENDO DADOS DE UM ARQUIVO
Cada linguagem computacional possui comandos
especficos para a leitura dessas informaes.
22
onde a especificao do formato tem a seguinte forma:
23
Exemplo 02: Fazer um programa para ler de um arquivo o nome de 5
alunos e suas respectivas mdias. As informaes sobre os alunos devem
ser armazenadas em registros. Na seqncia, calcular a mdia da turma.
ETAPAS PARA O DESENVOLVIMENTO DO PROGRAMA:
1. Dividir o programa em mdulos de acordo com as tarefas a
serem realizadas.
Quantos e quais so os mdulos existentes?
2. Criar o mdulo ou funo de leitura de arquivo
Quais so as estruturas e funes devemos utilizar?
1. Estrutura de repetio
2. Registro
3. fscanf
3. Criar um mdulo para calcular a mdia baseado nas
informaes lidas.
4. Criar o mdulo principal e fazer a ligao entre todas as
funes.
24
Exemplo 02: Fazer um programa para ler de um arquivo o nome de 5
alunos e suas respectivas mdias. As informaes sobre os alunos devem
ser armazenadas em registros. Na seqncia, calcular a mdia da turma.
EXERCCIOS
25
26
27
28