Post on 09-Jun-2015
description
ARQUIVOSProf.ª Ms. Eng.ª Elaine Cecília GattoAlgoritmos e Estruturas de DadosEngenharia de ComputaçãoUniversidade Sagrado Coração
ARQUIVOS• DEFINIÇÃO: É um conjunto de registros – é uma estrutura de
dados – no qual cada registro não ocupa uma posição fixa dentro da estrutura, não possuindo, portanto, tamanho preestabelecido.
• DECLARAÇÃO: exemplo
tipo livro = registrointeiro: código, ano, edição;caracter: título, autor, assunto, editora;
fimregistro;tipo arqLivro = arquivo composto de livro;livro: ficha;arqLivro: biblos;
ARQUIVOS• DEFINIÇÃO: É um conjunto de registros – é uma estrutura de
dados – no qual cada registro não ocupa uma posição fixa dentro da estrutura, não possuindo, portanto, tamanho preestabelecido.
• DECLARAÇÃO
tipo livro = registrointeiro: código, ano, edição;caracter: título, autor, assunto, editora;
fimregistro;tipo arqLIvro = arquivo composto de livro;livro: ficha;arqLivro: biblos;
LIVRO é o identificador da estrutura do tipo registro que formará o arquivo;
ARQUIVOS• DEFINIÇÃO: É um conjunto de registros – é uma estrutura de
dados – no qual cada registro não ocupa uma posição fixa dentro da estrutura, não possuindo, portanto, tamanho preestabelecido.
• DECLARAÇÃO
tipo livro = registrointeiro: código, ano, edição;caracter: título, autor, assunto, editora;
fimregistro;tipo arqLIvro = arquivo composto de livro;livro: ficha;arqLivro: biblos;
ARQLIVRO: é o identificador do tipo associado ao arquivo, formado pelos
tipos de registros livro
ARQUIVOS• DEFINIÇÃO: É um conjunto de registros – é uma estrutura de
dados – no qual cada registro não ocupa uma posição fixa dentro da estrutura, não possuindo, portanto, tamanho preestabelecido.
• DECLARAÇÃO
tipo livro = registrointeiro: código, ano, edição;caracter: título, autor, assunto, editora;
fimregistro;tipo arqLIvro = arquivo composto de livro;livro: ficha;arqLivro: biblos;
FICHA é a variável de registro
ARQUIVOS• DEFINIÇÃO: É um conjunto de registros – é uma estrutura de
dados – no qual cada registro não ocupa uma posição fixa dentro da estrutura, não possuindo, portanto, tamanho preestabelecido.
• DECLARAÇÃO
tipo livro = registrointeiro: código, ano, edição;caracter: título, autor, assunto, editora;
fimregistro;tipo arqLIvro = arquivo composto de livro;livro: ficha;arqLivro: biblos;
BIBLOS é a variável de arquivo
ARQUIVOS• DEFINIÇÃO: É um conjunto de registros – é uma estrutura de
dados – no qual cada registro não ocupa uma posição fixa dentro da estrutura, não possuindo, portanto, tamanho preestabelecido.
• DECLARAÇÃO
tipo livro = registrointeiro: código, ano, edição;caracter: título, autor, assunto, editora;
fimregistro;tipo arqLIvro = arquivo composto de livro;livro: ficha;arqLivro: biblos;
BIBLOS e FICHA são as variáveis utilizadas para manipulação do arquivo – são as
que armazenam as informações
ARQUIVOS
tipo Socio = registrocaracter = Nome, DN, Naturalidade, Nacionalidade, End,
Bairro, Cidade, Estado, DataAdesao;inteiro: RG, CPF, Fone, NroDependentes;logico: Sexo;
fimregistro;tipo arqSocio = arquivo composto de Socio;Socio: RegSocio;arqSocio: Clube;
ARQUIVOS• O que podemos fazer com arquivos?
• Consultar• Alterar• Excluir• Modificar • Acrescentar
ARQUIVOS• Consultar arquivo:• Abrir arquivo• Achar a informação• Copiar as informações• Fechar o arquivo
• Acrescentar informações• Abrir o arquivo• Achar a posição• Guardar a nova ficha• Fechar o arquivo
• Modificar arquivo• Abrir arquivo• Achar a informação• Alterar a informação• Fechar o arquivo
• Eliminar informações• Abrir o arquivo• Achar a informação• Retirar a informação• Fechar o arquivo
ARQUIVOS• Para abrir um arquivo usar: abra(BIBLOS);• Para fechar um arquivo usar: feche(BIBLOS);• Para copiar um registro usar: copie(BIBLOS, AUX);• Para armazenar um registro usar: guarde(BIBLOS, AUX);• Para eliminar um registro usar: elimine(BIBLOS);
• AUX: identificador da variável registro de formato igual àquele que compõe o arquivo.
• FDA: final do arquivo
ARQUIVOS• Para abrir um arquivo usar: abra(BIBLOS);• Para fechar um arquivo usar: feche(BIBLOS);• Para copiar um registro usar: copie(BIBLOS, AUX);• Para armazenar um registro usar: guarde(BIBLOS, AUX);• Para eliminar um registro usar: elimine(BIBLOS);• Para• AUX: identificador da variável registro de formato igual àquele
que compõe o arquivo.
• FDA: final do arquivo
Copiam-se as informações da posição do arquivo para o registro especificado no comando – o qual possui um formato idêntico ao do registro que compõe o arquivo.
ARQUIVOS• Para abrir um arquivo usar: abra(BIBLOS);• Para fechar um arquivo usar: feche(BIBLOS);• Para copiar um registro usar: copie(BIBLOS, AUX);• Para armazenar um registro usar: guarde(BIBLOS, AUX);• Para eliminar um registro usar: elimine(BIBLOS);• Para• AUX: identificador da variável registro de formato igual àquele
que compõe o arquivo.
• FDA: final do arquivo
Guarda-se sempre alguma informação de dado registro – definido no comando – para a posição atual do arquivo.
ARQUIVOS• Para abrir um arquivo usar: abra(BIBLOS);• Para fechar um arquivo usar: feche(BIBLOS);• Para copiar um registro usar: copie(BIBLOS, AUX);• Para armazenar um registro usar: guarde(BIBLOS, AUX);• Para eliminar um registro usar: elimine(BIBLOS);
• AUX: identificador da variável registro de formato igual àquele que compõe o arquivo.
• FDA: final do arquivo
Elimina-se sempre o registro da posição corrente do arquivo especificado – definido no comando
Concepção sequencial• É um padrão de comportamento que estabelece o modo pelo
qual os registros serão armazenados no arquivo;• O algoritmo estabelece a estruturação do arquivo;• Quando a gravação dos registros – que não estão em ordem –
é feita de forma contínua – um após o outro – então temos uma gravação sequencial;
• A localização de qualquer um dos registros armazenados é indeterminada;
• Para acessar um registro em especifico devemos obedecer a ordem de gravação percorrendo todos os registros anteriores;
• Para armazenar um novo registro, devemos primeiro identificar onde está o último registro gravado;
• Deve-se, portanto, encontrar o fim do arquivo.
Concepção sequencial• Exemplo: considere uma lista de telefones, particular, na qual
o usuário armazenou nomes e telefones de seus amigos (as) à medida que os conhecia. Como acrescentar mais um amigo na lista?
//INCLUINDO UM TELEFONE NO FINAL DO ARQUIVOalgoritmo exemplo1;
iniciotipo pessoa = registro
caracter = nome;inteiro = fone;
fimregistro;
Concepção sequencial• Exemplo: considere uma lista de telefones, particular, na qual
o usuário armazenou nomes e telefones de seus amigos (as) à medida que os conhecia. Como acrescentar mais um amigo na lista?
//INCLUINDO UM TELEFONE NO FINAL DO ARQUIVOalgoritmo exemplo1;
iniciotipo pessoa = registro
caracter = nome;inteiro = fone;
fimregistro;
Declaração do registro PESSOA que contém os campos nome e fone.
Concepção sequencial
tipo pessoal = arquivo composto de pessoa;pessoa: aux;pessoal: agenda;abra(agenda);repita
avance(agenda);até fda(agenda);leia(aux.nome, aux.fone);guarde(agenda, aux);feche(agenda);
fim.
Concepção sequencial
tipo pessoal = arquivo composto de pessoa;pessoa: aux;pessoal: agenda;abra(agenda);repita
avance(agenda);até fda(agenda);leia(aux.nome, aux.fone);guarde(agenda, aux);feche(agenda);
fim.
Criação do arquivo que contém os registros do tipo pessoa.
Concepção sequencial
tipo pessoal = arquivo composto de pessoa;pessoa: aux;pessoal: agenda;abra(agenda);repita
avance(agenda);até fda(agenda);leia(aux.nome, aux.fone);guarde(agenda, aux);feche(agenda);
fim.
Criação de uma variável auxiliar do tipo pessoa (é uma variavel do registro)
Concepção sequencial
tipo pessoal = arquivo composto de pessoa;pessoa: aux;pessoal: agenda;abra(agenda);repita
avance(agenda);até fda(agenda);leia(aux.nome, aux.fone);guarde(agenda, aux);feche(agenda);
fim.
Variável de arquivo
Concepção sequencial
tipo pessoal = arquivo composto de pessoa;pessoa: aux;pessoal: agenda;abra(agenda);repita
avance(agenda);até fda(agenda);leia(aux.nome, aux.fone);guarde(agenda, aux);feche(agenda);
fim.
A posição corrente do arquivo é o primeiro registro.
O registro só pode ser guardado depois que estiver completamente preenchido.
Concepção sequencial
tipo pessoal = arquivo composto de pessoa;pessoa: aux;pessoal: agenda;abra(agenda);repita
avance(agenda);até fda(agenda);leia(aux.nome, aux.fone);guarde(agenda, aux);feche(agenda);
fim.
Percorre o arquivo de registros até chegar ao final do arquivo.
Concepção sequencial
tipo pessoal = arquivo composto de pessoa;pessoa: aux;pessoal: agenda;abra(agenda);repita
avance(agenda);até fda(agenda);leia(aux.nome, aux.fone);guarde(agenda, aux);feche(agenda);
fim.
Lê o nome e o telefone fornecidos pelo usuário
Concepção sequencial
tipo pessoal = arquivo composto de pessoa;pessoa: aux;pessoal: agenda;abra(agenda);repita
avance(agenda);até fda(agenda);leia(aux.nome, aux.fone);guarde(agenda, aux);feche(agenda);
fim.
Armazena todas as informações contidas no registro na posição corrente do arquivo.