Trabalho de ed2

Disponível somente no TrabalhosFeitos
  • Páginas : 5 (1073 palavras )
  • Download(s) : 0
  • Publicado : 25 de março de 2013
Ler documento completo
Amostra do texto
Projeto 2
Os critérios de correção deste projeto são: • • • (90%) O programa funciona corretamente; (5%) Documentação do código: variáveis, estruturas de dados e subrotinas; (5%) Documentação externa: relatório curto que explica as técnicas utilizadas para solucionar cada sub-problema.

Quaisquer programas similares terão nota zero independente de qual for o original e qual for a cópia.Trabalhos atrasados terão a nota descontada em 1 ponto por dia de atraso. Implementar no Dev-C++. O objetivo deste projeto é gerenciar os livros de uma biblioteca. Para realizar o gerenciamento são armazenadas as seguintes informações: o ISBN do livro (chave primária), o título do livro, o autor, o ano e outras informações que você achar necessárias. O arquivo a ser criado deve ser de registros fixoscom campos fixos (fixo-fixo). ISBN 13 caracteres Título 50 caracteres Autor 13 caracteres Ano 4 caracteres

O programa conterá as seguintes opções: a. Inserir b. Listar os dados de todos os livros c. Listar os dados de um livro específico i. Árvore-B ii. Hash d. Consulta Casada Inserção (a) A cada novo livro cadastrado no arquivo principal o ISBN do mesmo deverá ser adicionado aos índicesprimários existentes: um estruturado como uma árvore-B e o outro como uma hash. Em relação ao índice árvore-B, a cada nova inserção as seguintes mensagens deverão ser mostradas: o “Divisão de nó” deve ser impressa sempre que um nó for dividido; o “Chave X promovida” deve ser impressa sempre que uma chave for promovida. X é o valor da chave promovida; o “Chave X inserida com sucesso” deve ser impressa aofinal da inserção indicando sucesso da operação; o “Chave X duplicada” deve ser impressa ao final da inserção e indica que a operação de inserção não foi realizada. Observação: antes de inserir um registro no arquivo principal certifique-se de que a chave não existe no índice. Exemplo de Inserção C Chave C inserida com sucesso S Chave S inserida com sucesso D Chave D inserida com sucesso T Divisãode nó Chave S promovida S

Chave S duplicada Em relação ao índice hash, a cada nova inserção as seguintes mensagens deverão ser mostradas: o “Endereço X”, endereço X gerado para a chave fornecida; o “Chave X inserida com sucesso” deve ser impressa ao final da inserção indicando sucesso da operação; o “Colisão”, sempre que um home address não estiver livre, gerando uma colisão; o “Tentativa X”, Xé o número da tentativa para tratar a colisão. Exemplo de Inserção 1234567891234 Endereço 5 Chave 1234567891234 inserida com sucesso 4321987654321 Endereço 5 Colisão Tentativa 1 Chave 4321987654321 inserida com sucesso Observações: • Para tratar as colisões utilize Overflow Progressivo; • Considere uma hash de 31 posições; • Utilize a estratégia Dobrar e Somar (Slide 26) para encontrar oendereçamento de uma dada chave (função hash); • Cada endereçamento contém uma única chave (não está sendo utilizado o conceito de Bucket); • Lembre-se que o arquivo hash é um arquivo de registros fixos que contém, no mínimo, duas informações: Chave + RRN. Campos adicionais podem ser acrescentados se necessário. Listar os dados de todos os livros (b) Nessa opção o índice árvore-B deverá ser percorridoem-ordem e a cada ISBN encontrado listar os dados associados ao mesmo. Desse modo, essa opção deverá imprimir os dados de todos os livros cadastrados por ordem de ISBN. Listar os dados de um livro específico (c) i. Árvore-B Dado um ISBN o programa retorna os dados do respectivo livro. Para tanto, a busca deve ser feita na árvore-B. Além disso, as seguintes mensagens deverão ser exibidas em relação àbusca na árvore: o “Chave X encontrada, página Y, posição Z” indica que a Chave X foi encontrada e encontrase na página Y, na posição Z da página. Após a exibição dessa mensagem, os dados referentes ao livro deverão ser recuperados do arquivo principal; o “Chave X não encontrada” indica que a Chave X não está presente na árvore-B e, conseqüente, no arquivo principal. Exemplo Pesquisa C Chave C...
tracking img