Você está na página 1de 28

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.

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.

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.

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.

ENTO, PARA REALIZAR ESSAS AES, PODEMOS


IMAGINAR OS SEGUINTES ALGORITMOS BSICOS:

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

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.
Matrcula Nome
000000001
Joo
000001001 Maria
000002002
Jos
000003221 Sebastio

P1

P2

Mdia

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.
Joo
Maria
Jos
Sebastio
Matrcula
000000001
000001001
000002002
000003221

P1

1
2
3
4
P2

Mdia

10

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:
fp = fopen( nome_do_arquivo, permissao)

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

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:

onde a especificao do formato tem a seguinte forma:

17

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:

18

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

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.

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.

20

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.

onde a especificao do formato tem a seguinte forma:

22

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.

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.

24

EXERCCIOS

25

26

27

28