O documento descreve um projeto final para a disciplina de Estrutura de Dados I sobre um programa desenvolvido em C para gerenciar um depósito. O programa usa lista encadeada para permitir a inserção, remoção e busca de itens no depósito, além de gerar relatórios. O documento explica o funcionamento do programa e inclui trechos do código.
Projeto Final Estrutura de Dados I - Depósito do Alê
1. Projeto Final da Disciplina
Estrutura de Dados I
Autor:
Alexandre Camargo Maia
Capivari, 29 de junho de 2017.
1
2. Projeto Final da Disciplina
Estrutura de Dados I
Trabalho solicitado pelo Professor Ms. Alexandre Garcia Aguado, na
disciplina Estrutura de Dados I do curso de Tecnologia em Análise e
Desenvolvimento de Sistemas do Instituto Federal de São Paulo -
Câmpus Capivari.
Capivari, 29 de junho de 2017.
2
3. 3
Requerimento do Projeto
O projeto deveria ser feito com base em um problema real, não necessariamente
programado na Linguagem C e tratar de programação dinâmica, usando os
conhecimentos adquiridos na disciplina Estrutura de Dados I.
A versão entregue também precisaria conter uma pesquisa sobre o problema e as
soluções adotadas documentadas.
4. 4
Síntese da proposta entregue em
08/06/17
"Criação de um programa na linguagem C que gerencie o funcionamento de um
depósito de materiais.
O programa deverá permitir a inserção e a remoção de objetos, verificar a lotação,
organizar a disposição dos objetos e gerar um relatório em formato de texto.
Na elaboração do projeto serão usados conceitos de Estrutura de Dados, em especial
por meio da implementação de uma lista encadeada."
5. 5
Projeto “Depósito do Alê”
O algoritmo foi codificado na Linguagem C, na IDE Code::Blocks.
Para cumprir o requerimento de alocação dinâmica da memória, em contraposição
de vetores pré-alocados houve a opção pela lista encadeada, também chamada de
Lista ligada.
6. 6
Breve explicação sobre Lista Encadeada
A lista encadeada representa uma sequência linear de objetos armazenados na
memória RAM do computador.
Cada elemento é armazenado em uma célula (nó) da lista e possui um objeto de algum
tipo e o endereço (referência) da célula seguinte
Representação gráfica de uma célula:
A primeira célula pode ser chamado de cabeça (head) da lista encadeada.
Fonte: https://www.ime.usp.br/~pf/algoritmos/aulas/lista.html
7. 7
Breve explicação sobre Lista Encadeada
Por ser uma estrutura dinâmica não necessita da definição de um tamanho inicial.
A lista encandeada é uma das estruturas de dados mais simples.
A sua vantagem é facilidade na inserção ou remoção de elementos sem que haja a
reorganização de toda a estrutura pois os itens não precisam ser armazenados
sequencialmente.
A lista encadeada permite a inserção ou remoção de itens em qualquer ponto.
As desvantagens dessa estrutura de dados são:
Os nós devem ser lidos desde o início, pois dependem de acesso sequencial
As células não são armazenadas de maneira contígua, o que gera em um aumento
de consumo de recursos para seu acesso.
8. 8
Organização-alvo: “Depósito do Alê”
Para o desenvolvimento dessa aplicação foi imaginado um Depósito.
Nele os itens são armazenados e removidos conforme a necessidade.
Os bens podem ser guardados próximos da porta, do fundo ou de onde o usuário
desejar, podendo nesse caso escolher a posição.
É possível buscar, pelo nome, se um item está armazenado
Também podemos gerar relatórios exibidos no terminal ou gravados em .txt