TIPO ABSTRATO DE DADOS: LISTAS ENCADEADAS

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

Download "TIPO ABSTRATO DE DADOS: LISTAS ENCADEADAS"

Transcrição

1 COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO TIPO ABSTRATO DE DADOS: LISTAS ENCADEADAS FOZ DO IGUAÇU 2013

2 i LISTA DE QUADROS QUADRO 1 DEFINIÇÃO DA CLASSE NO QUADRO 2 DEFINIÇÃO DA CLASSE DE LISTA ENCADEADA... 5 QUADRO 3 DEMONSTRAÇÃO DE UMA LISTA ENCADEADA... 7 QUADRO 4 LISTA ENCADEADA COM UMA CLASSE NO INTERNA QUADRO 5 LISTA ENCADEADA GENÉRICA... 9 QUADRO 6 DEFINIÇÃO DA CLASSE DE ENTRADA QUADRO 7 APLICAÇÃO USANDO LISTA ENCADEADA GENÉRICA... 14

3 ii SUMÁRIO 10 LISTAS TIPOS ABSTRATOS DE DADOS (TAD) TAD Lista Classe de Lista Encadeada A Classe Nó Classe Lista Encadeada Demonstração da Classe de Lista Encadeada Classe Nó Interna Classe Genérica de Lista Encadeada Classe Entrada para Dados de uma Lista Encadeada Genérica Demonstração de uma Lista Encadeada Genérica EXERCÍCIOS REFERÊNCIAS BIBLIOGRÁFICAS... 17

4 1 10 LISTAS O pacote java.util contém uma grande variedade de classes e interfaces que suportam uma ampla gama de funcionalidades. Por exemplo, a estrutura das coleções. Uma coleção é uma estrutura de dados na verdade, um objeto que pode conter referências a outros objetos. Normalmente, coleções contêm referências a objetos que são todos do mesmo tipo. A Tabela 1 lista algumas das interfaces do framework coleções. Interface Descrição Coleção A interface raiz na hierarquia de coleções a partir das quais as interfaces Conjunto, Fila e Lista são derivadas. Conjunto Uma coleção que não contém duplicatas. Lista Uma coleção ordenada que pode conter elementos duplicados. Mapa Uma coleção que associa chaves a valores e não podem conter chaves duplicadas. Fila Normalmente uma coleção first-in (primeiro a entrar), first-out (primeiro a sair). Tabela 1 Algumas interfaces do framework colletions TIPOS ABSTRATOS DE DADOS (TAD) Um tipo abstrato de dado (TAD) é um conjunto de objetos, juntamente com um conjunto de operações. Tipos abstratos de dados são abstrações matemáticas. Objetos tais como listas, conjuntos, e gráficos, juntamente com suas operações, podem ser vistos como tipos abstratos de dados, como números inteiros, reais e booleanos são tipos de dados.

5 TAD Lista Considere uma lista geral de forma A0, A1, A2,..., An-1. Onde o tamanho da lista é n. Se uma lista estiver vazia seu tamanho é 0 (zero). Para qualquer lista, exceto a lista vazia, Ai sucede Ai-1 (i <n) e que Ai-1 precede Ai (i> 0). O primeiro elemento da lista é A0, e o último elemento é An-1. A posição do elemento Ai em uma lista é i. Associado a estas definições um conjunto de operações é realizada na lista TAD, como: imprimir, esvaziar, procurar (retorna a posição da primeira ocorrência de um item), inserir e remover. Poderia ser acrescentadas ainda, operações como próxima e anterior, que retorna a posição do sucessor e predecessor, respectivamente Classe de Lista Encadeada Uma lista encadeada é uma estrutura de dados ligada que consiste numa cadeia única de nós, cada um está conectado ao seguinte por uma ligação. Este é o tipo mais simples de estrutura de dados encadeado, mas é, no entanto, amplamente utilizada. Figura 1 Exemplo de lista simplesmente encadeada. Fonte: A Figura 1 é um diagrama de uma lista encadeada. Em Java, um nó é um objeto de alguma classe nó. Cada nó tem um lugar (ou lugares) para alguns dados e um lugar para manter um link para outro nó. Os links são mostrados como setas que

6 3 apontam para o nó seguinte. Em Java, as ligações serão implementadas como referências a um nó armazenado em uma variável de instância do tipo de nó A Classe Nó A classe No1, no Quadro 1 é definida especificando, entre outras coisas, uma variável de instância do tipo No1 chamada link. Isto permite que cada nó armazene uma referência a outro nó do mesmo tipo. O primeiro nó em uma lista encadeada é chamado de nó cabeça. Começando no nó principal, é possível percorrer toda a lista encadeada, visitando cada nó exatamente uma vez. A cabeça é uma variável do tipo No1 que contém uma referência para o primeiro nó na lista encadeada isto é, uma referência para o nó principal. A função da variável cabeça é permitir que o código verifique o primeiro nó ou cabeça. Quadro 1 Definição da classe No1 1 package listaencadeada; 2 public class No1 { 3 private String item; 4 private int cont; 5 private No1 link;//um nó contém uma referência para outro nó. 6 public No1(){ 7 link = null; 8 item = null; 9 cont = 0; 10 } 11 public No1(String novoitem, int novocont, No1 valorlink){ 12 setdado(novoitem, novocont); 13 link = valorlink; 14 } 15 public void setdado(string novoitem, int novocont){ 16 item = novoitem;

7 4 17 cont = novocont; 18 } 19 public void setlink(no1 novolink){ 20 link = novolink; 21 } 22 public String getitem(){ 23 return item; 24 } 25 public int getcont(){ 26 return cont; 27 } 28 public No1 getlink(){ 29 return link; 30 } 31 } Classe Lista Encadeada Em Java, uma lista encadeada é um objeto. O Quadro 2 contém uma definição de uma classe de lista encadeada. Um objeto de lista encadeada não contém diretamente todos os nós da lista encadeada. Contém apenas a variável de instância head que faz uma referência ao primeiro nó. Cada nó pode ser alcançado a partir deste primeiro nó. A variável de instância link do primeiro e cada No1 da lista encadeada contém uma referência ao No1 seguinte na lista encadeada. Assim, as setas representadas na Figura 1 são compreendidas como referências em Java. Cada objeto do nó de uma lista encadeada contém (na sua variável de instância link) uma referência a outro objeto da classe No1, e este outro objeto contém uma referência a outro objeto da classe No1, e assim por diante até ao fim da lista encadeada.

8 5 Quadro 2 Definição da classe de lista encadeada 1 package listaencadeada; 2 public class ListaEncadeada1 { 3 private No1 head; 4 public ListaEncadeada1(){ 5 head = null; 6 } 7 /* 8 * Adiciona um nó no início da lista, com os dados especificados. 9 * O nó adicionado será o primeiro nó na lista. 10 */ 11 public void addinicio (String nomeitem, int contitem){ 12 head = new No1(nomeItem, contitem, head); 13 } 14 /* 15 * Remove o nó principal e retorna true se a lista contém pelo menos um nó. 16 * Retorna false se a lista está vazia. 17 */ 18 public boolean excluinohead(){ 19 if (head!= null){ 20 head = head.getlink(); 21 return true; 22 } 23 Else 24 return false; 25 } 26 public int tamanho(){ 27 int cont = 0; 28 No1 posicao = head; 29 while (posicao!= null){//o último nó é indicado pelo valor nulo. 30 cont++; 31 posicao = posicao.getlink();

9 6 32 } 33 return cont; 34 } 35 public boolean contem(string item){ 36 return (procura(item)!= null); 37 } 38 /* 39 * Localiza o primeiro nó que contém o item de destino, 40 * e retorna uma referência a esse nó. 41 * Se o alvo não estiver na lista, retorna nulo. 42 */ 43 private No1 procura(string alvo){ 44 No1 posicao = head; 45 String posicaoitem; 46 while (posicao!= null){ 47 posicaoitem = posicao.getitem(); 48 if (posicaoitem.equals(alvo)) 49 return posicao; 50 posicao = posicao.getlink(); 51 } 52 return null;//alvo não encontrado 53 } 54 public void imprimelista(){ 55 No1 posicao = head; 56 while (posicao!= null){ 57 System.out.println(posicao.getItem()+" " 58 + posicao.getcont()); 59 posicao = posicao.getlink(); 60 } 61 } 62 }

10 Demonstração da Classe de Lista Encadeada O Quadro 3 contém um programa simples que demonstra como alguns dos métodos na classe ListaEncadeada1 se comportam. Quadro 3 Demonstração de uma lista encadeada 1 package listaencadeada; 2 public class ListaEncadeadaDemo { 3 public static void main(string[] args) { 4 ListaEncadeada1 lista = new ListaEncadeada1(); 5 lista.addinicio("maçã", 1); 6 lista.addinicio("bananas", 2); 7 lista.addinicio("melão", 3); 8 System.out.println("A lista tem "+lista.tamanho() 9 +" nós"); 10 lista.imprimelista(); 11 if (lista.contem("melão")) 12 System.out.println("Melão está na lista."); 13 else 14 System.out.println("Melão não está na lista."); 15 lista.excluinohead(); 16 if (lista.contem("melão")) 17 System.out.println("Melão está na lista"); 18 else 19 System.out.println("Melão não está na lista"); 20 while (lista.excluinohead()); 21 System.out.println("Início da lista: "); 22 lista.imprimelista(); 23 System.out.println("Fim da lista."); 24 } 25 }

11 Classe Nó Interna É possível fazer uma lista encadeada, ou qualquer outra estrutura de dados semelhante, autossuficiente, tornando a classe nó uma classe interna. Fazendo, assim, a classe ListaEncadeada mais autônoma. O Quadro 4 apresenta a classe ListaEncadeada2 com um classe No interna. Quadro 4 Lista encadeada com uma classe No interna. public class ListaEncadeada2 { private class No {//início da classe No interna private String item; private No link; public No(){ link = null; item = null; } public No(String novoitem, No valorlink){ item = novoitem; link = valorlink; } }//fim da classe No interna private No head; public ListaEncadeada2(){ head = null; } Classe Genérica de Lista Encadeada O Quadro 5 mostra uma lista encadeada genérica com um parâmetro do tipo T para o tipo de dados armazenados em um nó. Esta lista genérica ligada tem os mesmos métodos, codificados basicamente da mesma forma, como a lista

12 9 encadeada do Quadro 4, mas foi utilizado um parâmetro de tipo para o tipo de dados dos nós. Quadro 5 Lista encadeada genérica 1 package listaencadeada; 2 public class ListaEncadeadaGenerica<T> { 3. private class No<T>{//classe No<T> interna 4 private T dado; 5 private No<T> link; 6 public No(){ 7 dado = null; 8 link = null; 9 } 10 public No(T novodado, No<T> valorlink){ 11 dado = novodado; 12 link = valorlink; 13 } 14 }//fim da classe No<T> interna 15 private No<T> head; 16 public ListaEncadeadaGenerica(){//construtor 17 head = null; 18 } 19 /* 20 * Adiciona um nó no início da lista, com os dados especificados. 21 * O nó adicionado será o primeiro nó na lista. 22 */ 23 public void addinicio(t itemdado){ 24 head = new No<T> (itemdado, head); 25 } 26 /* 27 * Remove o nó principal 28 * e retorna true se a lista contém pelo menos um nó. 29 * Retorna false se a lista está vazia. 30 */

13 10 31 public boolean excluino(){ 32 if (head!= null){ 33 head = head.link; 34 return true; 35 } 36 else 37 return false; 38 } 39 //Retorna o número de nós na lista. 40 public int tamanho(){ 41 int cont = 0; 42 No<T> posicao = head; 43 while (posicao!= null){ 44 cont++; 45 posicao = posicao.link; 46 } 47 return cont; 48 } 49 public boolean contem(t item){ 50 return (procura(item)!= null); 51 } 52 /* 53 * Localiza o primeiro nó que contém o item de destino, 54 * e retorna uma referência a esse nó. 55 * Se o alvo não estiver na lista, retorna nulo. 56 */ 57 private No procura(t alvo){ 58 No<T> posicao = head; 59 T posicaoitem; 60 while (posicao!= null){ 61 posicaoitem = posicao.dado; 62 //o tipo T deve ter um método equal bem definido para esse método funcionar.

14 11 63 if (posicaoitem.equals(alvo)) 64 return posicao; 65 posicao = posicao.link; 66 } 67 return null;//alvo não encontrado. 68 } 69 /* 70 * Localiza o primeiro nó que contém o alvo 71 * e retorna uma referência para os dados em que o nó. 72 * Se o alvo não estiver na lista, nulo é retornado. 73 */ 74 private T encontradado(t alvo){ 75 No<T> resultado = procura(alvo); 76 if (resultado == null) 77 return null; 78 Else 79 return resultado.dado; 80 } 81 public void imprimelista(){ 82 No<T> posicao = head; 83 while (posicao!= null){ 84 System.out.println(posicao.dado); 85 posicao = posicao.link; 86 } 87 } 88 public boolean vazio(){ 89 return (head == null); 90 } 91 public void limpa(){ 92 head = null; 93 } 94 /* 95 * Para duas listas serem iguais devem conter

15 12 96 * os mesmos itens de dados na mesma ordem. 97 * De igual modo T é usado para comparar itens de dados. 98 */ 99 public boolean igual(object outroobjeto){ 100 if (outroobjeto == null) 101 return false; 102 else if (getclass()!= outroobjeto.getclass()) 103 return false; 104 else { 105 ListaEncadeadaGenerica<T> outralista = 106 (ListaEncadeadaGenerica<T>) outroobjeto; 107 if (tamanho()!= outralista.tamanho()) 108 return false; 109 No<T> posicao = head; 110 No<T> outraposicao = outralista.head; 111 while (posicao!= null){ 112 if (! (posicao.dado.equals (outraposicao.dado)) ) 113 return false; 114 posicao = posicao.link; 115 outraposicao = outraposicao.link; 116 } 117 return true; 118 } 119 } 120 } A lista encadeada apresentada no Quadro 2 não tem um método igual, para manter os exemplos simples e não prejudicar a mensagem principal. No entanto, uma classe de lista encadeada normalmente deve ter um método igual. Existe mais que uma abordagem para a definição de um método igual para uma lista encadeada. Os mais óbvios são:

16 13 1. Duas listas encadeadas são iguais se contêm as mesmas entradas de dados (possivelmente em ordem diferente). 2. Duas listas encadeadas são iguais se contiverem as mesmas entradas de dados na mesma ordem, isto é, os dados do primeiro nó do objeto de chamada forem iguais ao de dados no primeiro nó da outra lista encadeada, os dados nos dois nós segundo são iguais, e assim por diante Classe Entrada para Dados de uma Lista Encadeada Genérica O programa de demonstração exibido no Quadro 7 usa a entrada da classe, definida no Quadro 6, como o tipo conectado para o parâmetro de tipo T. Quadro 6 Definição da classe de entrada 1 package listaencadeada; 2 public class Entrada { 3 private String item; 4 private int cont; 5 public Entrada(String itemdado, int contdado){ 6 item = itemdado; 7 cont = contdado; 8 } 9 public String tostring(){ 10 return (item + " "+ cont); 11 } 12 public boolean igual(object outroobjeto){ 13 if (outroobjeto == null) 14 return false; 15 else if (getclass()!= outroobjeto.getclass()) 16 return false; 17 else{ 18 Entrada outraentrada = (Entrada)outroObjeto; 19 return (item.equals(outraentrada.item)

17 14 20 && (cont == outraentrada.cont)); 21 } 22 } 23 } Quando da definição da classe ListaEncadeadaGenerica<T> no Quadro 5, o tipo de um nó é o No<T>, não é No. Se <T> for omitido, sua aplicação pode ou não receber uma mensagem de erro do compilador, dependendo de outros detalhes do código. O problema é que No realmente significa algo semelhante a um nó com dados tipo objeto, em vez de tipo de dados T. Se o compilador exibir uma mensagem de erro desconcertante, procure um <T> desaparecido. Às vezes, uma mensagem de aviso do compilador pode ser útil ao se cometer esse erro. Ao receber um aviso de que menciona uma conversão tipo de No a No<T>, procure uma <T> omitido Demonstração de uma Lista Encadeada Genérica A Quadro 7 demonstra o programa para uma lista encadeada genérica. Quadro 7 Aplicação usando lista encadeada genérica 1 package listaencadeada; 2 3 public class ListaEndadeadaGenericaDemo { 4 public static void main(string[] args) { 5 ListaEncadeadaGenerica<Entrada> lista = new ListaEncadeadaGenerica<Entrada>(); 6 Entrada entrada1 = new Entrada("Maçã", 1); 7 lista.addinicio(entrada1); 8 Entrada entrada2 = new Entrada("Banana", 2); 9 lista.addinicio(entrada2); 10 Entrada entrada3 = new Entrada("Melão", 3); 11 lista.addinicio(entrada3);

18 15 12 System.out.println("A lista tem "+lista.tamanho() 13 + " nós"); 14 lista.imprimelista(); 15 System.out.println("Fim da lista"); 16 } 17 } 10.2 EXERCÍCIOS 1. Qual a saída é produzida pelo seguinte código? ListaEncadeada1 lista = new ListaEncadeada1(); lista.addinicio( Torta de maçã, 1); lista.addinicio( Cachoro quente, 12); lista.addinicio( mostarda, 1); lista.imprimelista(); 2. Defina um método chamado Vazio a classe ListaEncadeada1 (Quadro 2), que retorna true se a lista estiver vazia e false se a lista tem pelo menos um nó nela. 3. Defina um método chamado Limpa a classe ListaEncadeada1 (Quadro2). O método não tem parâmetros e esvazia a lista. 4. Desenvolva um aplicativo chamado SimplesLivroApp que armazene números distintos de ISBN (por exemplo, integer) de alguns livros usando um lista encadeada e faça um método para exibi-los em ordem crescente. 5. Defina uma classe chamada Livro que armazene atributos como o título, número de ISBN, autor, edição, editora e ano de publicação. Forneça os métodos get e set nessa classe, para acessar esses atributos. Defina uma classe chamada LivroApp, que contém o método main. Nesta classe criar um livro alguns objetos com nomes distintos e armazene-os em uma lista encadeada. Desenvolva os seguintes métodos: Procurar por título Procurar por autor Procurar por editora

19 16 Cria uma classe Livro que Ordene por ordem crescente do ano de publicação (use um método de comparação dos dois objetos que retorne um valor booleano depois de comparar o ano de publicação dos dois objetos de livros). 6. Defina uma classe chamada Conta que contenha os atributos número da conta, nome do titular da conta, número de identificação do titular da conta, e ano de abertura de conta. Fornecer os métodos get e set desta classe para acessar os atributos. Defina uma classe chamada ContaApp, que contém o método main. Esta classe deve criar uma conta de alguns objetos com números de contas distintos e armazená-los em uma lista encadeada. O programa deve, então, pedir o número da conta como a entrada do console e exibir as informações de conta referente ao número de conta. 7. Defina uma classe chamada Aluno com três atributos, a saber, nome, curso e ano. Defina uma classe chamada EstudanteApp, que contém um método main. Crie objetos vários Estudantes com nomes diferentes, cursos, e ano (por exemplo, 2006, 2007). Adicione-os em uma lista encadeada. Crie métodos para: Exibir quantos alunos estão matriculados por determinado curso. Exibir quantos alunos se matricularam em determinado curso em um ano específico. 8. Dada uma lista, L, e outra lista, P, contendo inteiros classificados em ordem crescente. A operação printlots(l, P) vai imprimir os elementos em L que se encontram em posições especificadas pelo P. Por exemplo, se P = 1, 3, 4, 6, os elementos nas posições 1, 3, 4, e 6, em L são impressos. Escreva os método printlots(l, P). 9. (CVM 2010) Assinale a opção correta. a) Um nodo indicador de janelas armazena um valor especial chamado high window (HW). b) Um nodo prioritário é um nodo extra mantido sempre na posição mais acessada de uma lista encadeada. c) Um nodo cabeça é um nodo extra mantido sempre na primeira posição de uma lista encadeada. d) Um nodo sentinela autoriza o acesso a valores elevados chamados top values (TV). e) Um nodo cabeça armazena um valor especial chamado strong head (SH).

20 (PJ-PI 2009) Uma lista ligada é uma estrutura que corresponde a uma sequência lógica de entradas ou nós. Cada nó armazena a localização do próximo elemento na sequência, ou seja, de seu nó sucessor. Nessa estrutura, a) para estabelecer a ligação entre um nó já pertencente a uma lista e um novo nó, basta fazer com que o novo nó referencie no, camponext, o nó que anteriormente era referenciado pelo nó original, desde que esse campo não tenha o valor nulo. b) a existência de um ponteiro apontando para o 1º elemento e outro para o fim da lista permite que a inserção ou deleção de dados de um nó que esteja no meio da lista seja rapidamente executada. c) enquanto a entrada que determina o topo da lista é mantida em um nó descritor dessa lista, a entrada que marca o fim da lista é mantida fora do descritor. d) o armazenamento de uma lista requer uma área contígua de memória para permitir a otimização no processamento de criação e remoção de nós da lista. e) o armazenamento de uma lista não requer uma área contígua de memória. Como listas são estruturas dinâmicas, normalmente são definidos procedimentos que permitem criar e remover nós na memória. 11. Julgue se a afirmação abaixo é verdadeira ou falsa: ( ) A principal característica de uma lista encadeada é o fato de o último elemento da lista apontar para o elemento imediatamente anterior. 12. Desenvolva o projeto a seguir usando uma GUI. Considere-se um projetista que precisa desenvolver um sistema para automação da secretaria acadêmica de uma escola, com as seguintes necessidades. Cadastre em uma lista os nomes dos alunos, o curso atual, e quatro notas. O usuário do sistema pode querer saber: o Quantos alunos estão matriculados na escola. o Quantos alunos estão matriculados por curso. o A situação dos alunos por curso, se aprovados ou reprovados REFERÊNCIAS BIBLIOGRÁFICAS

21 18 DEITEL, Paul; DEITEL, Harvey. Java for Programmers. 2nd Ed. Boston: Pearson Education, Inc., 2012 SAVITCH, Walter. Absolute Java, 5ª ed. New Jersey: Pearson Education, WEISS, Mark A. Data Structures and Algorithm Analysis in Java, 3rd Ed. USA: Pearson2012

LISTA DUPLAMENTE ENCADEADA

LISTA DUPLAMENTE ENCADEADA COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO LISTA DUPLAMENTE ENCADEADA FOZ DO IGUAÇU 2013 LISTA DE QUADROS QUADRO 1 EXEMPLO DE UM NÓ PARA

Leia mais

JAVA COLLECTIONS API: LISTAS

JAVA COLLECTIONS API: LISTAS COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO JAVA COLLECTIONS API: LISTAS FOZ DO IGUAÇU 2013 LISTA DE QUADROS QUADRO 1 EXEMPLO DE LIST,

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO FOZ DO IGUAÇU 2013 LISTA

Leia mais

Estrutura de Dados Listas

Estrutura de Dados Listas Universidade Federal da Paraíba Centro de Informática Departamento de Informática Estrutura de Dados Listas 1 Tiago Maritan [email protected] Conteúdos Abordados O Conceito de Listas Listas com Representação

Leia mais

Orientação a Objetos AULA 09

Orientação a Objetos AULA 09 Orientação a Objetos AULA 09 Prof. Fabrício Martins Mendonça Conteúdo da Aula ü Coleções ü Coleções lista de objetos ü Coleções conjuntos 2 Coleções Podemos armazenar vários objetos em um array e este

Leia mais

Edital de Seleção 024/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Edital de Seleção 024/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões Edital de Seleção 024/2017 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: «Nome» INSCRIÇÃO: «Inscrição» Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome

Leia mais

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

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA Pilhas Estrutura de Dados A Estrutura de Dados Pilha Pilha é uma estrutura de dados usada em programação, que tem uma regra

Leia mais

4 Conceito de Herança

4 Conceito de Herança 4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança

Leia mais

Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 em PDF via Moodle: Escolha apenas 5 exercícios para entrega Exercício 01 (Pilhas)

Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 em PDF via Moodle: Escolha apenas 5 exercícios para entrega Exercício 01 (Pilhas) Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 Lista Obrigatória 02 - Prof. Rafael Oliveira (Deve ser entregue em PDF via Moodle: Escolha apenas 5 exercícios para entrega) Exercício 01

Leia mais

Linguagem de Programação II Implementação

Linguagem de Programação II Implementação Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação 4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança

Leia mais

Pilha e Fila. Pilha em C. Definir o registro que representará cada elemento da pilha.

Pilha e Fila. Pilha em C. Definir o registro que representará cada elemento da pilha. 1 Estrutura de Dados II Pilha e Fila Pilha em C Definir o registro que representará cada elemento da pilha. No início a pilha estará vazia, logo o ponteiro topo tem o valor NULL. As operações de inserção

Leia mais

Edital de Seleção 023/2018 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Edital de Seleção 023/2018 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões Edital de Seleção 023/2018 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação 4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança

Leia mais

JAVA. Professor: Bruno Toledo

JAVA. Professor: Bruno Toledo JAVA Professor: Bruno Toledo Funcionamento de uma LP Em uma Linguagem de Programação (LP) como C e Pascal, temos o seguinte quadro quando vamos compilar um programa. Código fonte em c Teste.c Gera código

Leia mais

Lista de Exercícios sobre Listas Implementadas por Encadeamento

Lista de Exercícios sobre Listas Implementadas por Encadeamento Lista de Exercícios sobre Listas Implementadas por Encadeamento 1) Se você tem de escolher entre uma representação por lista encadeada ou uma representação usando posições contíguas de memória para um

Leia mais

ESTRUTURAS DE DADOS E ALGORITMOS LISTA LIGADA

ESTRUTURAS DE DADOS E ALGORITMOS LISTA LIGADA ESTRUTURAS DE DADOS E ALGORITMOS 1 LISTA LIGADA Adalberto Cajueiro Departamento de Sistemas e Computação Universidade Federal de Campina Grande LISTA LIGADA (LINKED LIST) É uma estrutura de dados em que

Leia mais

Listas Estáticas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.

Listas Estáticas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof. Listas Estáticas SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic [email protected] Instituto de

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Prof. Kléber de Oliveira Andrade [email protected] Coleções, Propriedades, Resources e Strings (Parte 2) Coleções É comum usarmos um objeto que armazena vários outros

Leia mais

Estruturas de Dados Encadeadas

Estruturas de Dados Encadeadas CURSO: Ciência da Computação DATA: / / 2016 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 14 APRESENTAÇÃO Na aula de hoje vamos apresentar e discutir conceitos

Leia mais

Coleções. Prof. Marcelo Roberto Zorzan

Coleções. Prof. Marcelo Roberto Zorzan Coleções Prof. Marcelo Roberto Zorzan Coleções Aula de Hoje Introdução Coleções podem representar estruturas de dados complexas de forma transparente para o programador. Exemplos: Músicas favoritas armazenadas

Leia mais

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU Aula 5 POO 1 Encapsulamento Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações

Leia mais

Prova 2 PMR3201 1o. semestre 2015 Prof. Thiago Martins

Prova 2 PMR3201 1o. semestre 2015 Prof. Thiago Martins Prova PMR0 o semestre 0 Prof Thiago Martins Instruções: Escreva o nome e o número USP na folha de papel almaço ( pontos) Uma árvore binária de busca é uma árvore binária na qual para qualquer sub-árvore

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS: CONSTRUTORES

PROGRAMAÇÃO ORIENTADA A OBJETOS: CONSTRUTORES COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO PROGRAMAÇÃO ORIENTADA A OBJETOS: CONSTRUTORES FOZ DO IGUAÇU 2013 LISTA DE FIGURAS FIGURA 1

Leia mais

AULA 6 - ARRAYS. Array de 10 elementos

AULA 6 - ARRAYS. Array de 10 elementos 1 AULA 6 - ARRAYS Arrays são objetos que armazenam diversas variáveis do mesmo tipo. Eles podem conter variáveis de referência primitivas ou de objeto, mas o array propriamente dito sempre será um objeto

Leia mais

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Aula de Hoje Abstração de Dados Classes e Objetos Definição de Métodos Métodos com parâmetro Abstração de Dados Processo mental através do qual

Leia mais

Iteradores. Iteradores. Isabel Harb Manssour. Roteiro. Coleções

Iteradores. Iteradores. Isabel Harb Manssour. Roteiro. Coleções Implementação de Genéricos, Iteradores Isabel Harb Manssour Porto Alegre, maio de 2006 Roteiro Implementação de Genéricos Coleções Conceito de Genérico Implementação Iteradores Conceito Utilização ForEach

Leia mais

FILAS. As coisas de que uma fila é feita serão chamadas itens. Os itens podem ser números, strings, structs, etc., etc.

FILAS. As coisas de que uma fila é feita serão chamadas itens. Os itens podem ser números, strings, structs, etc., etc. KATIA LIMA FILAS RAFAEL DA SILVA REIAS JEFFERSON DA SILVA OLIVEIRA RAFFAELA LEITE SANTANA EXISTEM MUITOS EXEMPLOS DE FILA NO MUNDO REAL: UMA FILA DE BANCO; NO PONTO DE ÔNIBUS; UM GRUPO DE CARROS AGUARDANDO

Leia mais

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação

Leia mais

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó

Leia mais

Programação II. Listas Encadeadas (Linked Lists) Bruno Feijó Dept. de Informática, PUC-Rio

Programação II. Listas Encadeadas (Linked Lists) Bruno Feijó Dept. de Informática, PUC-Rio Programação II Listas Encadeadas (Linked Lists) Bruno Feijó Dept. de Informática, PUC-Rio Vetores vs Estruturas Dinâmicas Vetores (arrays): Ocupa um espaço contíguo de memória Permite acesso randômico

Leia mais

Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis

Leia mais

Listas Lineares. continuando...

Listas Lineares. continuando... Listas Lineares continuando... 1 Listas! relembrando: listas lineares agrupa informações referentes aum conjunto de elementos que, de alguma forma, se relacionam entre si! Uma lista linear ou está vazia,

Leia mais

Classes, instâncias e métodos de acesso. prática

Classes, instâncias e métodos de acesso. prática Classes, instâncias e métodos de acesso prática Exercício 01 Crie a classe Ponto que possui duas dimensões (int x, int y). Crie os métodos get e set. Faça o main para instanciar e testar a classe. Adicione

Leia mais

Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes Aula 08 Estruturas de Condição Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Entrada de Dados; Estruturas de Controle: Estrutura de Sequência;

Leia mais

Estrutura de Dados. Carlos Eduardo Batista. Centro de Informática - UFPB

Estrutura de Dados. Carlos Eduardo Batista. Centro de Informática - UFPB Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB [email protected] Listas e Filas Estruturas de Dados 2 Estrututuras de dados lineares Pilhas (stack) Estrutura de dados onde a inserção

Leia mais

Lista de Exercícios 04

Lista de Exercícios 04 Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Disciplina: BCC202 - Estruturas de Dados I Professor: Túlio Toffolo (www.decom.ufop.br/toffolo)

Leia mais

Visibilidade e Encapsulamento

Visibilidade e Encapsulamento Visibilidade e Encapsulamento Professor: Ricardo Luis dos Santos IFSUL 2016 Agenda Pacotes Visibilidade Encapsulamento Hands-On 2 Pacotes Em Java, a visibilidade ou grau de acesso a um determinado atributo

Leia mais

Listas Lineares. Livro Projeto de Algoritmos Nívio Ziviani Capítulo 3 Seção 3.1

Listas Lineares. Livro Projeto de Algoritmos Nívio Ziviani Capítulo 3 Seção 3.1 Listas Lineares Elerson R. S. Santos [email protected] Livro Projeto de Algoritmos Nívio Ziviani Capítulo 3 Seção 3.1 http://www2.dcc.ufmg.br/livros/algoritmos/ Listas Lineares Uma das formas mais simples

Leia mais

Algoritmos e estrutura de dados

Algoritmos e estrutura de dados Algoritmos e estrutura de dados Listas Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Listas Listas encadeadas

Leia mais

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Estruturas de Seleção if... else Operador condicional (? : ) switch Aula de Hoje Estruturas de Repetição: while/do... while/for

Leia mais

5 Arrays. 5.1 Criando um array. 5.2 Inicializando arrays. c:\>java Array Janeiro tem 31 dias.

5 Arrays. 5.1 Criando um array. 5.2 Inicializando arrays. c:\>java Array Janeiro tem 31 dias. 5 Arrays Arrays são grupos de variáveis do mesmo tipo. As arrays podem armazenar variáveis de qualquer tipo (tipo de dado primitivo ou objetos), mas é importante lembrar que todos os valores devem ser

Leia mais

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista

Leia mais

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó

Leia mais

Pilhas e Filas Encadeadas. Algoritmos e Estruturas de Dados I

Pilhas e Filas Encadeadas. Algoritmos e Estruturas de Dados I Pilhas e Filas Encadeadas Algoritmos e Estruturas de Dados I Pilha Lista linear: pilha Represente graficamente o funcionamento da pilha, representando a pilha vazia, a entrada e a saída de elementos Quais

Leia mais

Filas. Prof. Túlio Toffolo BCC202 Aula 12 Algoritmos e Estruturas de Dados I

Filas. Prof. Túlio Toffolo  BCC202 Aula 12 Algoritmos e Estruturas de Dados I Filas Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 12 Algoritmos e Estruturas de Dados I O que é uma fila? 1 4 2 3 Fila 1 2 3 4 TAD Fila Tipo Abstrato de dados com a seguinte característica:

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

Comando de Seleção em Java

Comando de Seleção em Java Universidade Federal do ABC (UFABC) Disciplina: Processamento da Informação (BC-0505) Assunto: Comando de Seleção Comando de Seleção em Java Conteúdo 1. Introdução... 1 2. Comando de seleção... 2 3. Comandos

Leia mais

Vetores Unimensionais

Vetores Unimensionais Vetores Unimensionais Objetivos Entender a importância e a necessidade do uso de Vetores Definição de Manipulação de Vetores Inserir elementos em um vetor (usando laços ou não) Imprimir elementos de um

Leia mais

nome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){

nome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){ UNIVERSIDADE FEDERAL DE SANTA CATARINA - Departamento de Automação e Sistemas PROGRAMAÇÃO DE SISTEMAS AUTOMATIZADOS - 2016/2 - P2 Nome: ------------------------------------------------------------------------------------------------------

Leia mais

API e Coleções Java. Sérgio Luiz Ruivace Cerqueira

API e Coleções Java. Sérgio Luiz Ruivace Cerqueira API e Coleções Java Sérgio Luiz Ruivace Cerqueira [email protected] Java API Introdução API Endereço http://download.oracle.com/javase/6/docs/api/ API - Descrição API - Resumo API - Detalhes Coleções

Leia mais

Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação

Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Introdução Além de utilizar as classes presentes na biblioteca padrão, programadores podem definir suas próprias

Leia mais

Programação Orientada por Objectos 2010/11. 2º Exame 28 de Junho de 2011

Programação Orientada por Objectos 2010/11. 2º Exame 28 de Junho de 2011 Programação Orientada por Objectos 2010/11 2º Exame 28 de Junho de 2011 Instruções (leia com cuidado): Escreva de forma CLARA o seu nome e número em todas as folhas. O exame contém 8 páginas dividido em

Leia mais

Lição 4 Fundamentos da programação

Lição 4 Fundamentos da programação Lição 4 Fundamentos da programação Introdução à Programação I 1 Objetivos Ao final desta lição, o estudante será capaz de: Identificar as partes básicas de um programa em Java Reconhecer as diferenças

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Estruturas de Dados Filas

Estruturas de Dados Filas Estruturas de Dados Filas Roteiro Introdução Definição de Fila (Queue) Aplicações Operações sobre Fila Implementação de Fila Com vetores Com listas encadeadas Exercícios Introdução Estamos acostumados

Leia mais

Estruturas de Dados Pilhas, Filas, Listas

Estruturas de Dados Pilhas, Filas, Listas PMR2300 Escola Politécnica da Universidade de São Paulo Introdução Estruturas de dados são objetos que armazenam dados de forma eficiente, oferecendo certos serviços para o usuário (ordenação eficiente

Leia mais

Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo

Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo PMR2300 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó (exceto a

Leia mais

Aula 14 Listas Duplamente Encadeadas. prof Leticia Winkler

Aula 14 Listas Duplamente Encadeadas. prof Leticia Winkler Aula 14 Listas Duplamente Encadeadas prof Leticia Winkler 1 Lista Duplamente Encadeada É um tipo de lista encadeada que pode ser vazia (NULL) ou que pode ter um ou mais nós, sendo que cada nó possui dois

Leia mais

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){

Leia mais

Vetores Unimensionais

Vetores Unimensionais Vetores Unimensionais Objetivos Entender a importância e a necessidade do uso de Vetores Definição de Manipulação de Vetores Inserir elementos em um vetor (usando laços ou não) Imprimir elementos de um

Leia mais

Linguagem de Programação II Implementação

Linguagem de Programação II Implementação Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa

Leia mais

Árvores & Árvores Binárias

Árvores & Árvores Binárias Árvores & Árvores Binárias Problema Implementações do TAD Lista Linear Lista encadeada eficiente para inserção e remoção dinâmica de elementos, mas ineficiente para busca Lista seqüencial (ordenada) Eficiente

Leia mais

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em: RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em: http://www.oxnar.com.br/aulas/java ATIVIDADE ELABORAR O PROGRAMA DE CÁLCULOS DE ÁREAS USANDO

Leia mais

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga Professora Sheila Cáceres Sobrecarga (overloading) Na mesma classe podemos definir vários métodos com o mesmo nome Sobrecarga O tipo

Leia mais

Listas Lineares Ordenadas

Listas Lineares Ordenadas Listas Lineares Ordenadas Algoritmos e Estruturas de Dados I Nesta apresentação será apresentado o ADT lista linear ordenada Uma lista linear ordenada, ou simplesmente lista ordenada há uma ordem entre

Leia mais

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos Encapsulamento e Métodos (Construtores e Estáticos) Sobrecarga de Métodos João Paulo Q. dos Santos [email protected] Roteiro Conceitos sobre Encapsulamento; Variável this; Métodos Construtores;

Leia mais

4 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

4 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS Programação Orientada a Objetos Aula 4 Programação Orientada a Objetos Entrada e Saída de Dados GUI em Java: pacote Swing O exemplo abaixo emprega o pacote Swing (javax.swing), que emprega componentes

Leia mais

Universidade Estadual de Santa Cruz

Universidade Estadual de Santa Cruz Universidade Estadual de Santa Cruz Departamento de Ciências Exatas e Tecnológicas DCET Bacharelado em Ciência da Computação Professor: Esbel Tomás Valero Orellana Linguagem de Programação III Introdução

Leia mais

S U M Á R I O. Definição de Estrutura de Dados. Vetores. Listas Ligadas. Pilhas. Filas

S U M Á R I O. Definição de Estrutura de Dados. Vetores. Listas Ligadas. Pilhas. Filas ESTRUTURA DE DADOS DEBORAH FERREIRA S U M Á R I O Definição de Estrutura de Dados 1 Vetores 2 Listas Ligadas 4 Pilhas 6 Filas 8 D E F I N I Ç Ã O D E E S T R U T U R A D E D A D O S Estruturas de dados

Leia mais

Herança. Prof. Fernando V. Paulovich 23 de agosto de 2010

Herança. Prof. Fernando V. Paulovich  23 de agosto de 2010 Herança SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic [email protected] Instituto de Ciências Matemáticas e de Computação(ICMC) Universidade

Leia mais

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; } Lista 05 Herança 1. Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois métodos. Perceba que dentro do método main estão sendo invocados métodos

Leia mais

Algoritmos e Estrutura de Dados II. Árvore. Prof a Karina Oliveira.

Algoritmos e Estrutura de Dados II. Árvore. Prof a Karina Oliveira. Algoritmos e Estrutura de Dados II Árvore Prof a Karina Oliveira [email protected] Introdução Estruturas de dados lineares (pilha, fila) são estruturas que guardam coleções de elementos que são acessados

Leia mais

Exercícios sobre repetição. 1. Escreva um método que lê via teclado 8 números e retorna a quantidade de negativos.

Exercícios sobre repetição. 1. Escreva um método que lê via teclado 8 números e retorna a quantidade de negativos. Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Lista de exercícios 6 Exercícios sobre repetição 1. Escreva um método que lê via teclado 8 números e retorna

Leia mais

AULA TEÓRICA 7 Tema 7. Colecções (cont.) Vector Ø Criação Ø Manipulação

AULA TEÓRICA 7 Tema 7. Colecções (cont.) Vector Ø Criação Ø Manipulação AULA TEÓRICA 7 Tema 7. Colecções (cont.) Vector Ø Criação Ø Manipulação 1 Vector Os vectores são semelhantes aos arrays, pois também podem conter um conjunto de objectos aos quais é atribuído um índice.

Leia mais

Árvores Binárias de Busca (ABB) 18/11

Árvores Binárias de Busca (ABB) 18/11 Árvores Binárias de Busca (ABB) 18/11 Definição Uma Árvore Binária de Busca possui as mesmas propriedades de uma AB, acrescida da seguintes propriedade: Para todo nó da árvore, se seu valor é X, então:

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem

Leia mais

Lista Ordenada. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35

Lista Ordenada. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Lista Ordenada Estrutura de Dados Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Conteúdo Definição Operações Representações Contígua Encadeada Aplicação Exercícios 2

Leia mais