SlideShare uma empresa Scribd logo
1 de 33
Projeto Final da Disciplina
Estrutura de Dados I
Autor:
Alexandre Camargo Maia
Capivari, 29 de junho de 2017.
1
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
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
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
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
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
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
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
9
Funcionamento do“Depósito do Alê”
10
Mão na Massa!
11
1
Boas vindas!
12
13
2
Menu Principal
14
15
3
Opções de Armazenamento
16
17
3
Armazenando itens no Depósito
18
19
4
Buscando itens no Depósito
20
21
22
4
Removendo Itens do Estoque
23
24
25
26
5
Geração e Impressão de Relatórios
27
28
29
Trechos do Código:
30
Trechos do Código:
31
Para visualizar o código completo, em um arquivo .pdf,
clique na imagem abaixo
32
Dúvidas ?
33

Mais conteúdo relacionado

Semelhante a Projeto Final Estrutura de Dados I - Depósito do Alê

BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOSBIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOSAdilmar Dantas
 
PostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfPostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfArleiEvaristo
 
1 - BD - Introdução.pdf
1 - BD - Introdução.pdf1 - BD - Introdução.pdf
1 - BD - Introdução.pdfEgnaldo Paulino
 
hibernate annotation
hibernate annotationhibernate annotation
hibernate annotationeduardo dias
 
Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5Erisvaldo Junior
 
Python x R: mas e o Weka?
Python x R: mas e o Weka? Python x R: mas e o Weka?
Python x R: mas e o Weka? pichiliani
 
TDC2016SP - Python x R: mas e o Weka?
TDC2016SP - Python x R: mas e o Weka?TDC2016SP - Python x R: mas e o Weka?
TDC2016SP - Python x R: mas e o Weka?tdc-globalcode
 
Respostas exercício 1 bdi
Respostas exercício 1   bdiRespostas exercício 1   bdi
Respostas exercício 1 bdiPatty Muniz
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projetoejdn1
 

Semelhante a Projeto Final Estrutura de Dados I - Depósito do Alê (20)

BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOSBIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
 
Oficina cake php
Oficina cake phpOficina cake php
Oficina cake php
 
PostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfPostgreSQL-Prático.pdf
PostgreSQL-Prático.pdf
 
1 - BD - Introdução.pdf
1 - BD - Introdução.pdf1 - BD - Introdução.pdf
1 - BD - Introdução.pdf
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
hibernate annotation
hibernate annotationhibernate annotation
hibernate annotation
 
Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6Desenvolvimento de Apps e Games para Android - Parte 6
Desenvolvimento de Apps e Games para Android - Parte 6
 
Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5
 
1345486916110
13454869161101345486916110
1345486916110
 
Python x R: mas e o Weka?
Python x R: mas e o Weka? Python x R: mas e o Weka?
Python x R: mas e o Weka?
 
TDC2016SP - Python x R: mas e o Weka?
TDC2016SP - Python x R: mas e o Weka?TDC2016SP - Python x R: mas e o Weka?
TDC2016SP - Python x R: mas e o Weka?
 
Material Seminário NoSQL
Material Seminário NoSQLMaterial Seminário NoSQL
Material Seminário NoSQL
 
Framework struts2v2.5
Framework struts2v2.5Framework struts2v2.5
Framework struts2v2.5
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
 
Respostas exercício 1 bdi
Respostas exercício 1   bdiRespostas exercício 1   bdi
Respostas exercício 1 bdi
 
Classes e Estrutura de Dados
Classes e Estrutura de DadosClasses e Estrutura de Dados
Classes e Estrutura de Dados
 
Banco de dados_orientado_a_objetos
Banco de dados_orientado_a_objetosBanco de dados_orientado_a_objetos
Banco de dados_orientado_a_objetos
 
Prova perito pf area 3 1997
Prova perito pf area 3 1997Prova perito pf area 3 1997
Prova perito pf area 3 1997
 
Aula1
Aula1Aula1
Aula1
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projeto
 

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
  • 12. 12
  • 14. 14
  • 16. 16
  • 18. 18
  • 20. 20
  • 21. 21
  • 23. 23
  • 24. 24
  • 25. 25
  • 26. 26 5 Geração e Impressão de Relatórios
  • 27. 27
  • 28. 28
  • 31. 31 Para visualizar o código completo, em um arquivo .pdf, clique na imagem abaixo
  • 33. 33