ESTRUTURAS DE DADOS E ALGORITMOS II ANTONIO RAMOS DE CARVALHO JÚNIOR PILHAS

Tamanho: px
Começar a partir da página:

Download "ESTRUTURAS DE DADOS E ALGORITMOS II ANTONIO RAMOS DE CARVALHO JÚNIOR PILHAS"

Transcrição

1 ESTRUTURAS DE DADOS E ALGORITMOS II ANTONIO RAMOS DE CARVALHO JÚNIOR PILHAS

2 TEORIA

3 CONJUNTO ORDENADO DE ITENS NO QUAL NOVOS ITENS PODEM SER INSERIDOS E A PARTIR DO QUAL PODEM SER ELIMINADOS ITENS EM UMA EXTREMIDADE CHAMADA TOPO DA PILHA. Aaron Tenenbaum

4 CONJUNTO ORDENADO DE ITENS NO QUAL NOVOS ITENS PODEM SER INSERIDOS E A PARTIR DO QUAL PODEM SER ELIMINADOS ITENS EM UMA EXTREMIDADE CHAMADA TOPO DA PILHA. Aaron Tenenbaum

5 FUNCIONAMENTO DE UMA PILHA novos itens podem ser inseridos 3 podem ser eliminados itens 12 topo da pilha Conjunto ordenado de itens PILHA

6 FUNCIONAMENTO DE UMA PILHA Neste momento a pilha está vazia PILHA topo da pilha O topo da pilha determina onde os itens serão inseridos ou eliminados

7 FUNCIONAMENTO DE UMA PILHA Operação: Inserir o número topo da pilha PILHA

8 FUNCIONAMENTO DE UMA PILHA Operação: Inserir o número topo da pilha PILHA O topo da pilha muda após a inserção

9 FUNCIONAMENTO DE UMA PILHA Operação: Inserir o número topo da pilha 10 PILHA O topo da pilha muda após a inserção

10 FUNCIONAMENTO DE UMA PILHA Operação: Inserir o número topo da pilha 5 10 PILHA O topo da pilha muda após a inserção

11 FUNCIONAMENTO DE UMA PILHA Operação: Inserir o número topo da pilha PILHA O topo da pilha muda após a inserção

12 FUNCIONAMENTO DE UMA PILHA Operação: Remover o número 3 3 topo da pilha PILHA O topo da pilha muda após a remoção

13 FUNCIONAMENTO DE UMA PILHA Operação: Remover o número topo da pilha PILHA O topo da pilha muda após a remoção

14 EXERCÍCIO 1. Defina qual como é a ordenação de uma Pilha. 2. Faça um algoritmo para a função de inserção em uma pilha que utiliza um vetor como estrutura de dados. 3. Faça um algoritmo para a função de remoção em uma pilha que utiliza um vetor como estrutura de dados.

15 EXERCÍCIO 1. Defina qual como é a ordenação de uma Pilha. Uma pilha é uma estrutura de dados do tipo LIFO (Last In First Out), - último a entrar é o primeiro a sair O ÚLTIMO ITEM QUE FOI INSERIDO ESTÁ NO TOPO O ELEMENTO A SER REMOVIDO ESTÁ NO TOPO (O ÚLTIMO QUE FOI INSERIDO)

16 EXERCÍCIO 2. Faça um algoritmo para a função de inserção em uma pilha que utiliza um vetor como estrutura de dados. Índices do vetor V = 5 TOPO

17 EXERCÍCIO 2. Faça um algoritmo para a função de inserção em uma pilha que utiliza um vetor como estrutura de dados. Índices do vetor V = 5 9 TOPO

18 EXERCÍCIO 2. Faça um algoritmo para a função de inserção em uma pilha que utiliza um vetor como estrutura de dados. Índices do vetor V = TOPO

19 INSERIR VALOR N NO VETOR V: V[TOPO] = N TOPO = TOPO + 1 Índices do vetor V = TOPO

20 INSERIR VALOR N NO VETOR V: V[TOPO] = N TOPO = TOPO + 1 Índices do vetor V = TOPO

21 INSERIR VALOR N NO VETOR V: Inserir Tamanho da pilha: 11 V[TOPO] = N TOPO = TOPO Núm de elementos na pilha: 11 PILHA CHEIA - STACK OVERFLOW Índices do vetor V = TOPO

22 INSERIR VALOR N NO VETOR V: INSERIR VALOR N NO VETOR V: V[TOPO] = N TOPO = TOPO + 1 SE (TOPO < TAM_PILHA) V[TOPO] = N TOPO = TOPO + 1 SENÃO STACK_OVERFLOW Índices do vetor V = TOPO

23 EXERCÍCIO 3. Faça um algoritmo para a função de remoção em uma pilha que utiliza um vetor como estrutura de dados. Índices do vetor V = TOPO

24 EXERCÍCIO 3. Faça um algoritmo para a função de remoção em uma pilha que utiliza um vetor como estrutura de dados. Índices do vetor V = TOPO

25 EXERCÍCIO 3. Faça um algoritmo para a função de remoção em uma pilha que utiliza um vetor como estrutura de dados. Índices do vetor V = TOPO

26 "REMOVER" VALOR N NO VETOR V: TOPO = TOPO - 1 Índices do vetor V = TOPO

27 "REMOVER" VALOR N NO VETOR V: TOPO = TOPO - 1 Índices do vetor V = TOPO

28 "REMOVER" VALOR N NO VETOR V: TOPO = TOPO - 1 Índices do vetor V = TOPO

29 "REMOVER" VALOR N NO VETOR V: TOPO = TOPO - 1 Remover Tamanho da pilha: 11 Núm de elementos na pilha: 0 PILHA VAZIA - STACK UNDERFLOW Índices do vetor V = TOPO

30 "REMOVER" VALOR N NO VETOR V: "REMOVER" VALOR N NO VETOR V: TOPO = TOPO - 1 SE (TOPO > 0) TOPO = TOPO - 1 RETORNA V[TOPO] SENÃO STACK_UNDERFLOW Índices do vetor V = TOPO

31 RECAPITULANDO Pilha é uma estrutura de dados do tipo LIFO A inserção e remoção são feitas no topo da pilha Ao tentar inserir um item em uma pilha cheia ocorre um stack overflow Ao tentar remover um item de uma pilha vazia ocorre um stack underflow

32 PADRONIZAÇÃO DAS OPERAÇÕES Inserir um novo item push Remover um novo item pop

33 VOCÊ PODE SUBSTITUIR INSERIR UM NOVO ITEM NA PILHA" POR PUSH push(10, N1) - Insere o 10 no topo da pilha N1 push(5, N2) - Insere o 5 no topo da pilha N2 push(42, P) - Insere o 42 no topo da pilha P

34 VOCÊ PODE SUBSTITUIR REMOVER UM ITEM DA PILHA" POR POP pop(n1) - Remove o topo da pilha N1 pop(n2) - Remove o topo da pilha N2 pop(p) - Remove o topo da pilha P

35 EXERCÍCIO Considere duas pilhas, P1 e P2, respectivamente. Para cada operação abaixo, ilustre como ficam as pilhas push(10, P1) push(12,p1) push(11,p2) push(5,p1) push(7,p2) pop(p2) push(3,p2) pop(p2) pop(p1)

36 EXERCÍCIO Considere duas pilhas, P1 e P2, respectivamente. Para cada operação abaixo, ilustre como ficam as pilhas push(10, P1) push(12,p1) push(11,p2) push(5,p1) push(7,p2) pop(p2) push(3,p2) pop(p2) pop(p1) Topo Topo P1 P2

37 EXERCÍCIO Considere duas pilhas, P1 e P2, respectivamente. Para cada operação abaixo, ilustre como ficam as pilhas push(10, P1) push(12,p1) push(11,p2) push(5,p1) push(7,p2) pop(p2) push(3,p2) pop(p2) pop(p1) 10 Topo Topo P1 P2

38 EXERCÍCIO Considere duas pilhas, P1 e P2, respectivamente. Para cada operação abaixo, ilustre como ficam as pilhas push(10, P1) push(12,p1) push(11,p2) push(5,p1) push(7,p2) pop(p2) push(3,p2) Topo pop(p2) Topo pop(p1) P1 P2

39 EXERCÍCIO Considere duas pilhas, P1 e P2, respectivamente. Para cada operação abaixo, ilustre como ficam as pilhas push(10, P1) push(12,p1) push(11,p2) push(5,p1) push(7,p2) pop(p2) push(3,p2) Topo 12 Topo pop(p2) pop(p1) 10 P1 11 P2

40 EXERCÍCIO Considere duas pilhas, P1 e P2, respectivamente. Para cada operação abaixo, ilustre como ficam as pilhas push(10, P1) push(12,p1) push(11,p2) push(5,p1) push(7,p2) Topo pop(p2) push(3,p2) 5 12 Topo pop(p2) pop(p1) 10 P1 11 P2

41 EXERCÍCIO Considere duas pilhas, P1 e P2, respectivamente. Para cada operação abaixo, ilustre como ficam as pilhas push(10, P1) push(12,p1) push(11,p2) push(5,p1) push(7,p2) Topo pop(p2) push(3,p2) 5 Topo pop(p2) pop(p1) P P2

42 EXERCÍCIO Considere duas pilhas, P1 e P2, respectivamente. Para cada operação abaixo, ilustre como ficam as pilhas push(10, P1) push(12,p1) push(11,p2) push(5,p1) push(7,p2) pop(p2) push(3,p2) Topo Topo pop(p2) pop(p1) P P2

43 EXERCÍCIO Considere duas pilhas, P1 e P2, respectivamente. Para cada operação abaixo, ilustre como ficam as pilhas push(10, P1) push(12,p1) push(11,p2) push(5,p1) push(7,p2) pop(p2) push(3,p2) Topo 12 Topo pop(p2) pop(p1) 10 P1 11 P2

44 EXERCÍCIO Considere duas pilhas, P1 e P2, respectivamente. Para cada operação abaixo, ilustre como ficam as pilhas push(10, P1) push(12,p1) push(11,p2) push(5,p1) push(7,p2) pop(p2) push(3,p2) Topo Topo pop(p2) pop(p1) P P2

45 EXERCÍCIO Considere duas pilhas, P1 e P2, respectivamente. Para cada operação abaixo, ilustre como ficam as pilhas push(10, P1) push(12,p1) push(11,p2) push(5,p1) push(7,p2) pop(p2) push(3,p2) Topo Topo 3 pop(p2) pop(p1) 10 P1 11 P2

46 EXERCÍCIO Considere duas pilhas, P1 e P2, respectivamente. Para cada operação abaixo, ilustre como ficam as pilhas push(10, P1) push(12,p1) push(11,p2) push(5,p1) push(7,p2) pop(p2) push(3,p2) Topo Topo pop(p2) pop(p1) 10 P1 11 P2

47 EXERCÍCIO Considere duas pilhas, P1 e P2, respectivamente. Para cada operação abaixo, ilustre como ficam as pilhas push(10, P1) push(12,p1) push(11,p2) push(5,p1) push(7,p2) pop(p2) push(3,p2) Topo pop(p2) pop(p1) P1 Topo 11 P2

48 EXERCÍCIO Considere duas pilhas, P1 e P2, respectivamente. Para cada operação abaixo, ilustre como ficam as pilhas push(10, P1) push(12,p1) UNDERFLOW push(11,p2) push(5,p1) push(7,p2) pop(p2) push(3,p2) Topo pop(p2) Topo 11 pop(p1) P1 P2

49 PRÁTICA

50 CLASSES E OBJETOS

51 Projeto do Objeto Altura Objeto 1 Largura ATRIBUTOS: Definem as características particulares de um objeto Cor interna Cor da borda Espessura da borda Altura Largura Objeto 2 Objeto 3 COR INTERNA: AMARELA COR DA BORDA: AMARELA ESPESSURA DA BORDA: 0 PX ALTURA: 211 PX LARGURA: 211 PX

52 Altura Projeto do Objeto Largura Objeto 1 MÉTODOS: Ações associadas ao objeto Muda cor Muda cor da borda Muda espessura da borda Muda altura ATRIBUTOS: Definem as características particulares de um objeto Cor interna Cor da borda Espessura da borda Altura Largura Objeto 2 Objeto 3 Muda largura Pega cor Pega cor da borda Pega espessura da borda Pega altura Pega largura

53 Projeto do Objeto Altura Muda cor = azul Muda largura = 150 Muda cor da borda = verde Objeto 1 Largura ATRIBUTOS: Definem as características particulares de um objeto Objeto 2 Cor interna Cor da borda Espessura da borda Altura Objeto 3 Largura

54 Projeto do Objeto Altura Muda cor = azul Muda largura = 150 Muda cor da borda = verde Objeto 1 Largura ATRIBUTOS: Definem as características particulares de um objeto Cor interna Cor da borda Espessura da borda Altura Largura Muda cor = vermelho Muda altura = 180 Muda cor da borda = verde Muda espessura da borda = 25 px Objeto 2 Objeto 3

55 Projeto do Objeto Altura Muda cor = azul Muda largura = 150 Muda cor da borda = verde Objeto 1 Largura ATRIBUTOS: Definem as características particulares de um objeto Cor interna Cor da borda Espessura da borda Altura Largura Muda cor = vermelho Muda altura = 180 Muda cor da borda = verde Muda espessura da borda = 25 px Objeto 2 Objeto 3

56 Projeto do Objeto Altura Muda cor = azul Muda largura = 150 Muda cor da borda = verde Objeto 1 Largura ATRIBUTOS: Definem as características particulares de um objeto Cor interna Cor da borda Espessura da borda Altura Largura Muda cor = vermelho Muda altura = 180 Muda cor da borda = verde Muda espessura da borda = 25 px Muda cor = Pega cor da borda do objeto 1 Muda altura = (Pega largura objeto 1)/2 Muda espessura da borda = (Pega espessura da borda do objeto 2)*2 Objeto 2 Objeto 3

57 Projeto do Objeto Altura Muda cor = azul Muda largura = 150 Muda cor da borda = verde Objeto 1 Largura ATRIBUTOS: Definem as características particulares de um objeto Cor interna Cor da borda Espessura da borda Altura Largura Muda cor = vermelho Muda altura = 180 Muda cor da borda = verde Muda espessura da borda = 25 px Muda cor = Pega cor da borda do objeto 1 Muda altura = (Pega largura objeto 1)/2 Muda espessura da borda = (Pega espessura da borda do objeto 2)*2 Objeto 2 Objeto 3

58 Projeto do Objeto Altura Muda cor = azul Muda largura = 150 Muda cor da borda = verde Objeto 1 Largura ATRIBUTOS: Definem as características particulares de um objeto Cor interna Cor da borda Espessura da borda Altura Largura Muda cor = vermelho Muda altura = 180 Muda cor da borda = verde Muda espessura da borda = 25 px Muda cor = Pega cor da borda do objeto 1 Muda altura = (Pega largura objeto 1)/2 Muda espessura da borda = (Pega espessura da borda do objeto 2)*2 Objeto 2 Objeto 3

59 Projeto do Objeto MÉTODOS: Ações associadas ao objeto Altura Muda cor Cor interna Cor da borda Largura ATRIBUTOS: Definem as características particulares de um objeto Espessura da borda Altura Largura Muda cor da borda Muda espessura da borda Muda altura Muda largura Pega cor Pega cor da borda Pega espessura da borda Pega altura Pega largura CLASSE: define o comportamento de seus objetos por meio de métodos e atributos

60 CLASSES EM C++

61 retangulo.h class Retangulo { public: float altura; float largura; Retangulo(float a, float l); Atributos Método construtor }; void mudaaltura(float a); float pegaaltura(); void mudalargura(float l); float pegalargura(); Métodos

62 using namespace std; Retangulo::Retangulo(float a, float l) { altura = a; largura = l; cout << "Retângulo criado com " << altura << " de altura e " << largura << " de largura." << endl; } void Retangulo::mudaAltura(float a) { altura = a; cout << "Nova altura: " << altura << endl; } float Retangulo::pegaAltura() { return altura; } void Retangulo::mudaLargura(float l) { largura = l; cout << "Nova largura: " << largura << endl; } float Retangulo::pegaLargura() { return largura; } retangulo.cpp

63 retangulo.cpp void Retangulo::mudaAltura(float a) { altura = a; cout << "Nova altura: " << altura << endl; } float Retangulo::pegaAltura() { return altura; } void Retangulo::mudaLargura(float l) { largura = l; cout << "Nova largura: " << largura << endl; } float Retangulo::pegaLargura() { return largura; }

64 teste.cpp #include "retangulo.h" int main() { Retangulo r = Retangulo(1.5, 3.5); r.mudaaltura(10); r.mudalargura(20); return 0; }

65 Exercício - Implemente o arquivo.cpp para o header pilha.h - Faça um arquivo que crie duas pilhas e brinque com pop e push em ambas as pilhas. pilha.h class Pilha { private: int *P; int TAM; int t; public: // Cria um Pilha de tamanho tam Pilha(int tam); // Retorna 0 caso a inserção tenha ocorrido bem // Retorna 1 caso a inserção não tenha ocorrido int push(int N); // Retorna o elemento caso a remoção tenha ocorrido // Retorna -1 caso a remoção não tenha ocorrido int pop(void); // Retorna 0 se a pilha não estiver cheia // Retorna 1 se a pilha estiver cheia int esta_cheia(void); // Retorna 0 se a pilha não estiver vazia // Retorna 1 se a pilha estiver vazia int esta_vazia(void); };

66 APLICAÇÃO

67 Detectar se a formação de parêntesis e colchetes está bem formada: BEM-FORMADA: ( ( [ ] ) [ ] ) MALFORMADA: ( ( [ ) ] )

68 Detectar se a formação de parêntesis e colchetes está bem formada: BEM-FORMADA: ( ( [ ] ) [ ] ) EMPILHAR ( E [ COMPARAR COM O TOPO CASO SEJA ) OU ] MALFORMADA: ( ( [ ) ] )

69 Detectar se a formação de parêntesis e colchetes está bem formada: BEM-FORMADA: ( ( [ ] ) [ ] ) EMPILHAR ( E [ COMPARAR COM O TOPO CASO SEJA ) OU ] MALFORMADA: ( ( [ ) ] ) Topo ( P1

70 Detectar se a formação de parêntesis e colchetes está bem formada: BEM-FORMADA: ( ( [ ] ) [ ] ) EMPILHAR ( E [ COMPARAR COM O TOPO CASO SEJA ) OU ] MALFORMADA: ( ( [ ) ] ) Topo ( ( P1

71 Detectar se a formação de parêntesis e colchetes está bem formada: BEM-FORMADA: ( ( [ ] ) [ ] ) EMPILHAR ( E [ COMPARAR COM O TOPO CASO SEJA ) OU ] MALFORMADA: ( ( [ ) ] ) Topo [ ( ( P1

72 Detectar se a formação de parêntesis e colchetes está bem formada: BEM-FORMADA: ( ( [ ] ) [ ] ) EMPILHAR ( E [ COMPARAR COM O TOPO CASO SEJA ) OU ] MALFORMADA: ( ( [ ) ] ) [ ( ( Topo COMPARAR ] COM O TOPO [ OK! DESEMPILHA P1

73 Detectar se a formação de parêntesis e colchetes está bem formada: BEM-FORMADA: ( ( [ ] ) [ ] ) EMPILHAR ( E [ COMPARAR COM O TOPO CASO SEJA ) OU ] MALFORMADA: ( ( [ ) ] ) COMPARAR ) COM O TOPO ( Topo OK! ( DESEMPILHA ( P1

74 Detectar se a formação de parêntesis e colchetes está bem formada: BEM-FORMADA: ( ( [ ] ) [ ] ) EMPILHAR ( E [ COMPARAR COM O TOPO CASO SEJA ) OU ] MALFORMADA: ( ( [ ) ] ) Topo [ ( P1

75 Detectar se a formação de parêntesis e colchetes está bem formada: BEM-FORMADA: ( ( [ ] ) [ ] ) EMPILHAR ( E [ COMPARAR COM O TOPO CASO SEJA ) OU ] MALFORMADA: ( ( [ ) ] ) COMPARAR ] COM O TOPO [ Topo OK! [ DESEMPILHA ( P1

76 Detectar se a formação de parêntesis e colchetes está bem formada: BEM-FORMADA: ( ( [ ] ) [ ] ) EMPILHAR ( E [ COMPARAR COM O TOPO CASO SEJA ) OU ] MALFORMADA: ( ( [ ) ] ) COMPARAR ) COM O TOPO ( OK! Topo DESEMPILHA ( P1

77 Detectar se a formação de parêntesis e colchetes está bem formada: BEM-FORMADA: ( ( [ ] ) [ ] ) EMPILHAR ( E [ COMPARAR COM O TOPO CASO SEJA ) OU ] MALFORMADA: ( ( [ ) ] ) ACABOU A STRING PILHA ESTÁ VAZIA? OK! BEM-FORMADA Topo P1

78 Detectar se a formação de parêntesis e colchetes está bem formada: BEM-FORMADA: ( ( [ ] ) [ ] ) EMPILHAR ( E [ COMPARAR COM O TOPO CASO SEJA ) OU ] MALFORMADA: ( ( [ ) ] ) Topo ( P1

79 Detectar se a formação de parêntesis e colchetes está bem formada: BEM-FORMADA: ( ( [ ] ) [ ] ) EMPILHAR ( E [ COMPARAR COM O TOPO CASO SEJA ) OU ] MALFORMADA: ( ( [ ) ] ) Topo ( ( P1

80 Detectar se a formação de parêntesis e colchetes está bem formada: BEM-FORMADA: ( ( [ ] ) [ ] ) EMPILHAR ( E [ COMPARAR COM O TOPO CASO SEJA ) OU ] MALFORMADA: ( ( [ ) ] ) Topo [ ( ( P1

81 Detectar se a formação de parêntesis e colchetes está bem formada: BEM-FORMADA: ( ( [ ] ) [ ] ) EMPILHAR ( E [ COMPARAR COM O TOPO CASO SEJA ) OU ] MALFORMADA: ( ( [ ) ] ) [ ( ( Topo COMPARAR ) COM O TOPO [ NAO! MALFORMATADA P1

82 EXERCÍCIO Faça um programa que verifique se uma sequência de parêntesis e colchetes está bem-formatada ou malformatada.

Pilhas. Profa Morganna Diniz

Pilhas. Profa Morganna Diniz Pilhas Profa Morganna Diniz Pilhas Geralmente pilhas são úteis em situações em que dados devem ser recuperados em ordem inversa a do armazenamento É uma estrutura de dados linear que permite acesso por

Leia mais

Prof. Jhonatan Fernando

Prof. Jhonatan Fernando Prof. Jhonatan Fernando Métodos Programação OO Instâncias de variáveis (objetos) Mensagens Classes Herança Polimorfismo Encapsulamento Abstração Programação Estruturada Procedimentos e funções Variáveis

Leia mais

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

Pilhas. Fabrício J. Barth. BandTec - Faculdade de Tecnologia Bandeirantes Pilhas Fabrício J. Barth BandTec - Faculdade de Tecnologia Bandeirantes Fevereiro de 2011 Tópicos Principais Introdução Interface do tipo pilha Exemplo de uso: verificação de expressões Implementação de

Leia mais

Método de ordenação - objetivos:

Método de ordenação - objetivos: Método de ordenação - objetivos: Corresponde ao processo de rearranjar um conjunto de objetos em uma ordem ascendente ou descendente. Facilitar a recuperação posterior de itens do conjunto ordenado. São

Leia mais

Listas Duplamente Encadeadas

Listas Duplamente Encadeadas Listas Duplamente Encadeadas! quando for preciso seguir a seqüência de elementos em ambos os sentidos! cada nó possui dois ponteiros: ant e prox ant prox a b c d Início Fim 1 Listas Duplamente Encadeadas

Leia mais

Banco de Dados. Banco de Dados Parte 2. Alcides Pamplona alcides.pamplona@gmail.com. Alcides Pamplona Linguagem de Programação CESBD 2010

Banco de Dados. Banco de Dados Parte 2. Alcides Pamplona alcides.pamplona@gmail.com. Alcides Pamplona Linguagem de Programação CESBD 2010 Alcides Pamplona Linguagem de Programação CESBD 2010 Parte 2 Alcides Pamplona alcides.pamplona@gmail.com Tópicos API JDBC Utilizando JDBC Statement PreparedStatement Controle de Transação Mapeamento Objeto-Relacional

Leia mais

Árvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão

Árvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão Árvores 1 Árvores! utilizada em muitas aplicações! modela uma hierarquia entre elementos! árvore genealógica! diagrama hierárquico de uma organização! modelagem de algoritmos! O conceito de árvores está

Leia mais

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

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 Engenharia de CONTROLE e AUTOMAÇÃO 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 beltrame@mail.ufsm.br 1/5

Leia mais

ESTRUTURA DE DADOS FILAS SEQUENCIAIS

ESTRUTURA DE DADOS FILAS SEQUENCIAIS ESTRUTURA DE DADOS FILAS SEQUENCIAIS Prof. Dr. Daniel Caetano 2012-2 Objetivos Compreender o que é uma estrutura em fila Compreender sua aplicação Capacitar para implementar filas Atividade Estruturada!

Leia mais

UNIVERSIDADE DO TOCANTINS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PRÁTICA EM PROGRAMAÇÃO DE SISTEMAS

UNIVERSIDADE DO TOCANTINS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PRÁTICA EM PROGRAMAÇÃO DE SISTEMAS ESTUDO DE CASO I Uma das operações oferecidas pelos sistemas bancários para seus clientes é a emissão de extratos da conta corrente ou do cartão de crédito. Esses relatórios permitem que o cliente possa

Leia mais

Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009

Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009 Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009 Ao desenvolver os seguintes programas tenha em atenção o bom uso dos comentários, o uso da indentação e o correcto nome

Leia mais

Exercício de Estrutura de dados. Java Fila

Exercício de Estrutura de dados. Java Fila Exercício de Estrutura de dados Java Fila Obs.: Esse projeto foi um exercício realizado em sala de aula da matéria de Estrutura de dados com o Profº Frederico Augusto Siqueira Gentil Aqui está sendo relatado

Leia mais

Pilhas Filas e Listas

Pilhas Filas e Listas Pilhas Filas e Listas Sumário Pilha: interface, aplicações e implementação Fila: interface, aplicações e implementação Lista Ligada: interface, aplicações e implementação Pilha Estrutura LIFO (last in,

Leia mais

Objetivo do jogo 40 pontos todos os quadrados de um templo todos os quadrados amarelos todos os quadrados verdes Material do jogo 72 cartas

Objetivo do jogo 40 pontos todos os quadrados de um templo todos os quadrados amarelos todos os quadrados verdes Material do jogo 72 cartas Objetivo do jogo Cada jogador representa o papel de um sumo sacerdote na luta pelo poder em Tebas no antigo Egito. Ganha o jogador que primeiro: Conseguir 40 pontos, ou Ocupar todos os quadrados de um

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação

Universidade Federal de Uberlândia Faculdade de Computação Universidade Federal de Uberlândia Faculdade de Computação Prof. Flávio de Oliveira Silva, M.Sc. Março de 2010 2 Sumário Lista de Figuras... 4 1. Introdução... 5 2. Coleção de Dados... 5 2.1 Coleções Lineares...

Leia mais

ATuLCo. Manual de Instruções. Gestor de Agência de Viagens. ATuLCo Gestor de Agencia de Viagens. Horário Abreu Nr. 53792. António Felgueiras Nr.

ATuLCo. Manual de Instruções. Gestor de Agência de Viagens. ATuLCo Gestor de Agencia de Viagens. Horário Abreu Nr. 53792. António Felgueiras Nr. Manual de Instruções ATuLCo Gestor de Agência de Viagens António Felgueiras Nr. 43481 Horário Abreu Nr. 53792 Ricardo Pinto Nr. 51835 1 Índice O que é o ATuLCo? ------------------------------------- 3

Leia mais

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

ESTRUTURAS DE DADOS I. Notas de Aula. Prof. Dr. Gilberto Nakamiti ESTRUTURAS DE DADOS I Notas de Aula 1 SUMÁRIO 1. INTRODUÇÃO... 2 1.1 Array (vetores)... 2 2. BUSCA DE ELEMENTOS... 3 2.1 Busca Seqüencial... 3 2.2 Busca Binária... 3 2.3 Busca Indexada... 3 2.4 Busca Hash...

Leia mais

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real: Introdução a Orientação a Objetos com Java Autor: Professor Victor Augusto Zago Menegusso. Orientação a Objetos É um paradigma de programação que define a estrutura de um programa baseado nos conceitos

Leia mais

Computação e Programação Aula prática nº 5. Enunciados dos problemas

Computação e Programação Aula prática nº 5. Enunciados dos problemas Enunciados dos problemas 1 1. Processador de números 1.1 Objectivos do exercício análise sequencial de um problema baseada em objectos e desenvolvimento do respectivo algoritmo; codificação do algoritmo

Leia mais

Olimpíadas de Informática

Olimpíadas de Informática Olimpíadas de Informática Aulas preparatórias Introdução a Programação em C++. Prof. Gemilson George gemilson_geo gemilson@colegiogeo.com.br (83)8792-7419 informaticageo.wordpress.com (Grupo): GEO.OBI

Leia mais

Estrutura de Dados Básica

Estrutura de Dados Básica Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 8: Pilhas com Alocação de Memória Estática O objetivo desta aula é apresentar estrutura de dados Pilha e suas aplicações. Introdução Embora

Leia mais

LISTAS ENCADEADAS OU NÃO- SEQÜENCIAIS. Estrutura de Dados

LISTAS ENCADEADAS OU NÃO- SEQÜENCIAIS. Estrutura de Dados LISTAS ENCADEADAS OU NÃO- SEQÜENCIAIS Listas Lineares Como visto anteriormente, as operações básicas para o nosso TAD Lista Linear são: FLVazia Vazia Retira Insere Imprime A implementação através de arrays

Leia mais

Departamento de Informática - PUC-Rio INF 1005 Programação I P1 22/09/2010 Nota

Departamento de Informática - PUC-Rio INF 1005 Programação I P1 22/09/2010 Nota P1 22/09/2010 Matrícula: Turma: Questão 1) (3,5 pontos) O Índice de Desenvolvimento Humano (IDH) é uma medida do bemestar de uma população. Engloba três dimensões: educação (E), longevidade (L) e a riqueza

Leia mais

Tipo de Dados Abstractos: Pilha (stack)

Tipo de Dados Abstractos: Pilha (stack) Tipos de Dados Abstractos Estruturas Lineares Pilhas e Filas FEUP - MIEEC Programação - 008/009 Tipo de Dados Abstractos: Pilha (stack) Pilha estrutura de dados linear em que: inserção e a remoção de elementos

Leia mais

Guia de Consulta Rápida C++ STL. Joel Saade. Novatec Editora

Guia de Consulta Rápida C++ STL. Joel Saade. Novatec Editora Guia de Consulta Rápida C++ STL Joel Saade Novatec Editora Guia de Consulta Rápida C++ STL de Joel Saade Copyright 2006 da Novatec Editora Ltda. Todos os direitos reservados. É proibida a reprodução desta

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano 2012-1

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano 2012-1 LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano 2012-1 Objetivos Entender o mecanismo de um programa em C/C++ Apresentar e estrutura da Linguagem C/C++

Leia mais

STL significa Standard Template Library. É uma biblioteca que contém algumas estruturas de dados, como árvore binária e lista encadeada.

STL significa Standard Template Library. É uma biblioteca que contém algumas estruturas de dados, como árvore binária e lista encadeada. STL significa Standard Template Library. É uma biblioteca que contém algumas estruturas de dados, como árvore binária e lista encadeada. Estas estruturas são chamadas de Containers. Elas armazenam coleções

Leia mais

FUNDAÇÃO EDUCACIONAL DE ITUIUTABA

FUNDAÇÃO EDUCACIONAL DE ITUIUTABA FUNDAÇÃO EDUCACIONAL DE ITUIUTABA ASSOCIADA À UNIVERSIDADE DO ESTADO DE MINAS GERAIS CURSO DE SISTEMA DE INFORMAÇÃO PILHA E FILA Prof. Walteno Martins Parreira Júnior www.waltenomartins.com.br waltenomartins@yahoo.com

Leia mais

INF 1010 Estruturas de Dados Avançadas

INF 1010 Estruturas de Dados Avançadas 11.2 INF 1010 Estruturas de Dados Avançadas Listas de Prioridades e Heaps 1 Listas de Prioridades Em muitas aplicações, dados de uma coleção são acessados por ordem de prioridade A prioridade associada

Leia mais

Linguagem de Programação III

Linguagem de Programação III Clique para editar o estilo do subtítulo mestre Linguagem de Programação III Histórico Encapsulamento Tratamento de classes e objetos Herança Polimorfismo Comparação com Java Histórico Desenvolvido por

Leia mais

Conteúdo programático

Conteúdo programático Introdução à Linguagem C Conteúdo programático Introdução à Linguagem C Estrutura de Programas Variáveis, Constantes Operadores, Entrada e Saída de Dados Estruturas de Desvio Estrutura de Múltipla Escolha

Leia mais

Sistemas Operacionais. Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br. www.fgp.com.br

Sistemas Operacionais. Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br. www.fgp.com.br Sistemas Operacionais Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br Tipos de Sistemas Operacionais De Sistemas Embarcados (PalmOS,WinCE,WinXPEmbbeded,Linux) Hardware simples, especifico

Leia mais

ESTRUTURA DE DADOS PILHA

ESTRUTURA DE DADOS PILHA ESTRUTURA DE DADOS PILHA CONCEITO DE PILHAS - Pilhas são listas lineares onde a inserção de um novo item ou a remoção de um item já existente se dá em uma única extremidade, no topo. Pilha vazia Insere(A)

Leia mais

Fundamentos de Programação Linguagem C++ Entrada e saída com arquivos

Fundamentos de Programação Linguagem C++ Entrada e saída com arquivos Fundamentos de Programação Linguagem C++ Entrada e saída com arquivos Prof.: Bruno E. G. Gomes IFRN 1 Introdução Entrada e saída de dados pode ser feita: Para dispositivo de entrada/saída (monitor, impressora,

Leia mais

Gestão de Actas Escolares. Manual Utilizador. (Versão 4)

Gestão de Actas Escolares. Manual Utilizador. (Versão 4) inovar TI Gestão de Actas Escolares Manual Utilizador (Versão 4) ÍNDICE: INTRODUÇÃO... 3 FUNCIONALIDADES DO UTILACTAS... 3 1.ENTRAR NO PROGRAMA... 4 2.CONVOCAR UMA REUNIÃO... 5 2.1. CRIAR... 5 2.2. EDITAR...

Leia mais

Algoritmos e Estruturas de Dados I. Recursividade. Pedro O.S. Vaz de Melo

Algoritmos e Estruturas de Dados I. Recursividade. Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados I Recursividade Pedro O.S. Vaz de Melo Problema Implemente uma função que classifique os elementos de um vetor em ordem crescente usando o algoritmo quicksort: 1. Seja

Leia mais

Introdução à orientação a objetos

Introdução à orientação a objetos Universidade Federal de Juiz de Fora PET Elétrica Introdução à orientação a objetos Tutor: Francisco José Gomes Aluno: João Tito Almeida Vianna 18/05/2013 1 Programação Estruturada x Orientação a objetos

Leia mais

Introdução a POO. Introdução a Linguagem C++ e POO

Introdução a POO. Introdução a Linguagem C++ e POO Introdução a POO Marcio Santi Linguagem C++ Introdução a Linguagem C++ e POO Programação Orientada a Objetos (POO) e C++ Recursos C++ não relacionados às classes Incompatibilidades entre C e C++ Classes

Leia mais

SÓ ABRA QUANDO AUTORIZADO.

SÓ ABRA QUANDO AUTORIZADO. UNIVERSIDADE FEDERAL DE MINAS GERAIS FÍSICA 2 a Etapa SÓ ABRA QUANDO AUTORIZADO. Leia atentamente as instruções que se seguem. 1 - Este Caderno de Provas contém seis questões, constituídas de itens e subitens,

Leia mais

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 2 PERÍODO MÓDULO 3 AVALIAÇÃO MP2 DATA 2/10/2008 ESTRUTURAS DE DADOS 2008/2

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 2 PERÍODO MÓDULO 3 AVALIAÇÃO MP2 DATA 2/10/2008 ESTRUTURAS DE DADOS 2008/2 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 2 PERÍODO MÓDULO 3 AVALIAÇÃO MP2 DATA 2/10/2008 ESTRUTURAS DE DADOS 2008/2 Dados de identificação do Acadêmico: Nome: Login: CA: Cidade:

Leia mais

Algoritmo Iterativo. Dilema do Martelo x Edifício. O Martelo. O Edifício 01/06/2014. Dilema das ações x declarações

Algoritmo Iterativo. Dilema do Martelo x Edifício. O Martelo. O Edifício 01/06/2014. Dilema das ações x declarações Algoritmo Iterativo Fernando Cardeal Parece com o processo de seguir uma estrada: Como chegar à estrada? Como se manter na estrada? Como saber que chegou ao destino para sair da estrada? Como fazer tudo

Leia mais

Guia e Utilização do Visual Studio 6.0

Guia e Utilização do Visual Studio 6.0 Guia e Utilização do Visual Studio 6.0 Objectivo Este guia acompanha-o através do processo de criação de uma aplicação C++ utilizando o ambiente de desenvolvimento Visual Studio 6.0. Passo 1: Criação de

Leia mais

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++ Edwar Saliba Júnior Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++ Belo Horizonte 2009 Sumário 1 Nota:... 2 2 Comandos e Palavras Reservadas:... 3 3 Dicas... 4

Leia mais

1. Como fazer uma pesquisa

1. Como fazer uma pesquisa 1. Como fazer uma pesquisa Formulários Cada formulário possui quatro controlos: o operador lógico, o campo de pesquisa, a caixa de inserção de texto e o botão de termos de pesquisa. Para realizar uma pesquisa

Leia mais

Aula 8- Standard Template Library. Arthur Ribacki Gabriel Portal Leonardo Chatain Luiz Fernando Scheidegger Rosália Schneider

Aula 8- Standard Template Library. Arthur Ribacki Gabriel Portal Leonardo Chatain Luiz Fernando Scheidegger Rosália Schneider Aula 8- Standard Template Library Arthur Ribacki Gabriel Portal Leonardo Chatain Luiz Fernando Scheidegger Rosália Schneider STL Motivação... int int_array = 5; char **vetor = new char*[int_array]; for(int

Leia mais

Programação de Computadores Primeiros Passos Práticos em C++

Programação de Computadores Primeiros Passos Práticos em C++ Programação de Computadores Primeiros Passos Práticos em C++ Alan de Freitas! Marco Antonio Carvalho Compilação de Programas O compilador é o responsável por transformar nosso código em um programa propriamente

Leia mais

Curso C: Ponteiros e Arrays

Curso C: Ponteiros e Arrays Universidade de Brasília Departamento de Ciência da Computação Curso C: Ponteiros e Arrays Prof. Ricardo Pezzuol Jacobi rjacobi@cic.unb.br Ponteiros um ponteiro Ž uma vari vel que contžm o endere o um

Leia mais

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

O que é um algoritmo? O que é um programa? Algoritmos. Programas. Aula 1 Tipo Abstrato de Dados Aula 1 Tipo Abstrato de Dados O que é um algoritmo? Luiz Chaimowicz e Raquel O. Prates Livro Projeto de Algoritmos Capítulo 1 O que é um programa? 2009-1 Algoritmos Sequência de ações executáveis para

Leia mais

Filas: conceitos e implementações

Filas: conceitos e implementações Estrutura de Dados I Filas: conceitos e implementações Cesar Rocha cesar@pontoweb.com.br 1 Objetivos Explorar os conceitos fundamentais acerca do uso de filas utilizando a linguagem C Organização e implementação,

Leia mais

Sistemas Operacionais. Sincronização: Semáforos Problema dos Leitores/Escritores

Sistemas Operacionais. Sincronização: Semáforos Problema dos Leitores/Escritores Sistemas Operacionais Sincronização: Semáforos Problema dos Leitores/Escritores Autoria Autores Eduardo André Mallmann 0905/96-9 João Paulo Reginatto 1530/96-0 Local Instituto de Informática UFRGS disciplina:

Leia mais

2 Segmentação de imagens e Componentes conexas

2 Segmentação de imagens e Componentes conexas Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Informática (DAINF) Algoritmos II Professor: Alex Kutzke (alexk@dainf.ct.utfpr.edu.br) Especificação do Primeiro Trabalho Prático

Leia mais

Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++.

Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++. Data: 14/8 Página 1 de 9 Primeiros passos Introdução Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++. No tutorial anterior, mostramos como

Leia mais

Tabelas Hash. Aleardo Manacero Jr.

Tabelas Hash. Aleardo Manacero Jr. Tabelas Hash Aleardo Manacero Jr. Introdução O uso de listas ou árvores para organizar informações é interessante e produz resultados bastante bons Entretanto, em nenhuma dessa estruturas se obtém o acesso

Leia mais

Analise o código abaixo:

Analise o código abaixo: Recursão - introdução Analise o código abaixo: 1 # include 2 # include 3 int Fatorial ( int x) 4 int k, s =1; for (k =0;k

Leia mais

Anexação de tabelas, inserção de pontos, geração de polígonos e cálculo de áreas em ArcView

Anexação de tabelas, inserção de pontos, geração de polígonos e cálculo de áreas em ArcView UNIVERSIDADE FEDERAL DE MINAS GERAIS INSTITUTO DE GEOCIÊNCIAS DEPARTAMENTO DE CARTOGRAFIA Laboratório de Geoprocessamento Anexação de tabelas, inserção de pontos, geração de polígonos e cálculo de áreas

Leia mais

ALGORITMOS E COMPLEXIDADE PROBLEMAS E ALGORITMOS

ALGORITMOS E COMPLEXIDADE PROBLEMAS E ALGORITMOS ALGORITMOS E COMPLEXIDADE PROBLEMAS E ALGORITMOS Algoritmos e Complexidade 1 Plano Problemas e algoritmos. Estrutura de um algoritmo e dados manipulados. Métodos algorítmicos para resolução de problemas.

Leia mais

Aula 3 Alocação Dinâmica

Aula 3 Alocação Dinâmica Aula 3 Alocação Dinâmica Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas de Internet Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno

Leia mais

Microsoft Excel Ficha prática n. 2

Microsoft Excel Ficha prática n. 2 1. Inicie o Microsoft Excel e abra o livro c2001_edificiosgrandeporto.xlsx. 2. Grave o livro com o nome Ficha2. 3. Faça uma cópia da folha c2001_alojamento no mesmo livro. A nova folha deve chamar-se Habitação.

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Aula 7 Programação Genética M.e Guylerme Velasco Programação Genética De que modo computadores podem resolver problemas, sem que tenham que ser explicitamente programados para isso?

Leia mais

1.1- Vamos começar com a planta baixa, na escala 1:20. Obs: passe a planta, com as medidas indicadas em uma folha separada, na escala 1:20.

1.1- Vamos começar com a planta baixa, na escala 1:20. Obs: passe a planta, com as medidas indicadas em uma folha separada, na escala 1:20. 1 PONTO DE FUGA 1.1- Vamos começar com a planta baixa, na escala 1:20. Obs: passe a planta, com as medidas indicadas em uma folha separada, na escala 1:20. 30 1.2- Coloque essa planta na parte de cima

Leia mais

Introdução à Programação de Computadores Parte I

Introdução à Programação de Computadores Parte I Introdução à Programação de Computadores Parte I Prof. Dr. Edson Pimentel Centro de Matemática, Computação e Cognição Objetivos Compreender os componentes básicos de um programa... Objetivos Bacharelado

Leia mais

Esta apresentação ensinará os conceitos de Orientação a Objetos com C++, do mais básico para o mais avançado. É suposto que o aluno já tenha

Esta apresentação ensinará os conceitos de Orientação a Objetos com C++, do mais básico para o mais avançado. É suposto que o aluno já tenha Esta apresentação ensinará os conceitos de Orientação a Objetos com C++, do mais básico para o mais avançado. É suposto que o aluno já tenha conhecimento avançado de C. Exemplo em C: Faça um programa que

Leia mais

Conceito de classe em C++

Conceito de classe em C++ Introdução à Programação com Classes em C++ Ana Paula Rocha, Luís Paulo Reis, João Pascoal Faria FEUP - MIEEC Programação 2-2008/2009 Conceito de classe em C++ Classe em sentido lato: tipo de dados definido

Leia mais

Arquivos Indexados por Chaves Secundárias. Vanessa Braganholo

Arquivos Indexados por Chaves Secundárias. Vanessa Braganholo Arquivos Indexados por Chaves Secundárias Vanessa Braganholo Arquivos Indexados } Até agora, as alternativas que vimos funcionam apenas para indexar arquivos por chaves primárias } Isso otimiza a busca

Leia mais

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

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra CES-11 Algoritmos e Estruturas de Dados Carlos Alberto Alonso Sanches Juliana de Melo Bezerra CES-11 Pilhas Filas Deques Pilhas,,f filas e deques Vimos que as listas lineares admitem inserção e eliminação

Leia mais

Criar e formatar relatórios

Criar e formatar relatórios Treinamento Criar e formatar relatórios EXERCÍCIO 1: CRIAR UM RELATÓRIO COM A FERRAMENTA RELATÓRIO Ao ser executada, a ferramenta Relatório usa automaticamente todos os campos da fonte de dados. Além disso,

Leia mais

Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos

Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos Árvores Parte 1 Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos Árvores uma introdução As listas apresentadas na aula anterior formam um conjunto de TADs extremamente importante

Leia mais

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 6 Filas Estrutura de Dados A Estrutura de Dados Fila Fila é uma estrutura de dados usada em programação, que tem regras para

Leia mais

Técnicas de Programação:

Técnicas de Programação: Técnicas de Programação: Programação Orientada a Objeto PROF. PROTÁSIO DEE-UFPB Programação Orientada a Objeto Herança É uma forma de reutilização de software em que o programador cria uma classe que absorve

Leia mais

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06 Disciplina: Linguagem de Programação C Profª Viviane Todt Diverio Funções, variáveis, parâmetros formais

Leia mais

Vectores em C++ Classe vector: Introdução

Vectores em C++ Classe vector: Introdução Vectores em C++ FEUP - MIEEC Programação 2-2008/2009 Classe vector: Introdução A classe vector é uma alternativa à representação de array primitivo Template de classe necessário especificar o tipo dos

Leia mais

Unidade IV: Ponteiros, Referências e Arrays

Unidade IV: Ponteiros, Referências e Arrays Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática

Leia mais

Aplicação dos conceitos de programação orientada a objeto em linguagens de alto nível

Aplicação dos conceitos de programação orientada a objeto em linguagens de alto nível 95 Aplicação dos conceitos de programação orientada a objeto em linguagens de alto nível 96 Aplicação dos conceitos de programação orientada a objeto em linguagens de alto nível Nesta etapa estudaremos

Leia mais

EDV (Estruturas de Dados com Vetores) um protótipo de aplicativo Educacional

EDV (Estruturas de Dados com Vetores) um protótipo de aplicativo Educacional EDV (Estruturas de Dados com Vetores) um protótipo de aplicativo Educacional Luis Arturo Pérez Lozada 1 1 Centro de Matemática, Computação e Cognição Universidade Federal do ABC CEP 09210-580 Santo André

Leia mais

Estruturas de Dados Pilhas, Filas e Deques

Estruturas de Dados Pilhas, Filas e Deques Estruturas de Dados Pilhas, Filas e Deques Prof. Eduardo Alchieri Estruturas de Dados Pilhas Pilhas Lista LIFO (Last In, First Out) Os elementos são colocados na estrutura (pilha) e retirados em ordem

Leia mais

/*(Atenção: Em se tratando de uma lista estaticamente alocada, temos utilizado a estratégia de passa o tamanho máximo do vetor.)*/

/*(Atenção: Em se tratando de uma lista estaticamente alocada, temos utilizado a estratégia de passa o tamanho máximo do vetor.)*/ ========================TDA.H #include "info.h" #define TRUE 1 #define FALSE 0 #define INI_LISTA 1 #define OK 1; #define NOK -1; typedef struct nolista{ info dados; struct nolista *prox; struct nolista

Leia mais

Trabalho Prático II - Resta 1 Data de Entrega: Conferir no calendário!

Trabalho Prático II - Resta 1 Data de Entrega: Conferir no calendário! ALGORITMOS E ESTRUTURAS DE DADOS I DCC/UFMG Trabalho Prático II - Resta 1 Data de Entrega: Conferir no calendário! Pedro O.S. Vaz de Melo May 29, 2013 1 DESCRIÇÃO DO PROBLEMA O objetivo deste trabalho

Leia mais

GGI026 - Árvore balanceada

GGI026 - Árvore balanceada GGI06 - Árvore balanceada Marcelo K. Albertini 11 de Setembro de 013 /1 Trabalho 1 implementar programa para resolver o problema entregue programa deve funcionar conforme pedido na descrição 3 fazer apresentação

Leia mais

Exemplos. Jogo dos oito :-) Mundo dos blocos (ex: torre de Hanoi) Poblema das rainhas. Criptoaritmética. Missionários e Canibais.

Exemplos. Jogo dos oito :-) Mundo dos blocos (ex: torre de Hanoi) Poblema das rainhas. Criptoaritmética. Missionários e Canibais. istemas Inteligentes, 10-11 1 Exemplos Jogo dos oito :-) Mundo dos blocos (ex: torre de Hanoi) Poblema das rainhas Criptoaritmética Missionários e Canibais Resta-um e muitos outros... istemas Inteligentes,

Leia mais

Algoritmos e Estrutura de Dados II

Algoritmos e Estrutura de Dados II Universidade Federal do Vale do São Francisco Algoritmos e Estrutura de Dados II Professor: Marcelo Santos Linder E-mail: marcelo.linder@univasf.edu.br Ementa Árvores B, grafos e tabelas de hash: alocação

Leia mais

Estruturas de Dados Aula 11: TAD Pilha 09/05/2011

Estruturas de Dados Aula 11: TAD Pilha 09/05/2011 Estruturas de Dados Aula 11: TAD Pilha 09/05/2011 Fontes Bibliográficas Livros: Projeto de Algoritmos (Nivio Ziviani): Capítulo 3; Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo

Leia mais

DE JAVA AO C++ Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla

DE JAVA AO C++ Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DE JAVA AO C++ Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla JAVAProgParSD/0030-ProgParalelaDistribuida.ppt Sumário 1. Diferenças básicas

Leia mais

Problems and Programmers

Problems and Programmers DCC / ICEx / UFMG Problems and Programmers Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Visão Geral do PnP O jogo Problems and Programmers (PnP) simula um processo de software Fase de requisitos

Leia mais

Prof. Marco Antonio M. Carvalho

Prof. Marco Antonio M. Carvalho Prof. Marco Antonio M. Carvalho Lembretes Lista de discussão Endereço: programaacao@googlegroups.com Solicitem acesso: http://groups.google.com/group/programaacao Página com material dos treinamentos http://www.decom.ufop.br/marco/extensao/obi/

Leia mais

Revisão OO Básico. Orientação a Objetos em Java

Revisão OO Básico. Orientação a Objetos em Java Revisão OO Básico Orientação a Objetos em Java Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Nomenclatura A unidade básica de programação em linguagens orientadas a objetos é a

Leia mais

ENG1000 Introdução à Engenharia

ENG1000 Introdução à Engenharia ENG1000 Introdução à Engenharia Aula 09 Vetores e Matrizes Edirlei Soares de Lima Introdução Até agora nós temos usado variáveis simples para armazenar valores usados por nossos

Leia mais

Programação científica C++

Programação científica C++ Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 9 Tipos Estruturados Definição de novos tipos com struct Elementos do struct Exemplos Exercícios Motivação Muitas vezes precisamos agrupar informações

Leia mais

UNIVERSIDADE ESTADUAL PAULISTA. Apostila Pascal Ed. 2006. Prof. Dr. Galeno José de Sena DMA/FEG CAPÍTULO 8

UNIVERSIDADE ESTADUAL PAULISTA. Apostila Pascal Ed. 2006. Prof. Dr. Galeno José de Sena DMA/FEG CAPÍTULO 8 unesp UNIVERSIDADE ESTADUAL PAULISTA Apostila Pascal Ed 2006 Prof Dr Galeno José de Sena DMA/FEG CAPÍTULO 8 ARQUIVOS DE DADOS EM PASCAL: ARQUIVOS SEQUENCIAIS - UMA INTRODUÇÃO 81 ARQUIVOS SEQUENCIAL E DIRETO

Leia mais

Instituto Superior Técnico

Instituto Superior Técnico Introdução à Arquitectura de Computadores Instituto Superior Técnico Lisboa, Setembro de 2013 O Simulador Lógico Logisim 1 Introdução... 2 2 Exemplo de projecto... 3 2.1 Especificação do sistema... 3 2.2

Leia mais

Arquivos Seqüenciais Atualização em Lote

Arquivos Seqüenciais Atualização em Lote Arquivos Seqüenciais Atualização em Lote Vanessa Braganholo Baseado no Material de: Inhaúma Neves Ferraz (IC/UFF) Cenário } Arquivos Sequenciais Ordenados } Objetivo: atualizar o arquivo, mantendo sua

Leia mais

CONCURSO!PÚBLICO!PARA!PROVIMENTO!DE!CARGO!EFETIVO!DE!DOCENTES! ) ÁREA:!Informática!<!Perfil!I! <!PROVA!OBJETIVA!<! Câmpus!Muriaé!<!Edital!002/2013!

CONCURSO!PÚBLICO!PARA!PROVIMENTO!DE!CARGO!EFETIVO!DE!DOCENTES! ) ÁREA:!Informática!<!Perfil!I! <!PROVA!OBJETIVA!<! Câmpus!Muriaé!<!Edital!002/2013! MINISTÉRIO)DA)EDUCAÇÃO) ) INSTITUTO)FEDERAL)DE)EDUCAÇÃO,)CIÊNCIA)E) TECNOLOGIA)DO)SUDESTE)DE)MINAS)GERAIS) CONCURSOPÚBLICOPARAPROVIMENTODECARGOEFETIVODEDOCENTES ) ÁREA:Informática

Leia mais

Algoritmos e Programação II. Sobrecarga

Algoritmos e Programação II. Sobrecarga Algoritmos e Programação II Baseado no Material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, têm nomes distintos porque

Leia mais

Comunicação entre Processos por Troca de Mensagens. Prof. Celso maciel da Costa

Comunicação entre Processos por Troca de Mensagens. Prof. Celso maciel da Costa Comunicação entre Processos por Troca de Mensagens Prof. Celso maciel da Costa Troca de Mensagens Com memória compartilhada: os processo compartilham variáveis e trocam informações através do uso de variáveis

Leia mais