algoritmos - arquivos parte 2

Post on 09-Jun-2015

2.184 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Algoritmos - Arquivos Parte 2

TRANSCRIPT

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.

top related