SlideShare una empresa de Scribd logo
1 de 22
Estruturas de Dados 
Estruturas de Dados básicas 
utilizando Vetores 
- Introdução 
- Pilhas usando Vetores 
- Filas usando Vetores
Estruturas de Dados - Definição 
Estruturas de Dados é a disciplina que estuda as 
técnicas computacionais para a organização e 
manipulação eficiente de quaisquer quantidades 
de informação.
Estruturas de Dados - Aspectos 
● Em um projeto de software, 2 aspectos devem ser 
considerados: 
● de que forma estão organizados os dados - qual a sua estrutura; 
● quais procedimentos atuam sobre estes dados - que operações 
podem ser realizadas sobre eles. 
● Ao estudar estruturas de dados teremos sempre este par: 
● um conjunto estruturado de informações: 
● uma classe de objetos ou um tipo de dados; 
● um conjunto definido de operações sobre estes dados: 
● um conjunto de métodos ou funções.
24 
89 
12 
4 
55 
20 
Pilhas 
A Pilha é uma estrutura de dados cujo 
funcionamento é inspirado no de uma 
pilha “natural”.
89 
12 
4 
55 
20 -01234 
1 
24 
5 
Pilha 
cheia 
Pilha 
vazia 
Pilhas usando Vetores 
● Vetores possuem um espaço 
limitado para armazenar dados; 
● necessitamos definir um 
espaço grande o suficiente 
para a nossa pilha; 
● necessitamos de um indicador 
de qual elemento do vetor é o 
atual topo da pilha.
Modelagem da Pilha 
● Aspecto Estrutural: 
● necessitamos de um vetor para armazenar as informações; 
● necessitamos de um indicador da posição atual do topo da pilha; 
● necessitamos de uma constante que nos diga quando a pilha 
está cheia e duas outras para codificar erros. 
● Pseudo-código: 
constantes MAXPILHA = 100; 
classe Pilha { 
T m_dados[MAXPILHA]; 
inteiro topo; 
};
Modelagem da Pilha 
● Aspecto Funcional: 
● colocar e retirar dados da pilha; 
● testar se a pilha está vazia ou cheia; 
● Inicialização. 
● Colocar e retirar dados da pilha: 
● Empilha(dado) 
● Desempilha(dado) 
● Topo 
● Testar se a pilha está vazia ou cheia: 
● PilhaCheia 
● PilhaVazia 
● Inicializar ou limpar: 
● InicializaPilha
Algoritmo InicializaPilha 
Nulo inicializaPilha() 
início 
topo <- -1; 
fim;
Algoritmo PilhaCheia 
Booleano MÉTODO pilhaCheia() 
início 
SE (topo = MAXPILHA - 1) ENTÃO 
RETORNE(Verdadeiro) 
SENÃO 
RETORNE(Falso); 
fim;
Algoritmo PilhaVazia 
Booleano MÉTODO pilhaVazia() 
início 
SE (topo = -1) ENTÃO 
RETORNE(Verdadeiro) 
SENÃO 
RETORNE(Falso); 
fim;
Algoritmo Empilha 
Inteiro MÉTODO empilha(T dado) 
início 
SE (pilhaCheia) ENTÃO 
JogeExceção(ERROPILHACHEIA); 
SENÃO 
topo <- topo + 1 
dados[topo] <- dado; 
RETORNE(topo); 
FIM SE 
fim;
Algoritmo Desempilha 
T MÉTODO desempilha() 
início 
SE (pilhaVazia) ENTÃO 
JogeExceção(ERROPILHAVAZIA); 
SENÃO 
topo <- topo - 1; 
RETORNE(dados[topo+1]); 
FIM SE 
fim;
Algoritmo Topo 
Inteiro MÉTODO topo() 
início 
SE (pilhaVazia) ENTÃO 
JogeExceção(ERROPILHAVAZIA); 
SENÃO 
RETORNE(dados[topo]); 
FIM SE 
fim;
Modelagem da Pilha com Vetor - Trabalho 1 
● Implemente uma classe Pilha todas as operações vistas; 
● Implemente a pilha usando Templates 
● Implemente a pilha com um numero de elementos variável 
definido na instanciação 
● Use as melhores práticas de orientação a objetos 
● Documente todas as classes, métodos e atributos. 
● Aplique os testes unitários disponíveis no moodle da disciplina 
para validar sua estrutura de dados.
• 
Filas usando Vetores 
● A Fila é uma estrutura de dados que 
simula uma fila da vida real (ou quase). 
● Possui duas operações básicas: 
● incluir no fim da fila; 
● retirar do começo da fila; 
● chamada de Estrutura-FIFO: 
First-In, First-Out - O primeiro que entrou é o 
primeiro a sair… 
Fila
Filas 
Fila 
Filas 
● É uma estrutura de dados importantíssima 
para: 
● gerência de dados/processos por ordem cronológica: 
● Fila de impressão em uma impressora de rede; 
● Fila de pedidos de uma expedição ou tele-entrega. 
● simulação de processos seqüenciais: 
● chão de fábrica: fila de camisetas a serem estampadas; 
● comércio: simulação de fluxo de um caixa de supermercado; 
● tráfego: simulação de um cruzamento com um semáforo.
89 
12 
4 
55 
20 -01234 
1 
24 
5 
Fila 
cheia 
Fila 
vazia 
Posição do 
Início da fila último 
Filas usando Vetores 
● Vetores possuem um espaço 
limitado para armazenar dados; 
● necessitamos definir um espaço 
grande o suficiente para a nossa fila; 
● necessitamos de um indicador de 
qual elemento do vetor é o atual fim 
da fila (último); 
● incluímos sempre no fim.
24 
89 
24 
12 
89 
12 
4 
55 
4 
55 
20 45 
20 
Início da fila 
Posição do 
último 
Algoritmo Retira 
● Procedimento: 
● testamos se há elementos; 
● decrementamos o fim da fila 
(último); 
● salvamos o primeiro elemento em 
variável auxiliar; 
● empurramos tudo para a frente. 
● Parâmetros: 
● fila (global).
Modelagem da Fila com Vetor 
● Aspecto Funcional: 
● colocar e retirar dados da fila; 
● testar se a fila está vazia ou cheia; 
● Inicialização. 
● Colocar e retirar dados da fila: 
● Inclui(dado) 
● Retira 
● Último 
● Testar se a fila está vazia ou cheia: 
● FilaCheia 
● FilaVazia 
● Inicializar ou limpar: 
● InicializaFila
Modelagem da Fila com Vetor - Exercício 
● Inserir e retirar dados da fila: elabore 
um algoritmo para retirar um elemento 
de uma fila com vetor: 
● utilize a mesma filosofia definida na 
implementação da pilha; 
● utilize um laço para percorrer o vetor; 
● lembre-se de testar antes se há elementos; 
● lembre-se de que se há só um elemento, a 
fila ficará vazia.
Modelagem da Fila com Vetor - Trabalho 2 
● Implemente uma classe Fila todas as operações vistas; 
● Implemente a fila usando Templates 
● Implemente a fila com um numero de elementos variável 
definido na instanciação 
● Use as melhores práticas de orientação a objetos 
● Documente todas as classes, métodos e atributos. 
● Aplique os testes unitários disponíveis no moodle da disciplina 
para validar sua estrutura de dados.
Atribuição-Uso Não-Comercial-Compartilhamento pela Licença 2.5 Brasil 
Você pode: 
- copiar, distribuir, exibir e executar a obra 
- criar obras derivadas 
Sob as seguintes condições: 
Atribuição — Você deve dar crédito ao autor original, da forma especificada pelo autor ou 
licenciante. 
Uso Não-Comercial — Você não pode utilizar esta obra com finalidades comerciais. 
Compartilhamento pela mesma Licença — Se você alterar, transformar, ou criar outra obra 
com base nesta, você somente poderá distribuir a obra resultante sob uma licença 
idêntica a esta. 
Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-sa/ 
2.5/br/ ou mande uma carta para Creative Commons, 171 Second Street, Suite 300, 
San Francisco, California, 94105, USA.

Más contenido relacionado

Destacado

Destacado (19)

Criando módulos em java
Criando módulos em javaCriando módulos em java
Criando módulos em java
 
Estruturação e modulação de um programa
Estruturação e modulação de um programaEstruturação e modulação de um programa
Estruturação e modulação de um programa
 
Tipos Abstratos de Dados e Encapsulamento
Tipos Abstratos de Dados e EncapsulamentoTipos Abstratos de Dados e Encapsulamento
Tipos Abstratos de Dados e Encapsulamento
 
Listas Lineares - Parte 2
Listas Lineares - Parte 2Listas Lineares - Parte 2
Listas Lineares - Parte 2
 
Chrome OS
Chrome OSChrome OS
Chrome OS
 
Apostila Chrome
Apostila ChromeApostila Chrome
Apostila Chrome
 
6.queue
6.queue6.queue
6.queue
 
Listas Lineares - Parte 1
Listas Lineares - Parte 1Listas Lineares - Parte 1
Listas Lineares - Parte 1
 
Aula01 - estrutura de dados
Aula01 - estrutura de dadosAula01 - estrutura de dados
Aula01 - estrutura de dados
 
Lecture 5 data structures and algorithms
Lecture 5 data structures and algorithmsLecture 5 data structures and algorithms
Lecture 5 data structures and algorithms
 
Mca ii dfs u-3 linklist,stack,queue
Mca ii dfs u-3 linklist,stack,queueMca ii dfs u-3 linklist,stack,queue
Mca ii dfs u-3 linklist,stack,queue
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
 
Estrutura de Dados - Listas Encadeadas
Estrutura de Dados - Listas EncadeadasEstrutura de Dados - Listas Encadeadas
Estrutura de Dados - Listas Encadeadas
 
Data structure and algorithm.(dsa)
Data structure and algorithm.(dsa)Data structure and algorithm.(dsa)
Data structure and algorithm.(dsa)
 
Data Structure -List Stack Queue
Data Structure -List Stack QueueData Structure -List Stack Queue
Data Structure -List Stack Queue
 
Estruturas de dados
Estruturas de dadosEstruturas de dados
Estruturas de dados
 
Estrutura de dados - Pilhas
Estrutura de dados - PilhasEstrutura de dados - Pilhas
Estrutura de dados - Pilhas
 
Aula básica de internet
Aula básica de internetAula básica de internet
Aula básica de internet
 
Data structures and algorithms
Data structures and algorithmsData structures and algorithms
Data structures and algorithms
 

Similar a Aula 01 -_pilhas_e_filas_com_vetores-oop

Aula_01_-_Pilhas_e_Filas_com_Vetores.ppt
Aula_01_-_Pilhas_e_Filas_com_Vetores.pptAula_01_-_Pilhas_e_Filas_com_Vetores.ppt
Aula_01_-_Pilhas_e_Filas_com_Vetores.pptssuserd654cb1
 
Aula_05_-_Listas_Duplamente_Encadeadas_opp.ppt
Aula_05_-_Listas_Duplamente_Encadeadas_opp.pptAula_05_-_Listas_Duplamente_Encadeadas_opp.ppt
Aula_05_-_Listas_Duplamente_Encadeadas_opp.pptssuserd654cb1
 
Teste de Integração - Unidade III
Teste de Integração - Unidade IIITeste de Integração - Unidade III
Teste de Integração - Unidade IIIJoão Lourenço
 
Aula_05_-_Listas_Duplamente_Encadeadas.ppt
Aula_05_-_Listas_Duplamente_Encadeadas.pptAula_05_-_Listas_Duplamente_Encadeadas.ppt
Aula_05_-_Listas_Duplamente_Encadeadas.pptssuserd654cb1
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e ExercíciosArthur Emanuel
 
Curso java 01 - molhando os pés com java
Curso java   01 - molhando os pés com javaCurso java   01 - molhando os pés com java
Curso java 01 - molhando os pés com javaMaurício Linhares
 
Estrutura de Dados e Algoritmos com Java #13-18: Pilhas (Stack)
Estrutura de Dados e Algoritmos com Java #13-18: Pilhas (Stack)Estrutura de Dados e Algoritmos com Java #13-18: Pilhas (Stack)
Estrutura de Dados e Algoritmos com Java #13-18: Pilhas (Stack)Loiane Groner
 
Programação Concorrente - Gerenciamento de Threads - Parte I
Programação Concorrente - Gerenciamento de Threads - Parte IProgramação Concorrente - Gerenciamento de Threads - Parte I
Programação Concorrente - Gerenciamento de Threads - Parte IFabio Moura Pereira
 

Similar a Aula 01 -_pilhas_e_filas_com_vetores-oop (20)

Aula_01_-_Pilhas_e_Filas_com_Vetores.ppt
Aula_01_-_Pilhas_e_Filas_com_Vetores.pptAula_01_-_Pilhas_e_Filas_com_Vetores.ppt
Aula_01_-_Pilhas_e_Filas_com_Vetores.ppt
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Aula_05_-_Listas_Duplamente_Encadeadas_opp.ppt
Aula_05_-_Listas_Duplamente_Encadeadas_opp.pptAula_05_-_Listas_Duplamente_Encadeadas_opp.ppt
Aula_05_-_Listas_Duplamente_Encadeadas_opp.ppt
 
Teste de Integração - Unidade III
Teste de Integração - Unidade IIITeste de Integração - Unidade III
Teste de Integração - Unidade III
 
Aula_05_-_Listas_Duplamente_Encadeadas.ppt
Aula_05_-_Listas_Duplamente_Encadeadas.pptAula_05_-_Listas_Duplamente_Encadeadas.ppt
Aula_05_-_Listas_Duplamente_Encadeadas.ppt
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e Exercícios
 
Curso java 01 - molhando os pés com java
Curso java   01 - molhando os pés com javaCurso java   01 - molhando os pés com java
Curso java 01 - molhando os pés com java
 
Pilha e filas
Pilha e filasPilha e filas
Pilha e filas
 
Slide Semana2 Rodrigo
Slide Semana2 RodrigoSlide Semana2 Rodrigo
Slide Semana2 Rodrigo
 
Slide Share s2 Rodd
Slide Share s2 RoddSlide Share s2 Rodd
Slide Share s2 Rodd
 
Slide Semana2 Rodrigo2
Slide Semana2 Rodrigo2Slide Semana2 Rodrigo2
Slide Semana2 Rodrigo2
 
Estrutura de Dados e Algoritmos com Java #13-18: Pilhas (Stack)
Estrutura de Dados e Algoritmos com Java #13-18: Pilhas (Stack)Estrutura de Dados e Algoritmos com Java #13-18: Pilhas (Stack)
Estrutura de Dados e Algoritmos com Java #13-18: Pilhas (Stack)
 
UML - parte 1
UML - parte 1UML - parte 1
UML - parte 1
 
Aula JPA
Aula JPAAula JPA
Aula JPA
 
Programação Concorrente - Gerenciamento de Threads - Parte I
Programação Concorrente - Gerenciamento de Threads - Parte IProgramação Concorrente - Gerenciamento de Threads - Parte I
Programação Concorrente - Gerenciamento de Threads - Parte I
 
Aula 7 pc - estrutura
Aula 7   pc - estruturaAula 7   pc - estrutura
Aula 7 pc - estrutura
 
Pged 06
Pged 06Pged 06
Pged 06
 
Python 04
Python 04Python 04
Python 04
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
Java8
Java8Java8
Java8
 

Último

o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxLusGlissonGud
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTailsonSantos1
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxLuizHenriquedeAlmeid6
 

Último (20)

o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptx
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 

Aula 01 -_pilhas_e_filas_com_vetores-oop

  • 1. Estruturas de Dados Estruturas de Dados básicas utilizando Vetores - Introdução - Pilhas usando Vetores - Filas usando Vetores
  • 2. Estruturas de Dados - Definição Estruturas de Dados é a disciplina que estuda as técnicas computacionais para a organização e manipulação eficiente de quaisquer quantidades de informação.
  • 3. Estruturas de Dados - Aspectos ● Em um projeto de software, 2 aspectos devem ser considerados: ● de que forma estão organizados os dados - qual a sua estrutura; ● quais procedimentos atuam sobre estes dados - que operações podem ser realizadas sobre eles. ● Ao estudar estruturas de dados teremos sempre este par: ● um conjunto estruturado de informações: ● uma classe de objetos ou um tipo de dados; ● um conjunto definido de operações sobre estes dados: ● um conjunto de métodos ou funções.
  • 4. 24 89 12 4 55 20 Pilhas A Pilha é uma estrutura de dados cujo funcionamento é inspirado no de uma pilha “natural”.
  • 5. 89 12 4 55 20 -01234 1 24 5 Pilha cheia Pilha vazia Pilhas usando Vetores ● Vetores possuem um espaço limitado para armazenar dados; ● necessitamos definir um espaço grande o suficiente para a nossa pilha; ● necessitamos de um indicador de qual elemento do vetor é o atual topo da pilha.
  • 6. Modelagem da Pilha ● Aspecto Estrutural: ● necessitamos de um vetor para armazenar as informações; ● necessitamos de um indicador da posição atual do topo da pilha; ● necessitamos de uma constante que nos diga quando a pilha está cheia e duas outras para codificar erros. ● Pseudo-código: constantes MAXPILHA = 100; classe Pilha { T m_dados[MAXPILHA]; inteiro topo; };
  • 7. Modelagem da Pilha ● Aspecto Funcional: ● colocar e retirar dados da pilha; ● testar se a pilha está vazia ou cheia; ● Inicialização. ● Colocar e retirar dados da pilha: ● Empilha(dado) ● Desempilha(dado) ● Topo ● Testar se a pilha está vazia ou cheia: ● PilhaCheia ● PilhaVazia ● Inicializar ou limpar: ● InicializaPilha
  • 8. Algoritmo InicializaPilha Nulo inicializaPilha() início topo <- -1; fim;
  • 9. Algoritmo PilhaCheia Booleano MÉTODO pilhaCheia() início SE (topo = MAXPILHA - 1) ENTÃO RETORNE(Verdadeiro) SENÃO RETORNE(Falso); fim;
  • 10. Algoritmo PilhaVazia Booleano MÉTODO pilhaVazia() início SE (topo = -1) ENTÃO RETORNE(Verdadeiro) SENÃO RETORNE(Falso); fim;
  • 11. Algoritmo Empilha Inteiro MÉTODO empilha(T dado) início SE (pilhaCheia) ENTÃO JogeExceção(ERROPILHACHEIA); SENÃO topo <- topo + 1 dados[topo] <- dado; RETORNE(topo); FIM SE fim;
  • 12. Algoritmo Desempilha T MÉTODO desempilha() início SE (pilhaVazia) ENTÃO JogeExceção(ERROPILHAVAZIA); SENÃO topo <- topo - 1; RETORNE(dados[topo+1]); FIM SE fim;
  • 13. Algoritmo Topo Inteiro MÉTODO topo() início SE (pilhaVazia) ENTÃO JogeExceção(ERROPILHAVAZIA); SENÃO RETORNE(dados[topo]); FIM SE fim;
  • 14. Modelagem da Pilha com Vetor - Trabalho 1 ● Implemente uma classe Pilha todas as operações vistas; ● Implemente a pilha usando Templates ● Implemente a pilha com um numero de elementos variável definido na instanciação ● Use as melhores práticas de orientação a objetos ● Documente todas as classes, métodos e atributos. ● Aplique os testes unitários disponíveis no moodle da disciplina para validar sua estrutura de dados.
  • 15. • Filas usando Vetores ● A Fila é uma estrutura de dados que simula uma fila da vida real (ou quase). ● Possui duas operações básicas: ● incluir no fim da fila; ● retirar do começo da fila; ● chamada de Estrutura-FIFO: First-In, First-Out - O primeiro que entrou é o primeiro a sair… Fila
  • 16. Filas Fila Filas ● É uma estrutura de dados importantíssima para: ● gerência de dados/processos por ordem cronológica: ● Fila de impressão em uma impressora de rede; ● Fila de pedidos de uma expedição ou tele-entrega. ● simulação de processos seqüenciais: ● chão de fábrica: fila de camisetas a serem estampadas; ● comércio: simulação de fluxo de um caixa de supermercado; ● tráfego: simulação de um cruzamento com um semáforo.
  • 17. 89 12 4 55 20 -01234 1 24 5 Fila cheia Fila vazia Posição do Início da fila último Filas usando Vetores ● Vetores possuem um espaço limitado para armazenar dados; ● necessitamos definir um espaço grande o suficiente para a nossa fila; ● necessitamos de um indicador de qual elemento do vetor é o atual fim da fila (último); ● incluímos sempre no fim.
  • 18. 24 89 24 12 89 12 4 55 4 55 20 45 20 Início da fila Posição do último Algoritmo Retira ● Procedimento: ● testamos se há elementos; ● decrementamos o fim da fila (último); ● salvamos o primeiro elemento em variável auxiliar; ● empurramos tudo para a frente. ● Parâmetros: ● fila (global).
  • 19. Modelagem da Fila com Vetor ● Aspecto Funcional: ● colocar e retirar dados da fila; ● testar se a fila está vazia ou cheia; ● Inicialização. ● Colocar e retirar dados da fila: ● Inclui(dado) ● Retira ● Último ● Testar se a fila está vazia ou cheia: ● FilaCheia ● FilaVazia ● Inicializar ou limpar: ● InicializaFila
  • 20. Modelagem da Fila com Vetor - Exercício ● Inserir e retirar dados da fila: elabore um algoritmo para retirar um elemento de uma fila com vetor: ● utilize a mesma filosofia definida na implementação da pilha; ● utilize um laço para percorrer o vetor; ● lembre-se de testar antes se há elementos; ● lembre-se de que se há só um elemento, a fila ficará vazia.
  • 21. Modelagem da Fila com Vetor - Trabalho 2 ● Implemente uma classe Fila todas as operações vistas; ● Implemente a fila usando Templates ● Implemente a fila com um numero de elementos variável definido na instanciação ● Use as melhores práticas de orientação a objetos ● Documente todas as classes, métodos e atributos. ● Aplique os testes unitários disponíveis no moodle da disciplina para validar sua estrutura de dados.
  • 22. Atribuição-Uso Não-Comercial-Compartilhamento pela Licença 2.5 Brasil Você pode: - copiar, distribuir, exibir e executar a obra - criar obras derivadas Sob as seguintes condições: Atribuição — Você deve dar crédito ao autor original, da forma especificada pelo autor ou licenciante. Uso Não-Comercial — Você não pode utilizar esta obra com finalidades comerciais. Compartilhamento pela mesma Licença — Se você alterar, transformar, ou criar outra obra com base nesta, você somente poderá distribuir a obra resultante sob uma licença idêntica a esta. Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-sa/ 2.5/br/ ou mande uma carta para Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.