Algoritmos - Arquivos Parte 2
-
Upload
elaine-cecilia-gatto -
Category
Education
-
view
2.184 -
download
0
description
Transcript of Algoritmos - Arquivos Parte 2
![Page 1: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/1.jpg)
ARQUIVOSProf.ª Ms. Eng.ª Elaine Cecília GattoAlgoritmos e Estruturas de DadosEngenharia de ComputaçãoUniversidade Sagrado Coração
![Page 2: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/2.jpg)
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;
![Page 3: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/3.jpg)
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;
![Page 4: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/4.jpg)
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
![Page 5: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/5.jpg)
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
![Page 6: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/6.jpg)
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
![Page 7: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/7.jpg)
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
![Page 8: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/8.jpg)
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;
![Page 9: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/9.jpg)
ARQUIVOS• O que podemos fazer com arquivos?
• Consultar• Alterar• Excluir• Modificar • Acrescentar
![Page 10: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/10.jpg)
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
![Page 11: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/11.jpg)
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
![Page 12: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/12.jpg)
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.
![Page 13: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/13.jpg)
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.
![Page 14: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/14.jpg)
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
![Page 15: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/15.jpg)
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.
![Page 16: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/16.jpg)
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;
![Page 17: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/17.jpg)
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.
![Page 18: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/18.jpg)
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.
![Page 19: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/19.jpg)
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.
![Page 20: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/20.jpg)
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)
![Page 21: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/21.jpg)
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
![Page 22: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/22.jpg)
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.
![Page 23: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/23.jpg)
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.
![Page 24: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/24.jpg)
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
![Page 25: Algoritmos - Arquivos Parte 2](https://reader033.fdocumentos.tips/reader033/viewer/2022061518/55761d3dd8b42a4e1c8b49f5/html5/thumbnails/25.jpg)
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.