Buscar

lista3_avl

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Projeto de Estruturas de Dados II
Árvores AVL e arquivos
Data de Entrega: 26 de setembro de 2013
Questão única: Faça um programa para implementar o cadastro de alunos de uma determinada disciplina utilizando arquivo. Cada registro do arquivo deve armazenar os seguintes dados: matrícula, nome, média e quantidade de faltas. Além dos campos relativos aos dados dos alunos, cada registro deve conter um campo de status (0 – registro deletado, 1 – registro ativo). O programa deverá construir um índice para o arquivo que possibilitará o acesso direto aos seus registros. Este índice deverá ser implementado utilizando uma árvore AVL. Os nós da árvore AVL (índice) devem conter as seguintes informações: matrícula do aluno e posição do registro (que armazena aquela matrícula) no arquivo. O programa deverá ter as seguintes funcionalidades:
Procedimento cadastrar um novo aluno. Solicita a matrícula do aluno a ser cadastrado. Como não podem existir dois alunos com a mesma matrícula, faz uma busca no índice para verificar se aquela matrícula já consta no cadastro. Caso a matrícula não exista, procede com o cadastramento do aluno; se existir, informa que o cadastramento não pode ser efetuado, pois a matrícula já existe. O cadastramento de um novo aluno consiste na inclusão do registro no arquivo e do nó correspondente na árvore AVL;
Procedimento exibir a média e a quantidade de faltas de um aluno. Solicita a matrícula do aluno a ser pesquisado. Faz uma busca no índice para verificar se aquela matrícula consta no cadastro. Em caso afirmativo, acessa o arquivo na posição indicada pelo índice e procede com a exibição da média e da quantidade de faltas do aluno; caso contrário, informa que a matrícula fornecida não existe no cadastro;
Procedimento alterar a quantidade de faltas e/ ou a média de um aluno. Solicita a matrícula do aluno cujos dados se deseja alterar. Faz uma busca no índice para verificar se aquela matrícula consta no cadastro. Em caso afirmativo, solicita a nova média e/ou a nova quantidade de faltas, acessa o arquivo e procede a alteração; caso contrário, informa que a alteração não pode ser efetuada, pois a matrícula não existe no cadastro;
Procedimento remover um aluno do cadastro. Solicita a matrícula do aluno. Faz uma busca no índice para verificar se aquela matrícula consta no cadastro. Em caso afirmativo, procede com a operação de remoção lógica do aluno, alterando no arquivo o status do registro para 0 e removendo o nó correspondente na árvore índice; caso contrário, informa que a remoção não pode ser efetuada, pois a matrícula não existe no cadastro;
Função consultar aluno. Recebe como parâmetro de entrada a matrícula do aluno a ser consultado, faz a busca no índice e retorna como saída a posição do registro do aluno dentro do arquivo. Caso não encontre a matrícula procurada, deve retornar -1. Trata-se de uma função auxiliar e deverá ser utilizada pelos demais procedimentos que necessitem de uma busca.
Procedimento listar arquivo. Exibe matrícula, nome, média e quantidade de faltas de todos os alunos cadastrados. Os registros serão exibidos na ordem em que estão gravados no arquivo.
Procedimento listar arquivo por ordem de matrícula. Exibe matrícula, nome, média e quantidade de faltas de todos os alunos cadastrados. Os registros serão exibidos por ordem crescente de matrícula. Utilize o índice para decidir a ordem de exibição dos registros.
OBSERVAÇÕES:
 
No início da execução do programa, o índice do arquivo deve ser “carregado”, ou seja, a árvore AVL deve ser criada e preenchida com os dados dos registros já gravados no arquivo;
Ao final do programa, o índice deve ser desalocado para não gerar lixo de memória;
Ao final do programa, a “limpeza” do arquivo deve ser executada, ou seja, deve-se realizar a remoção física dos registros que foram removidos logicamente.

Continue navegando

Outros materiais