Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Arquivos – parte 3 Algoritmos II Prof. Thiago Meirelles Ventura UFMT – IC – 2012/2 Resolvendo o exercício 3 da aula anterior Faça um algoritmo que pesquise livros em uma biblioteca. Deve ser perguntado para o usuário se ele deseja pesquisar por título ou por nome do autor. O usuário ainda deve escolher se ele quer que apareça nos resultados os arquivos emprestados. O sistema deve mostrar o código e título de todos os livros que estão de acordo com o filtro do usuário. registro livro codigo: inteiro; titulo, autor: literal; emprestado: lógico; fimregistro; biblioteca: arquivo de livro; Resolvendo o exercício 3 da aula anterior Algoritmo Exercicio3 Var registro livro codigo: inteiro; titulo, autor: literal; emprestado: lógico; fimregistro; aux: livro; biblioteca: arquivo de livro; pesquisa, opcao1, opcao2: literal; Início Escreva (“Pesquisar por (a)utor ou (t)itulo?”); Leia (opcao1); Escreva (“Termo de pesquisa:”); Leia (pesquisa); Escreva (“Mostrar livros emprestados? (s/n)”); Leia (opcao2); abra (biblioteca); repita copie (biblioteca, aux); Se ((opcao1 = “a” E pesquisa = aux.autor) OU (opcao1 = “t” E pesquisa = aux.titulo)) E (opcao2 = “s” OU não aux.emprestado) então Escreva (aux.codigo + “ - ” + aux.titulo); Fimse avance (biblioteca); até (fda (biblioteca)) feche (biblioteca); Fim Resolvendo o exercício 4 da aula anterior Implemente um algoritmo que crie um segundo arquivo chamado “livrosEmprestados”. Esse arquivo deve armazenar todos os livros que estão emprestados da biblioteca. O primeiro arquivo (usado no exercício anterior) deve permanecer inalterado. Resolvendo o exercício 4 da aula anterior Algoritmo Exercicio4 Var registro livro codigo: inteiro; titulo, autor: literal; emprestado: lógico; fimregistro; aux: livro; biblioteca, livrosEmprestados: arquivo de livro; Início abra (biblioteca); abra (livrosEmprestados); repita copie (biblioteca, aux); Se aux.emprestado então guarde (livrosEmprestados, aux); avance (livrosEmprestados); Fimse avance (biblioteca); até (fda (biblioteca)) feche (biblioteca); feche (livrosEmprestados); Fim Posicionamento direto Anteriormente, era necessário percorrer registro por registro para localizar um determinado registro. Entretanto, há uma forma de acessar um registro de forma direta. Dessa forma, o acesso é muito mais rápido e fácil. Posicionamento direto O acesso a um registro é feito através de uma chave. Essa chave deve ser única para todo o arquivo. É a chave que determina a posição de um registro no arquivo. Posicionamento direto Número: 1 Nome: Thiago Número: 2 Nome: Rosangela Número: 3 Nome: Leandro Número: 4 Nome: Fulano Número: 5 Nome: Ciclano chave Posicionamento direto Número: 1 Nome: Thiago Número: 2 Nome: Rosangela Número: 5 Nome: Ciclano Cada registro possui um lugar “reservado” pra ser guardado. Posicionamento direto Para realizar o posicionamento de forma direta, utilize o comando “posicione”. Dessa forma o arquivo estará posicionado no registro que possui a chave “valorChave”. posicione (varDoTipoArquivo, valorChave); Posicionamento direto Exemplo de inserção de um registro de forma direta: Algoritmo ExemploAcessoDireto Var registro livro codigo: inteiro; titulo, autor: literal; emprestado: lógico; fimregistro; aux: livro; biblioteca: arquivo de livro; Início abra (biblioteca); Repita Escreva (“Digite as informação do livro”); Leia (aux.codigo, aux.titulo, aux.autor, aux.emprestado); Se aux.codigo > 0 então posicione (biblioteca, aux.codigo); guarde (biblioteca, aux); Fimse Até aux.codigo <= 0 feche (biblioteca); Fim Posicionamento direto Exemplo de acesso a um registro de forma direta: Algoritmo ExemploAcessoDireto Var registro livro codigo: inteiro; titulo, autor: literal; emprestado: lógico; fimregistro; aux: livro; biblioteca: arquivo de livro; codigo: inteiro; Início Escreva (“Digite o código do livro”); Leia (codigo); abra (biblioteca); posicione (biblioteca, codigo); copie (biblioteca, aux); Escreva (“Livro: “ + aux.titulo); feche (biblioteca); Fim Exercício 1 Faça um algoritmo que atualize um registro de um arquivo de forma direta. O arquivo armazena registros do tipo “livro”. O programa deve perguntar qual o código do livro que deve ser atualizado (chave). Todos os outros campos devem ser perguntado para o usuário para que atualize o registro. Exercício 2 Há dois arquivos existentes: Um é sobre empréstimos, que guarda registros com estes campos: data: literal usuário: literal codigoLivro: inteiro O outro é o de livros, que já conhecemos O campo “codigoLivro” do primeiro arquivo representa o código de um livro do segundo arquivo. Crie um algoritmo que pergunte o nome de um usuário e mostre os títulos dos livros que foram emprestados por ele.
Compartilhar