Bruce Eckel, Thinking in Patterns with Java, cf. José Valente de Oliveira 13-1

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

Download "Bruce Eckel, Thinking in Patterns with Java, cf. José Valente de Oliveira 13-1"

Transcrição

1 Nested Classes II Erich Gamma, Richard Helm, Ralph Johso, Joh Vlissides, Desig Patters Elemets of Reusable Object- Orieted Software, Addiso-Wesley, 1995, AKA GoF Bruce Eckel, Thikig i Patters with Java, cf. jvo@ualg.pt José Valete de Oliveira 13-1 Overview What are ested classes? Why ad whe should we use ested classes? Nested classes q static member classes ad (static) member iterfaces q member classes (o-static ested classes or ier classes) q local classes q aoymous classes The Iterator desig patter q The iterator for-each jvo@ualg.pt José Valete de Oliveira

2 Example: A sigle liked list jvo@ualg.pt José Valete de Oliveira 13-3 Exemplo 2: Listas simplesmete ligadas Termiologia iclui: - lista vazia, i.e., lista sem ós; - comprimeto, i.e., úmero de ós da lista ligada; - cabeça da lista, i.e., valor do item do primeiro ó; - cauda da lista, lista que se obtém elimiado o primeiro ó. jvo@ualg.pt José Valete de Oliveira

3 Listas simplesmete ligadas ou cadeias Algumas fuções elemetares sobre cadeias: - devolver a cabeça; - limpar a lista; - devolver a cauda, - duplicar a lista; - devolver o comprimeto; - cocatear 2 listas. - verificar se está vazia; - iserir um ovo ó; - remover um ó; - trocar a cauda de 2 listas jvo@ualg.pt José Valete de Oliveira 13-5 Exemplo 2: Listas simplesmete ligadas Iserção deovo óumacadeia de iteiros Remoção deum ó jvo@ualg.pt José Valete de Oliveira

4 Example 2: A liked list 0.1 */ public class SLL<T> { private it sz; private Node<T> head; private static class Node<T> { T item; Node ext; Node (T t) { item = t; ext = ull; jvo@ualg.pt José Valete de Oliveira 13-7 Example 2: A liked list /** isert a ew ode with item o at the head of the list */ public void isert(t o) { Node<T> = ew Node<T>(o);.ext = head; head = ; sz++; jvo@ualg.pt José Valete de Oliveira

5 Example 2: A liked list public T head() { retur head.item; public T removehead(){ T tmp = head.item; head = head.ext; sz--; retur tmp; jvo@ualg.pt José Valete de Oliveira 13-9 Example 2: A liked list public Strig tostrig() { Strig r = ew Strig(); Node<T> tmp = head; while (tmp!= ull) { r += tmp.item.tostrig() + " "; tmp = tmp.ext; retur r; jvo@ualg.pt José Valete de Oliveira

6 Example 2: A liked list public class Mai { public static void mai(strig[] args) { SLL<Character> lst = ew SLL<Character>(); for(it i=0; i< 3; i++) lst.isert(character.fordigit(i,10)); System.out.pritl(lst); lst.removehead(); System.out.pritl(lst); System.out.pritl(lst.head()); jvo@ualg.pt class SLL<T> { private it sz; private ILik<T> head; 1.1 */ private iterface ILik<T> { // static by defiitio ILik<T> ext(); void setnext(ilik<t> l); T item(); // isert a ILik at the head private void isert(ilik<t> l) { l.setnext(head); head = l; sz++; public void isert(t o) { ILik<T> l = ew Likable<T>(o); isert(l); jvo@ualg.pt José Valete de Oliveira

7 private static class Likable<T> implemets ILik<T> { private T item; private ILik<T> ext; public Likable(T o) { item = o; ext = ull; public ILik<T> ext() { retur ext; public void setnext(ilik<t> l) { ext = l; public T item() { retur item; // // ed of class SLL<T> jvo@ualg.pt José Valete de Oliveira Example 2: liked lists Cliet code public class SLLCliete { public static void mai(strig [] s) { SLL<Strig> lst = ew SLL<Strig>(); lst.isert( Aa ); lst.isert( Alice ); //... jvo@ualg.pt José Valete de Oliveira

8 Ier classes class OuterClass { class IerClass { // // jvo@ualg.pt José Valete de Oliveira Local classes Like local variables local classes are defied iside a block, ad exist oly withi that block. A local class is a ier class, i.e., a local class is (also) a member of its outerclass A local class ca assess variables withi the scope of its outerclass The istaces of a local class are o diferet from the istaces ay other classe fial is the sole applicable qualifier jvo@ualg.pt José Valete de Oliveira

9 The liked list example, a iterator for public class SLLCliete { public static void mai(strig [] s) { SLL<Strig> lst = ew SLL<Strig>(); lst.isert( Aa ); lst.isert( Alice ); for(strig elemet: lst) System.out.pritl(elemet); //... >java SLLCliet <ret> Alice Aa > jvo@ualg.pt José Valete de Oliveira Summary Nested classes q static member class (or static member iterfaces) q member classes (ier classes, or o-static ested classes) q local classes jvo@ualg.pt José Valete de Oliveira

Streams II. Overview. The notion of stream Java I/O stream hierarchy Files, and file access using streams Serialization

Streams II. Overview. The notion of stream Java I/O stream hierarchy Files, and file access using streams Serialization Streams II Bruce Eckel, Thikig i Java, 4th editio, PreticeHall, New Jersey, cf. http://midview.et/books/tij4 jvo@ualg.pt José Valete de Oliveira 16-1 Overview The otio of stream Java I/O stream hierarchy

Leia mais

Tipos genéricos (cont)

Tipos genéricos (cont) Tipos geéricos (cot) Bruce Eckel, Thikig i Java, 4th editio, PreticeHall, New Jersey, cf. http://midview.et/books/tij4 Gilad Bracha, Geerics i the Java Programmig Laguage a.k.a The Geerics Tutorial, Julho

Leia mais

Java Collections Framework III

Java Collections Framework III Java Collectios Framework III Bruce Eckel, Thikig i Java, 4th editio, PreticeHall, New Jersey, cf. http://midview.et/books/tij4 Gilad Bracha, Geerics i the Java Programmig Laguage a.k.a The Geerics Tutorial,

Leia mais

Errors and exceptions

Errors and exceptions Errors ad exceptios Bruce Eckel, Thikig i Java, 4th editio, PreticeHall, New Jersey, cf. http://midview.et/books/tij4 José Valete de Oliveira 14-1 Overview Itrodução Testes e Testes uitários Noção de Exceção

Leia mais

Java Collections Framework II

Java Collections Framework II Java Collections Framework II Bruce Eckel, Thinking in Java, 4th edition, PrenticeHall, New Jersey, cf. http://mindview.net/books/tij4 Gilad Bracha, Generics in the Java Programming Language a.k.a The

Leia mais

English version at the end of this document

English version at the end of this document English version at the end of this document Ano Letivo 2016-17 Unidade Curricular PROGRAMAÇÃO ORIENTADA POR OBJETOS Cursos ENGENHARIA ELETRÓNICA E TELECOMUNICAÇÕES (Mestrado Integrado) ENGENHARIA INFORMÁTICA

Leia mais

English version at the end of this document

English version at the end of this document English version at the end of this document Ano Letivo 2017-18 Unidade Curricular PROGRAMAÇÃO ORIENTADA POR OBJETOS Cursos ENGENHARIA INFORMÁTICA (1.º ciclo) ENGENHARIA ELETRÓNICA E TELECOMUNICAÇÕES (Mestrado

Leia mais

Programação com Objectos. Programação Centrada em Objectos. Home Page. Ano Lectivo 2008/2009 1º Semestre. Objectivos Programa Bibliografia Avaliação

Programação com Objectos. Programação Centrada em Objectos. Home Page. Ano Lectivo 2008/2009 1º Semestre. Objectivos Programa Bibliografia Avaliação Última actualização: 25 de Outubro de 2008 Ano Lectivo 2008/2009 1º Semestre ção com Objectos ção Centrada em Objectos Docente: Paulo Leocádio Web: www.uac.pt/~pleocadio E-mail: pleocadio@uac.pt : Competências:

Leia mais

Tipos abstratos de dados (TADs)

Tipos abstratos de dados (TADs) Tipos abstratos de dados (TADs) Um TAD é uma abstração de uma estrutura de dados Um TAD especifica: Dados armazeados Operações sobre os dados Codições de erros associadas à opers Exemplo: TAD que modela

Leia mais

Herança e passagem de parâmetro AULA 09

Herança e passagem de parâmetro AULA 09 Itrodução a Programação IF669 http://www.ci.ufpe.br/~if669 Heraça e passagem de parâmetro AULA 09 Ricardo Massa F. Lima rmfl@ci.ufpe.br Sérgio C. B. Soares scbs@ci.ufpe.br Itrodução Imagie que temos uma

Leia mais

Tipos genéricos (cont)

Tipos genéricos (cont) Tipos genéricos (cont) Bruce Eckel, Thinking in Java, 4th edition, PrenticeHall, New Jersey, cf. http://mindview.net/books/tij4 Gilad Bracha, Generics in the Java Programming Language a.k.a The Generics

Leia mais

Bruce Eckel, Thinking in Java, 4th edition, PrenticeHall, New Jersey, cf. http://mindview.net/books/tij4. jvo@ualg.pt José Valente de Oliveira 16-1

Bruce Eckel, Thinking in Java, 4th edition, PrenticeHall, New Jersey, cf. http://mindview.net/books/tij4. jvo@ualg.pt José Valente de Oliveira 16-1 Streams III Bruce Eckel, Thinking in Java, 4th edition, PrenticeHall, New Jersey, cf. http://mindview.net/books/tij4 jvo@ualg.pt José Valente de Oliveira 16-1 Previously: Serializing a collection public

Leia mais

Módulo III Padrões GOF: Iterator

Módulo III Padrões GOF: Iterator Módulo III Padrões GOF: Iterator Professores Eduardo Bezerra edubezerra@gmail.com Ismael H F Santos ismael@tecgraf.puc-rio.br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Ementa Padrões

Leia mais

Desenho e documentação de arquitectura de software e de aplicações empresariais

Desenho e documentação de arquitectura de software e de aplicações empresariais Desenho e documentação de arquitectura de software e de aplicações empresariais João Pascoal Faria Laboratório de Engenharia de Software 10 de Novembro de 2003 1 Definição de arquitectura de software Arquitectura

Leia mais

Errors and exceptions

Errors and exceptions Errors and exceptions Bruce Eckel, Thinking in Java, 4th edition, PrenticeHall, New Jersey, cf. http://mindview.net/books/tij4 14-1 Overview Introdução Testes e Testes unitários Noção de Exceção A hierarquia

Leia mais

PROGRAMAÇÃO JAVA. Parte 3

PROGRAMAÇÃO JAVA. Parte 3 PROGRAMAÇÃO JAVA Parte 3 O PRIMEIRO PROGRAMA O Java executa uma instrução a seguir a outra, pela ordem em que estão escritas. Essa sequência poderá ser contrariada de forma especial: Alternativas: Ciclos

Leia mais

Binding and Casting. Bruce Eckel, Thinking in Java, 4th edition, PrenticeHall, New Jersey, cf.

Binding and Casting. Bruce Eckel, Thinking in Java, 4th edition, PrenticeHall, New Jersey, cf. Binding and Casting Bruce Eckel, Thinking in Java, 4th edition, PrenticeHall, New Jersey, cf. http://mindview.net/books/tij4 Binding Intuitively, binding occours whenever a correspondence is stabilished

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

Programação de Computadores II. Recursividade

Programação de Computadores II. Recursividade Programação de Computadores II Recursividade Livro: Waldemar Celes, Reato Cerqueira, José Lucas Ragel. Itrodução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos origiais dos pros.: Marco

Leia mais

MAC122 Princípios de Desenvolvimento de Algoritmos - BM,BMA

MAC122 Princípios de Desenvolvimento de Algoritmos - BM,BMA DCC IME USP Routo Terada Sala 208-C Tel.: 09 598 e-mail rt@ime.usp.br MAC22 Pricípios de Desevolvimeto de Algoritmos - BM,BMA Segudo Semestre de 20 Exercício-Programa, Peso Observações Data de etrega:

Leia mais

Módulo I Princípios e Padrões de Projeto de SW em Java

Módulo I Princípios e Padrões de Projeto de SW em Java Módulo I Princípios e Padrões de Projeto de SW em Java Professores Eduardo Bezerra edubezerra@gmail.com Ismael H F Santos ismael@tecgraf.puc-rio.br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br

Leia mais

Arquitectura de Sistemas de Software

Arquitectura de Sistemas de Software Ou um prédio de 6 andares... Arquitectura de Sistemas de Software Ademar Aguiar www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt Arquitectura de Sistemas de Software, LEIC/MEI, 2003/2004 1 Arquitectura de

Leia mais

Introdução à Computação

Introdução à Computação Itrodução à Computação Recursividade Aula de hoje Recursividade Fução orial Voto de cofiaça recursivo Fução de Fiboacci Desvatages Professor: Adré de Carvalho Recursão Muitas estratégias de programação

Leia mais

Exemplos em Go e Python ALÉM DOS PARADIGMAS. Entenda as características da linguagem e saiba escolher e adaptar padrões de projeto

Exemplos em Go e Python ALÉM DOS PARADIGMAS. Entenda as características da linguagem e saiba escolher e adaptar padrões de projeto Exemplos em Go e Python ALÉM DOS PARADIGMAS Entenda as características da linguagem e saiba escolher e adaptar padrões de projeto Luciano Ramalho @ramalhoorg Sometimes you need a blank template. 2 FLUENT

Leia mais

Padrões de Projeto. Padrões de Projeto. Além dos 23 Padrões GoF. Os 23 Padrões de Projeto. Documentação de um Padrão. Classificação dos Padrões

Padrões de Projeto. Padrões de Projeto. Além dos 23 Padrões GoF. Os 23 Padrões de Projeto. Documentação de um Padrão. Classificação dos Padrões DCC / ICEx / UFMG Padrões de Projeto Padrões de Projeto Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para

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

ProgamaçãoOrientada pelos Objetos B. Vectores

ProgamaçãoOrientada pelos Objetos B. Vectores ProgamaçãoOrientada pelos Objetos B Vectores 2 Introdução aos vectoresem Java Os slidesseguintes são utilizados na disciplina de Introdução à Programação da LEI 3 Estação Meteorológica Vectores 4 Neste

Leia mais

Paginador. Intenção. Motivação

Paginador. Intenção. Motivação Paginador Intenção Fornecer um mecanismo que permita o acesso a um conjunto de objetos por partes, definidas como páginas, mantendo o controle da navegação dos objetos na página corrente. Motivação Vamos

Leia mais

Arquitectura de Sistemas de Software

Arquitectura de Sistemas de Software Arquitectura de Sistemas de Software Ademar Aguiar www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt Arquitectura de Sistemas de Software, LEIC/MEI, 2003/2004 1 Arquitectar... Arquitectar uma pequena cabana

Leia mais

GGI026 - Árvore rubro-negra - Remoção

GGI026 - Árvore rubro-negra - Remoção GGI026 - Árvore rubro-negra - Remoção Marcelo K. Albertini 11 de Setembro de 2013 2/28 Aula de hoje Nesta aula veremos Remoção em Árvores rubro-negras 3/28 Remoção em árvores rubro-negras Metodologia Possibilidade

Leia mais

ORIENTAÇÃO A OBJETOS

ORIENTAÇÃO A OBJETOS ORIENTAÇÃO A OBJETOS Mário Meireles Teixeira mario@deif.ufma.br O que é Orietação a Objetos Paradigma modero da egeharia de software Iflui a aálise, projeto (desig) e programação A aálise orietada a objetos

Leia mais

CIS 500 Software Foundations Fall September(continued) IS 500, 8 September(continued) 1

CIS 500 Software Foundations Fall September(continued) IS 500, 8 September(continued) 1 CIS 500 Software Foundations Fall 2003 8 September(continued) IS 500, 8 September(continued) 1 Polymorphism This version of issaidtobepolymorphic,becauseitcanbeapplied to many different types of arguments.

Leia mais

Prototype, um Design Patterns de Criação

Prototype, um Design Patterns de Criação Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe

Leia mais

2 Vectores de objectos

2 Vectores de objectos 2 Vectores de objectos Agenda de contactos 3 Objectivo Manipular uma agenda de contactos. Descrição e Funcionalides Cada contacto na agenda caracteriza-se por um nome, um telefone e um e-mail. Na agenda,

Leia mais

Módulo III Padrões GOF

Módulo III Padrões GOF Módulo III Padrões GOF Professores Eduardo Bezerra edubezerra@gmail.com Ismael H F Santos ismael@tecgraf.puc-rio.br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Ementa Introdução aos

Leia mais

Implementação de Planilha de Cálculos Simplificada

Implementação de Planilha de Cálculos Simplificada INF 1620 Estruturas de Dados Semestre 08.2 Primeiro Trabalho Implemetação de Plailha de Cálculos Simplificada Uma plailha de cálculos é um programa muito utilizado em aplicações fiaceiras e aquelas que,

Leia mais

Padrões de Projeto WEB e o MVC

Padrões de Projeto WEB e o MVC Padrões de Projeto WEB e o MVC Padrões de Projeto WEB e o MVC O que são padrões? "Cada padrão descreve um problema que ocorre freqüentemente em seu ambiente, e então descreve o cerne da solução para aquele

Leia mais

Lista Ligada. Nó de Lista Ligada

Lista Ligada. Nó de Lista Ligada Lista Ligada Estrutura com nós que armazenam elementos manter referências para elementos do início e fim da lista Operações Inserir: a seguir à posição corrente Remover: na posição corrente Pesquisar:

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Apresentação da Disciplina Edirlei Soares de Lima Objetivos da Disciplina Apresentar e discutir técnicas avançadas de Análise e Projeto de

Leia mais

Arquitectura de Sistemas de Software

Arquitectura de Sistemas de Software Arquitectura de Sistemas de Software Ademar Aguiar www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt Arquitectura de Sistemas de Software, LEIC/MEI, 2003/2004 1 Revisões Arquitectura de Sistemas de Software,

Leia mais

Provas de Matemática Elementar - EAD. Período

Provas de Matemática Elementar - EAD. Período Provas de Matemática Elemetar - EAD Período 01. Sérgio de Albuquerque Souza 4 de setembro de 014 UNIVERSIDADE FEDERAL DA PARAÍBA CCEN - Departameto de Matemática http://www.mat.ufpb.br/sergio 1 a Prova

Leia mais

Profa. Thienne Johnson

Profa. Thienne Johnson Profa. Thienne Johnson 1 E. Gamma and R. Helm and R. Johnson and J. Vlissides. Design Patterns - Elements of Reusable Object-Oriented Software. Addison- Wesley, 1995. GoF Design Patterns - with examples

Leia mais

Tópicos Avançados em Engenharia de Software

Tópicos Avançados em Engenharia de Software Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Programa de Pós-Graduação em Ciência da Computação Tópicos Avançados em Engenharia de Software Padrões e Frameworks (Aula 01-

Leia mais

Tópicos da Aula. POO e Padrões de Projetos. Considere três classes... Reuso de Classes. Locadora de DVD. Sistema Acadêmico

Tópicos da Aula. POO e Padrões de Projetos. Considere três classes... Reuso de Classes. Locadora de DVD. Sistema Acadêmico Reuso de Software Aula 03 Tópicos da Aula POO e Padrões de Projetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 12 Março 2012 Programação orientada a objetos Reuso de

Leia mais

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 17 Padrões de Design Singleton Facade Factory Method Observer Strategy

Leia mais

Tabelas de Dispersão. Tabela de Dispersão

Tabelas de Dispersão. Tabela de Dispersão Tabelas de Dispersão Sumário Definição. Características. Resolução de colisões: dispersão aberta e dispersão fechada. Teste quadrático. Desempenho de tabelas de dispersão. Interface de tabela de dispersão.

Leia mais

Padrão Comportamental: Paginador

Padrão Comportamental: Paginador Padrão Comportamental: Paginador Wellington Pinheiro Paulo Fernando Intenção Fornecer um mecanismo que permita o acesso a um conjunto de objetos por partes, definidas como páginas, mantendo o controle

Leia mais

Arquitectura de Sistemas de Software

Arquitectura de Sistemas de Software Arquitectura de Sistemas de Software Ademar Aguiar www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt Arquitectura de Sistemas de Software, LEIC/MEI, 2003/2004 1 Arquitectar... Arquitectar uma pequena cabana

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

Profa. Thienne Johnson

Profa. Thienne Johnson Profa. Thienne Johnson 1 E. Gamma and R. Helm and R. Johnson and J. Vlissides. Design Patterns - Elements of Reusable Object-Oriented Software. Addison- Wesley, 1995. Os padrões comportamentais se preocupam

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 tiago@ci.ufpb.br Conteúdos Abordados O Conceito de Listas Listas com Representação

Leia mais

Arquitectura de Sistemas de Software

Arquitectura de Sistemas de Software Arquitectura de Sistemas de Software Ademar Aguiar www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt Arquitectura de Sistemas de Software, LEIC/MEI, 2004/2005 1 Arquitectar... Arquitectar uma pequena cabana

Leia mais

Módulo III Padrões GOF: Bridge

Módulo III Padrões GOF: Bridge Módulo III Padrões GOF: Professores Eduardo Bezerra edubezerra@gmail.com Ismael H F Santos ismael@tecgraf.puc-rio.br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Ementa Padrões GOF

Leia mais

Faculdade Campo Limpo Paulista Mestrado em Ciência da Computação Complexidade de Algoritmos Avaliação 2

Faculdade Campo Limpo Paulista Mestrado em Ciência da Computação Complexidade de Algoritmos Avaliação 2 Faculdade Campo Limpo Paulista Mestrado em Ciêcia da Computação Complexidade de Algoritmos Avaliação 2. (2,0): Resolva a seguite relação de recorrêcia. T() = T( ) + 3 T() = 3 Pelo método iterativo progressivo.

Leia mais

Mas o que é mesmo Padrão de Projeto?

Mas o que é mesmo Padrão de Projeto? Mas o que é mesmo Padrão de Projeto? Um Padrão de Projeto descreve uma solução comprovada para um problema recorrente e conhecido no desenvolvimento de software orientado a objetos. Mas afinal, porque

Leia mais

Programação Orientada a Objetos II JAVA Décima Aula. Prof. Rogério Albuquerque de Almeida

Programação Orientada a Objetos II JAVA Décima Aula. Prof. Rogério Albuquerque de Almeida Programação Orientada a Objetos II JAVA Décima Aula Prof. Rogério Albuquerque de Almeida 1 Programação Orientada a Objeto II Introdução à Estruturas de Dados Alocação Dinâmica Listas, pilhas e filas Construção

Leia mais

Busca binária. Busca em arquivos. Busca binária. Busca binária. Ordenação e busca em arquivos

Busca binária. Busca em arquivos. Busca binária. Busca binária. Ordenação e busca em arquivos Algoritmos e Estruturas de Dados II Profa. Debora Medeiros Ordeação e Busca em Arquivos Idexação de Arquivos I: Ídices Simples Ordeação e busca em arquivos É relativamete fácil buscar elemetos em cojutos

Leia mais

Exame de Admissão. Instituto Nacional de Pesquisas Espaciais 18 de setembro de 2018 A: GABARITO

Exame de Admissão. Instituto Nacional de Pesquisas Espaciais 18 de setembro de 2018 A: GABARITO Exame de Admissão Programa de Pós-Graduação em Computação Aplicada Instituto Nacional de Pesquisas Espaciais 18 de setembro de 2018 A:2018-03 GABARITO Nome: Instruções: Preencha seu nome de forma legível,

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

PROGRAMAÇÃO E ALGORITMOS (LEII) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017

PROGRAMAÇÃO E ALGORITMOS (LEII) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017 PROGRAMAÇÃO E ALGORITMOS (LEII) Uiversidade da Beira Iterior, Departameto de Iformática Hugo Pedro Proeça, 2016/2017 Resumo Ordeação e Pesquisa Pesquisa Liear Pesquisa Biária Iserção Ordeada IsertSort

Leia mais

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc. Padrões Um padrão de é uma maneira de documentar uma solução conhecida para um problema usualmente encontrado O objetivo do padrão é permitir que boas soluções sejam reutilizadas em diferentes projetos

Leia mais

Análise e Projeto. Padrões de Análise, Arquitetura e Projeto

Análise e Projeto. Padrões de Análise, Arquitetura e Projeto Análise e Projeto Padrões de Análise, Arquitetura e Projeto 33 Padrões de Arquitetura Padrões Nome do padrão Problema: quando aplicar o padrão? Descreve o problema e seu contexto. Solução: elementos que

Leia mais

3. Seja C o conjunto dos números complexos. Defina a soma em C por

3. Seja C o conjunto dos números complexos. Defina a soma em C por Eercícios Espaços vetoriais. Cosidere os vetores = (8 ) e = ( -) em. (a) Ecotre o comprimeto de cada vetor. (b) Seja = +. Determie o comprimeto de. Qual a relação etre seu comprimeto e a soma dos comprimetos

Leia mais

Arquitectura de Sistemas de Software Mestrado em Engenharia Informática Licenciatura em Engenharia Informática e Computação

Arquitectura de Sistemas de Software Mestrado em Engenharia Informática Licenciatura em Engenharia Informática e Computação Arquitectura de Sistemas de Software Mestrado em Engenharia Informática Licenciatura em Engenharia Informática e Computação Ademar Aguiar Universidade do Porto & INESC Porto ademar.aguiar at fe.up.pt FEUP

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Projeto e Implementação Padrões de Projeto Msc. Carlos Mar 04/2014 REVISÃO: ORIENTAÇÃO A OBJETOS Msc. Carlos Mar - Abr/2014 Conceitos Fundamentais Classe Objeto Atributos Métodos

Leia mais

LÓGICA DE PROGRAMAÇÃO (JAVA) ESTRUTURAS REPETIÇÃO. Professor Carlos Muniz

LÓGICA DE PROGRAMAÇÃO (JAVA) ESTRUTURAS REPETIÇÃO. Professor Carlos Muniz LÓGICA DE PROGRAMAÇÃO (JAVA) ESTRUTURAS REPETIÇÃO Estruturas de repetição Estrutura de repetição nada mais é que laços de repetições. Laços de repetições permitem que um conjunto de instruções seja repetido

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador) Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça Problema: Definir uma dependência um-para-muitos entre objetos, de forma quando o estado

Leia mais

CT-234. Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

CT-234. Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches CT-234 Estruturas de Dados, Aálise de Algoritmos e Complexidade Estrutural Carlos Alberto Aloso Saches CT-234 3) Estruturas de dados elemetares Filas, pilhas e árvores Alocação estática versus diâmica

Leia mais

Roni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná

Roni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná Roni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná Reuso Motivações para reutilização de software Aspecto econômico Produtividade Time to market Qualidade Utilização de artefatos (código,

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 11 Padrões GoF (Bridge e Decorator) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype Singleton

Leia mais

Problem 3: Sparse polynomials (Problem H in Mooshak POO 2015/2016)

Problem 3: Sparse polynomials (Problem H in Mooshak POO 2015/2016) Programação Oretada por Objectos Problem 3: Sparse polyomals (Problem H Mooshak POO 215/216) Submt: Your source code to mooshak http://mooshak.dee.fct.ualg.pt/~mooshak ad Your report (wth a zp fle) to

Leia mais

Polimorfismo e Acoplamento Dinâmico

Polimorfismo e Acoplamento Dinâmico Polimorfismo e Acoplamento Dinâmico Adriano J. Holanda 15/5/2015 Polimorfismo Substituição ou redefinição de atributos e métodos da superclasse para adequação às características da subclasse. Métodos:

Leia mais

Design Patterns. Viviane Torres da Silva

Design Patterns. Viviane Torres da Silva Design Patterns Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2010.1/es1 Sumário Reuso de Software Introdução Benefícios e Desvantagens Visão do Reuso Padrões de Projeto

Leia mais

Fontes Bibliográficas. Estruturas de Dados Aula 14: Recursão. Introdução. Introdução (cont.)

Fontes Bibliográficas. Estruturas de Dados Aula 14: Recursão. Introdução. Introdução (cont.) Fotes Bibliográficas Estruturas de Dados Aula 14: Recursão Livros: Projeto de Algoritmos (Nivio Ziviai): Capítulo 2; Estruturas de Dados e seus Algoritmos (Szwarefiter, et. al): Capítulo 1; Algorithms

Leia mais

Iterator. Professor: Hyggo Almeida

Iterator. Professor: Hyggo Almeida Professor: Hyggo Almeida Utilização de estruturas de dados Vector, ArrayList, HashSet,... Vector collection; public void classexusando(vector col){... ArrayList collection; public void classewusando(arraylist

Leia mais

Padrões de Desenho (Design Patterns)

Padrões de Desenho (Design Patterns) Padrões de Desenho (Design Patterns) O que são padrões de desenho Porque são úteis Conhecer alguns padrões 1 Padrões (Patterns) Design Patterns Explained: A New Perspective on Object-Oriented Design, Alan

Leia mais

Listas (cont.) K&R: Capitulo 6. Lista Simplesmente Ligada IAED, 2012/2013. Conjunto de nós. Cada nó contém. head NULL. typedef struct node {

Listas (cont.) K&R: Capitulo 6. Lista Simplesmente Ligada IAED, 2012/2013. Conjunto de nós. Cada nó contém. head NULL. typedef struct node { Listas (cont.) K&R: Capitulo 6 Lista Simplesmente Ligada Conjunto de nós head NULL Cada nó contém Informação útil Ponteiro para o próimo nó typedef struct node Item item; struct node *net; *link; Item

Leia mais

capta a noção elementar de ordemde chegada no processamento de tarefas, além da ordem de chegada é típico atender à prioridade

capta a noção elementar de ordemde chegada no processamento de tarefas, além da ordem de chegada é típico atender à prioridade Fila de Prioridade (1) Fila capta a noção elementar de ordemde chegada no processamento de tarefas, além da ordem de chegada é típico atender à prioridade Fila de prioridade objectos na fila têmum número

Leia mais

CÂMARA MUNICIPAL DE SANTO ANTÔNIO DA PLATINA - PR

CÂMARA MUNICIPAL DE SANTO ANTÔNIO DA PLATINA - PR JANEIRO 75 0 75 2 73 1440 0 1440 104 1336 7 0 7 5 2 119 0 119 1 118 293 0 293 11 282 225 0 225 5 220 2 0 2 0 2 116 0 116 4 112 Página 1 de 12 FEVEREIRO 73 0 73 2 71 1336 0 1336 385 951 2 0 2 2 0 118 0

Leia mais

CÂMARA MUNICIPAL DE SANTO ANTÔNIO DA PLATINA - PR. Planilha Controle de Estoque - Materiais de Limpeza - 2013 ESTOQUE ANTERIOR

CÂMARA MUNICIPAL DE SANTO ANTÔNIO DA PLATINA - PR. Planilha Controle de Estoque - Materiais de Limpeza - 2013 ESTOQUE ANTERIOR JANEIRO 20 0 20 1 19 13 0 13 0 13 0 5 5 0 5 16 0 16 1 15 17 0 17 0 17 5 0 5 2 3 20 0 20 2 18 107 0 107 5 102 59 0 59 1 58 23 0 23 1 22 215 0 215 7 208 60 0 60 1 59 5 0 5 0 5 5 0 5 1 4 Página 1 de 12 FEVEREIRO

Leia mais

Course Review for Midterm Exam 1. Cpt S 223 Fall 2010

Course Review for Midterm Exam 1. Cpt S 223 Fall 2010 Course Review for Midterm Exam 1 Cpt S 223 Fall 2010 1 Midterm Exam 1 When: Friday (10/15) 10:10-11am Where: in class Closed book, closed notes Comprehensive Material for preparation: Lecture slides &

Leia mais

Padrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson

Padrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Padrões de Projeto Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Apresentação Conceitos Definição Ponto de vista prático História Padrões de Projeto Conhecidos

Leia mais

Fundamentos de Análise Matemática Profª Ana Paula. Sequência Infinitas

Fundamentos de Análise Matemática Profª Ana Paula. Sequência Infinitas Fudametos de Aálise Matemática Profª Aa Paula Sequêcia Ifiitas Defiição 1: Uma sequêcia umérica a 1, a 2, a 3,,a,é uma fução, defiida o cojuto dos úmeros aturais : f : f a Notação: O úmero é chamado de

Leia mais

1. ORDENAÇÃO POR TROCA ORDENAÇÃO. 1.1 Ordenação por Bolha. Exemplo, 25, 57, 48, 37, 12, 92, 86, 33. Algoritmo. Complexidade de Tempo

1. ORDENAÇÃO POR TROCA ORDENAÇÃO. 1.1 Ordenação por Bolha. Exemplo, 25, 57, 48, 37, 12, 92, 86, 33. Algoritmo. Complexidade de Tempo ORDENAÇÃO Ordear é o processo de orgaizar uma lista de iformações similares em ordem crescete ou decrescete. Especificamete, dada uma lista de ites r[], r[], r[],, r[-], cada item a lista é chamado registro.

Leia mais

Programação Orientada a Objetos. Padrões de Criação

Programação Orientada a Objetos. Padrões de Criação Programação Orientada a Objetos Padrões de Criação Cristiano Lehrer, M.Sc. Objetivos Apresentar cada um dos 23 padrões clássicos descrevendo: O problema que solucionam. A solução. Diagramas UML (Unified

Leia mais

*+,, -! / ! /,6 5. Virgilio Almeida, UFMG 2006

*+,, -! / ! /,6 5. Virgilio Almeida, UFMG 2006 !"#"! $%%& ' (# ) *+,, - -. -! /01 34 /050 " -! /,6 5. 7 " Método Estatístico Estatística Descritiva Estatística Iferecial ' - 8 8! 8 0 -# 8' 9/ - 8 8:61 -# 8:., :4 Experimeto: um processo cujo resultado

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

ESTUDO DO PADRÃO DE PROJETO OBSERVER NO DESENVOLVIMENTO DE SOFTWARES UTILIZANDO A ARQUITETURA MVC RESUMO

ESTUDO DO PADRÃO DE PROJETO OBSERVER NO DESENVOLVIMENTO DE SOFTWARES UTILIZANDO A ARQUITETURA MVC RESUMO Mostra Nacional de Iniciação Científica e Tecnológica Interdisciplinar III MICTI Fórum Nacional de Iniciação Científica no Ensino Médio e Técnico - I FONAIC-EMT Camboriú, SC, 22, 23 e 24 de abril de 2009

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

Fundamentos de programação

Fundamentos de programação Fundamentos de programação Orientação a Objeto Composição Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Reuso de código Desenvolvimento eficiente de código é baseado em reuso Reuso

Leia mais