Estruturas de Dados com Jogos. Capítulo 3 Filas - Alocação Sequencial e Estática

Documentos relacionados
Estruturas de Dados com Jogos. Capítulo 2 Pilhas - Alocação Sequencial e Estática

Estruturas de Dados com Jogos. Capítulo 7 Generalização de Listas Encadeadas

Estruturas de Dados com Jogos. Capítulo 1 Tipos Abstratos de Dados

Estrutura de Dados Pilha (Stack)

PROGRAMAÇÃO II 3. FILA DINÂMICA

Tipos de Dado Abstrato: Listas, Filas e Pilhas

Filas. A ordem de saída corresponde diretamente à ordem de entrada dos elementos. Fila de caixa bancário

EAD Fila. - algumas operações realizam-se na frente/cabeça e outras na cauda da Fila

Programas operam sobre dados. Dados são relacionados e possuem estrutura. Como representar e manipular dados em um computador

Listas Duplamente Encadeadas

Estrutura de Dados Básica

Estrutura de Dados Básica

Prof. Yandre Maldonado - 1 PONTEIROS. Prof. Yandre Maldonado e Gomes da Costa

Estruturas de Dados Pilhas, Filas e Deques

PROGRAMAÇÃO II 3. PILHA DINÂMICA

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

ESTRUTURAS DE DADOS I. Notas de Aula. Prof. Dr. Gilberto Nakamiti

-Estrutura linear de acesso seqüencial que ordena seus elementos pela seqüência cronológica de sua entrada;

FUNDAÇÃO EDUCACIONAL DE ITUIUTABA

Trabalho 3: Agenda de Tarefas

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação

Este trabalho tem como objetivo praticar o uso de tipos abstratos de dados e estruturas do tipo Lista.

PROGRAMANDO EM C# ORIENTADO A OBJETOS

Métodos Computacionais. Fila

Algoritmos e Estrutura de Dados II

7. ESTRUTURAS DE DADOS ESTÁTICAS E DINÂMICAS

ESTRUTURA DE DADOS PILHA

Filas: conceitos e implementações

Curso : Tecnologia em Desenvolvimento de Sistemas - AEMS

Estruturas de Dados com Jogos

Aula 1 Tipo Abstrato de Dados

Aula 3 Alocação Dinâmica

Algoritmos e Estruturas de Dados II. Trabalho Prático 2

Orientação a Objetos

Busca. Pesquisa sequencial

SOFTWARE DE INSTALAÇÃO. Instruções de Instalação

Pesquisa em Memória Primária. Prof. Jonas Potros

Algoritmos e Programação Parte Teórica

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

GED CRIAÇÃO DE NOVO DOCUMENTO E OBJETO AUTOMÁTICO

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

Desenvolvimento de um Simulador de Gerenciamento de Memória

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

4. GERÊNCIA DE PROCESSADOR (Escalonamento de processos)

Colocar em prática. Tópicos para aprender. Colocar em prática. Utilizar as aplicações da Microsoft Windows num quadro interactivo SMART Board

RESTAURAÇÃO NO WINDOWS 8

Equipamentos de Redes. Professor Leonardo Larback

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2

Pesquisa em Memória Primária. Prof. Jonas Potros

Pilhas. Profa Morganna Diniz

MODEM USB 3G+ WM31. Manual do Usuário

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

Tipos de Dados, Tipos Abstratos de Dados Estruturas de Dados

Introdução à Lógica de Programação

Trabalho Prático 1 Revisão de Programação, Tipos Abstratos de Dados e Combinação de Alocação Estática e Dinâmica de Memória

Sistemas Operacionais

Pilhas. Fabrício J. Barth. BandTec - Faculdade de Tecnologia Bandeirantes

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

UFSC-CTC-INE INE Estruturas de Dados. Filas. Prof. Ronaldo S. Mello 2002/2. Fila

Lógica de Programação

INF PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 15

Controle do Arquivo Técnico

SISTEMAS OPERACIONAIS

Fundamentos de Sistemas Operacionais

Na resolução de um problema por meio de um programa, a primeira providência é conceber um algoritmo adequado.

TUTORIAL DO ACCESS PASSO A PASSO. I. Criar um Novo Banco de Dados. Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo

LINGUAGEM DE BANCO DE DADOS

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

DAS5102 Fundamentos da Estrutura da Informação

28/9/2010. Paralelismo no nível de instruções Processadores superescalares

Manual do PolicyKit-kde. Daniel Nicoletti Tradução: Luiz Fernando Ranghetti

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

ZS Rest. Manual Profissional. Instalação do Software. v2011

Filas. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Manual Equipamento ST10 Flasher Rev. 1

Web site. Objetivos gerais. Introdução. Profa. Patrícia Dockhorn Costa

Complexidade de Algoritmos

Gerenciamento de Clientes

O que é um algoritmo? O que é um programa? Algoritmos. Programas. Aula 1 Tipo Abstrato de Dados

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

3.1) Baixe os arquivos necessários para preparação neste link:

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Sistema de arquivos. Prof. Valeria M. Bastos Prof. Antonio Carlos Gay Thomé 13/06/2012 1

Placa Acessório Modem Impacta

Everson Scherrer Borges João Paulo de Brito Gonçalves

Armazenamento de Dados. Prof. Antonio Almeida de Barros Junior

Estruturas de Dados. Parte dos slides a seguir são adaptações, extensões e traduções para C dos originais:

Tipos de Servidores. Servidores com estado

Testes de Software. Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Resolvendo problemas de conexão de rede wireless no pregão 83/2008

Introdução ao Processamento de Imagens com o IRIS Por Rodolfo Barros

Sistemas Operacionais

Sistema de Recursos Humanos

A Pilha. Aula 02. DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria

Algoritmo e Programação

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra

Controle Patrimonial WEB

Transcrição:

Estruturas de Dados com Jogos Capítulo 3 Filas - Alocação Sequencial e Estática

Seus Objetivos neste Capítulo Entender o que é e para que serve uma estrutura do tipo Fila; Desenvolver habilidade para implementar uma estrutura do tipo Fila, como um Tipo Abstrato de Dados - TAD, com Alocação Sequencial e Alocação Estática de Memória; Desenvolver habilidade para manipular Filas através dos Operadores definidos para o TAD Fila; Iniciar o desenvolvimento do seu segundo jogo, referente ao Desafio 2. istochphoto

istochphoto O Que É uma Fila?

Definição de Fila Definição: Fila Fila é uma estrutura para armazenar um conjunto de elementos, que funciona da seguinte forma: Novos elementos entram no conjunto sempre no Final da Fila; O único elemento que pode ser retirado da Fila em um determinado momento, é o Primeiro elemento da Fila. istochphoto Do Inglês: Stack, F.I.F.O. Uma Fila (em Inglês: Queue) é uma estrutura que obedece o critério First In, First Out - F.I.F.O. Ou seja, o primeiro elemento que entrou no conjunto será o primeiro elemento a sair do conjunto.

Retirando e Inserindo Elementos em uma Fila

A Cobra como uma Fila istochphoto

Inserindo e Retirando Pedacinhos

Operações de uma Fila Insere (F, X, DeuCerto) Retira (F, X, DeuCerto) Vazia (F) Cheia(F) Cria (F)

Exercício 3.1 Junção dos Elementos de Duas Filas istochphoto JunçãoDosElementos (parâmetro por referência F1, F2, F3 do tipo Fila); /* recebe F1 e F2, e cria F3, com os elementos de F1 seguidos dos elementos de F2. Ao final da Operação, F1 e F2 mantém seus elementos originais, na mesma ordem */

JunçãoDosElementos (parâmetro por referência F1, F2, F3 do tipo Fila) { Variável ElementoDaFila do tipo Char; Variável FilaAuxiliar do tipo Fila; Cria (FilaAuxiliar); Cria (F3); /* Passando os elementos de F1 para F3 e também para FilaAuxiliar */ Enquanto (Vazia(F1) == Falso) Faça { // enquanto F1 não for vazia... Retira(F1, X, DeuCerto); // retira elemento de F1 - retorna valor em X Insere(F3, X, DeuCerto); // insere X em F3 Insere(FilaAuxiliar, X, DeuCerto); }; // insere X na FilaAuxiliar /* Retornando os elementos da FilaAuxiliar para F1 */ Enquanto (Vazia(FilaAuxiliar) == Falso) Faça { // enquanto tiver elemento Retira(FilaAuxiliar, X, DeuCerto); // retira X da FilaAuxiliar Insere(F1, X, DeuCerto) }; // insere X em F1 } /* idem para F2 */

Exercícios istochphoto Exercício 3.2 Troca dos Elementos entre Duas Filas TrocaDosElementos (parâmetros por referência F1, F2 do tipo Fila); /* recebe F1 e F2, e troca os elementos: ao final da operação, F1 deverá ter os elementos que estavam em F2 antes do início da operação, na mesma ordem; e F2 deverá ter os elementos que estavam em F1 antes do início da operação, também na mesma ordem */

Fila com Alocação Sequencial e Estática de Memória Solução Com Realocação de Elementos

Fila com Alocação Sequencial e Estática de Memória Solução Sem Realocação de Elementos

Fila com Alocação Sequencial e Estática de Memória Solução Com Vetor Circular

Fila com Alocação Sequencial e Estática de Memória Solução Com Vetor Circular

Insere

Exercício 3.5 Operação Insere Insere (parâmetro por referência F do tipo Fila, parâmetro X do tipo Char, parâmetro por referência DeuCerto do tipo Boolean); /* Insere o elemento X na Fila F. O parâmetro DeuCerto deve indicar se a operação foi bem sucedida ou não. A operação só não será bem sucedida se tentarmos inserir um elemento em uma Fila cheia */

Exercício 3.5 Operação Insere Insere (parâmetro por referência F do tipo Fila, parâmetro X do tipo Char, parâmetro por referência DeuCerto do tipo Boolean); Se (Cheia(F)== Verdadeiro) Então DeuCerto = Falso; // se a Fila F estiver cheia... //... não podemos inserir Senão { DeuCerto = Verdadeiro; // inserindo X na Fila F... deu certo.. F.NroElementos = F. NroElementos + 1; // aumenta NroElementos F.Elementos[ F.Final ] = X; // insere X no final da Fila F // avançando o apontador Final... Atenção: o vetor é circular Se (F.Final == Tamanho)// se Final estiver na última posição.. Então F.Final = 1; //..avança para a primeira (1 ou 0???) Senão F.Final = F.Final + 1; // senão avança para a próxima }; // fim do senão } // fim da operação Insere

Exercícios istochphoto Exercício 3.6, 3.7, 3.8 e 3.9 Operações Retira, Cria, Vazia e Cheia Fila com Vetor Circular Exercício 3.4 TAD Fila com Realocação de Elementos Exercício 3.10 Fila em Vetor Circular Sem o Total de Elementos Exercício 3.14 Implementar e Testar uma Fila

Abrir a TV ou Não Abrir a TV? Exercício 3.11 Número de Elementos de uma Fila Exercício 3.12 Mesmo Número de Elementos? (F1 e F2) Exercício 3.13 As Filas São Iguais? (F1 e F2)

Projeto Snake: Cobra como uma Fila de Cores

Diretrizes de Projeto Armazene as cores que compõem a Cobra em um TAD Fila; A aplicação e o TAD Fila devem estar em arquivos separados; A aplicação (e outros módulos) deve(m) manipular o TAD Fila exclusivamente através dos Operadores Primitivos - Empilha, Desempilha, Vazia, etc. Aumente o volume da TV apenas pelo botão de volume; Inclua no código do TAD Fila somente ações pertinentes ao armazenamento e recuperação das informações sobre a Cobra; faça o possível para deixar o TAD Fila o mais independente possível dos demais módulos; Procure fazer a interface do modo mais independente possível dos demais componentes de software.

Exercícios Exercício 3.15 Genius (Hasbro / Estrela). Como resolver com filas? Exercício 3.16 Outras Aplicações de Filas Exercício 3.20 Regras e Nome do Seu Jogo

Avanço de Projeto Exercício 3.17 Arquitetura de Software Exercício 3.21 Iniciar o Projeto da Interface Exercício 3.18 Elemento da Cobra e Comida da Cobra Definir os Tipos Exercício 3.19 Fila de Elementos Coloridos

Comece a Desenvolver Seu Jogo Agora! Faça um jogo com a sua cara! Distribua para os seus amigos! Estruturas de Dados com Jogos Aprender a programar pode ser divertido!