Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Arquivos Algoritmos II Prof. Thiago Meirelles Ventura UFMT – IC – 2012/2 Introdução Em um programa, os dados em variáveis são apenas temporários. A persistência de informação deve ser realizada em dispositivos secundários. Discos rígidos, pen drives, dentre outros. Para isso são utilizados os arquivos. Introdução Um arquivo será um conjunto de registros. Exemplo: registro que armazena dados de uma pessoa. Algoritmo ExemploRegistro Var registro pessoa nome: literal; idade: inteiro; fimregistro; p1: pessoa; Início Escreva (“Digite o seu nome e idade”); leia (p1.nome); leia (p1.idade); Escreva (“Seu nome é: “, p1.nome); Fim Introdução Um arquivo será um conjunto de registros. Nome: Thiago Idade: 27 Nome: Rosangela Idade: 26 Nome: Leandro Idade: 0 Nome: Fulano Idade: 15 Nome: Ciclano Idade: 38 Manipulação - declaração Algoritmo ExemploArquivo Var registro pessoa nome: literal; idade: inteiro; fimregistro; amigos: arquivo de pessoa; Início ... Fim Manipulação - funcionamento Início Fim Abrir arquivo Realizar o posicionamento Ler, salvar ou remover Fechar arquivo Manipulação - funcionamento Início Fim Abrir arquivo Realizar o posicionamento Ler, salvar ou remover Fechar arquivo Algoritmo ExemploArquivo Var registro pessoa nome: literal; idade: inteiro; fimregistro; aux: pessoa; amigos: arquivo de pessoa; Início abra (amigos); ... feche (amigos); Fim Manipulação - funcionamento Início Fim Abrir arquivo Realizar o posicionamento Ler, salvar ou remover Fechar arquivo Um arquivo não deve ser consumido, mas sim consultado. Copie o conteúdo de interesse em alguma variável Trabalhe com esta variável Manipulação - funcionamento Início Fim Abrir arquivo Realizar o posicionamento Ler, salvar ou remover Fechar arquivo Algoritmo ExemploArquivo Var registro pessoa nome: literal; idade: inteiro; fimregistro; aux: pessoa; amigos: arquivo de pessoa; Início abra (amigos); copie (amigos, aux); Escreva (“Idade no arquivo: “, aux.idade); ... feche (amigos); Fim Manipulação - funcionamento Início Fim Abrir arquivo Realizar o posicionamento Ler, salvar ou remover Fechar arquivo Inserção de informações no arquivo um registro de mesma estrutura deve ser utilizado. Manipulação - funcionamento Início Fim Abrir arquivo Realizar o posicionamento Ler, salvar ou remover Fechar arquivo Algoritmo ExemploArquivo Var registro pessoa nome: literal; idade: inteiro; fimregistro; aux: pessoa; amigos: arquivo de pessoa; Início Escreva (“Informe um nome e idade”); Leia (aux.nome); Leia (aux.idade); abra (amigos); guarde (amigos, aux); feche (amigos); Fim Manipulação - funcionamento Início Fim Abrir arquivo Realizar o posicionamento Ler, salvar ou remover Fechar arquivo Remoção de informações no arquivo. Algoritmo ExemploArquivo Var registro pessoa nome: literal; idade: inteiro; fimregistro; amigos: arquivo de pessoa; Início abra (amigos); elimine (amigos); feche (amigos); Fim Todo o arquivo será removido? Não. Mas qual será o registro removido? Manipulação - funcionamento Início Fim Abrir arquivo Realizar o posicionamento Ler, salvar ou remover Fechar arquivo Remoção de informações no arquivo. Algoritmo ExemploArquivo Var registro pessoa nome: literal; idade: inteiro; fimregistro; amigos: arquivo de pessoa; Início abra (amigos); elimine (amigos); feche (amigos); Fim Depende do posicionamento realizado. Manipulação - funcionamento Abrir um arquivo Copiar um registro Guardar um registro Remover um registro Fechar um arquivo abra (variavelDoTipoArquivo); feche (variavelDoTipoArquivo); elimine (variavelDoTipoArquivo); copie (variavelDoTipoArquivo, variavelDoTipoRegistro); guarde (variavelDoTipoArquivo, variavelDoTipoRegistro); Manipulação - funcionamento Início Fim Abrir arquivo Realizar o posicionamento Ler, salvar ou remover Fechar arquivo Uma forma de realizar o posicionamento no arquivo é de forma sequencial. Manipulação - funcionamento Início Fim Abrir arquivo Realizar o posicionamento Ler, salvar ou remover Fechar arquivo Uma forma de realizar o posicionamento no arquivo é de forma sequencial. Nome: Thiago Idade: 27 Nome: Rosangela Idade: 26 Nome: Leandro Idade: 0 Nome: Fulano Idade: 15 Nome: Ciclano Idade: 38 Posicionamento sequencial Nessa forma, os registros são armazenados um após o outro, de forma contínua. Não se sabe a posição de um determinado registro. Para encontrar um registro, deve ser feito uma busca registro por registro. Posicionamento sequencial Para tanto pode ser utilizado dois comandos: avance: Caminha no arquivo possibilitando acessar o próximo registro. fda: “Fim do arquivo”. Verifica se a posição corrente é o fim do arquivo ou não. avance (variavelDoTipoArquivo); fda (variavelDoTipoArquivo); Posicionamento sequencial Inclusão de um registro sobre a pessoa Algoritmo ExemploArquivoSequencial Var registro pessoa nome: literal; idade: inteiro; fimregistro; pessoaAux: pessoa; amigos: arquivo de pessoa; Início abra (amigos); repita avance (amigos); até fda (amigos) Leia (pessoaAux.nome, pessoaAux.idade); guarde (amigos, pessoaAux); feche (amigos); Fim Exercício Faça um algoritmo que, com base nos registros mostrados nesta aula, se comporte desta maneira: Pergunte para o usuário o nome de uma pessoa Encontre o registro desta pessoa Mostre a idade desta pessoa Exercício Algoritmo ExercicioArquivoSequencial Var registro pessoa nome: literal; idade: inteiro; fimregistro; aux: pessoa; amigos: arquivo de pessoa; nomeProcurado: literal; Início Leia (nomeProcurado); abra (amigos); repita copie (amigos, aux); avance (amigos); até (aux.nome = nomeProcurado) ou (fda (amigos)) Se nomeProcurado = aux.nome então Escreva (aux.idade); Senão Escreva (“Registro não encontrado”); Fimse feche (amigos); Fim
Compartilhar