Simulação estocástica discreta
|
|
- Cacilda da Costa Clementino
- 7 Há anos
- Visualizações:
Transcrição
1 Simulação estocástica discreta Apoio ao projecto Simulação estocástica discreta : 1/31
2 Introdução (1) Existem diversos tipos de simulação de sistemas: Simulação analógica: com modelos físicos, por exemplo, o modelo reduzido de uma ponte. Simulação digital: realizada em computador. Modelos possíveis: Modelos contínuos: equações diferenciais que descrevem a evolução de grandezas contínuas. Modelos discretos: fenómenos que podem ser descritos por eventos e suas sequências. Classificação: Estocástica: as grandezas em causa seguem leis aleatórias, por exemplo, o tempo que decorre entre eventos. Determinista: as grandezas em causa seguem leis deterministas. LEEC@IST Simulação estocástica discreta : 2/31
3 Introdução (2) No seguimento, vamos ilustrar uma técnica de simulação digital, discreta e estocástica. Problema: Simulação de um troço de auto-estrada. Simular o tráfego num troço de estrada com portagem, só num dos sentidos. Os veículos entram no troço em causa com uma cadência aleatória no final do qual chegam a uma portagem (apenas com um portageiro), ficam em fila até ao pagamento e, concluído este, saem do troço. Pretende-se estudar a evolução do número de veículos na fila, em função de leis aleatórias: tempo entre chegadas; tempo de travessia; tempo de pagamento. LEEC@IST Simulação estocástica discreta : 3/31
4 Introdução (3) A técnica adoptada é a de sequenciamento de eventos pendentes (SEP): 1. Identificar os eventos que afectam o sistema a modelar. É necessário caracterizar os eventos, entre outros: É essencial categorizar os eventos, por forma a distingui-los. É essencial um atributo de tempo, que marca o instante em que se dá o evento. 2. Definir as leis aleatórias que regem o acontecimento dos eventos. LEEC@IST Simulação estocástica discreta : 4/31
5 Introdução (4) 3. Definir procedimentos para simular a observação das variáveis aleatórias em causa. 4. Simular os eventos. O núcleo do simulador é a cadeia de acontecimentos pendentes (CAP), na qual se encontram todos os eventos (futuros). Durante a simulação podem: Retirar-se eventos da CAP. Colocar-se novos eventos na CAP. LEEC@IST Simulação estocástica discreta : 5/31
6 Identificação de eventos (1) Na simulação de um troço de auto-estrada existem os seguintes eventos: Chegada: chegada de um veículo ao troço em estudo (entrada na auto-estrada). Portagem: chegada de um veículo à portagem no final do troço (ou fica na fila da portagem ou entra em pagamento). Partida: saída do veículo da portagem após pagamento. Simulação estocástica discreta : 6/31
7 Identificação de eventos (2) Na simulação de um troço de auto-estrada não há outros atributos para além do atributo de tempo. Em simulações mais complicadas pode ser necessário considerar outros atributos. Poderia ser necessário associar cada evento ao veículo em causa se se pretendesse estudar o tempo total de permanência dos carros no troço incluindo a portagem. LEEC@IST Simulação estocástica discreta : 7/31
8 Identificação de eventos (3) Diagrama de classes dos eventos do sistema (sem representação de atributos e métodos): <<abstract> Evento EvChegada EvPortagem EvPartida LEEC@IST Simulação estocástica discreta : 8/31
9 Leis aleatórias (1) Na simulação de um troço de auto-estrada há que considerar as seguintes leis aleatórias: Chegadas: admite-se que o tempo entre chegadas consecutivas é uma variável aleatória com distribuição exponencial de valor médio chegada. Travessias: admite-se que o tempo que um veículo leva a atravessar o troço é uma variável aleatória com distribuição exponencial de valor médio travessia. Pagamentos: admite-se que o tempo que cada veículo leva a pagar (tempo entre o início do pagamento, depois de ficar em primeiro lugar na fila, e a saída) é uma variável aleatória com distribuição exponencial de valor médio pagamento. LEEC@IST Simulação estocástica discreta : 9/31
10 Leis aleatórias (2) Uma variável aleatória com distribuição exponencial de valor médio m tem a seguinte distribuição: 1-exp{-t/m} Por exemplo, para m=2: LEEC@IST Simulação estocástica discreta : 10/31
11 Observação de variáveis aleatórias (1) A geração de uma observação de uma variável aleatória exponencial é feita por intermédio da inversa da função de distribuição: -m log(1-y) Por exemplo, para m=2: LEEC@IST Simulação estocástica discreta : 11/31
12 Observação de variáveis aleatórias (2) Se Y~U(0,1) então -m log(1-y)~exp(m) public static double exprandom(double m) { Random random = new Random(); double next = random.nextdouble(); return -m*math.log(1.0-next); } LEEC@IST Simulação estocástica discreta : 12/31
13 Observação de variáveis aleatórias (3) Para uma variável aleatória com distribuição exponencial de valor médio 2: for (int i=0; i<5; i++) { System.out.println(expRandom(2)); } No terminal é impresso: LEEC@IST Simulação estocástica discreta : 13/31
14 Simulação dos eventos CAP (1) Para se entender a utilidade da CAP, considere-se o problema da simulação de tráfego em estudo na situação em que: há veículos já no troço, há veículos na fila, e está um veículo a pagar a portagem. Como deverá continuar a simulação a partir desta situação? LEEC@IST Simulação estocástica discreta : 14/31
15 Simulação dos eventos CAP (2) A simulação é apenas um ciclo em que em cada passo se simula o acontecimento de um evento. Põe-se então a questão: qual será o próximo evento a simular? A resposta é simples: vai-se buscar à CAP o próximo evento, onde por próximo se entende o evento com o atributo tempo de menor valor. Põe-se então outra questão: como alimentar a CAP de novos eventos? A resposta a esta questão já é mais complicada LEEC@IST Simulação estocástica discreta : 15/31
16 Simulação dos eventos CAP (3) Na CAP devem estar os eventos que já sabemos que terão de ser simulados no futuro (e que ainda não foram simulados por ainda não ter chegado a vez deles). De cada vez que se simula uma chegada ao troço devese colocar na CAP: 1. A próxima chegada: basta guardar na CAP o evento new EvChegada(tempo+expRandom(chegada)) 2. O fim da travessia do veículo cuja travessia se está a simular: basta guardar na CAP o evento new EvPortagem(tempo+expRandom(travessia)) em que tempo é um atributo que contém o tempo de simulação do evento corrente (o tempo corrente), neste caso um evento de chegada. LEEC@IST Simulação estocástica discreta : 16/31
17 Simulação dos eventos CAP (4) De cada vez que se simula um fim de travessia do troço há que examinar se o portageiro está ocupado. 1. Se estiver ocupado há que colocar mais um veículo na fila de espera. 2. Caso contrário começa a fase de pagamento. Pode-se então calcular o evento de fim de pagamento e, portanto, deve-se colocar na CAP o evento new EvPartida(tempo+expRandom(pagamento)) Finalmente, de cada vez que se simula uma saída, ou seja, fim de pagamento, há que examinar a fila de espera. Se esta não estiver vazia há que retirar um elemento da fila (o primeiro) e planificar o fim de pagamento desse veículo guardando na CAP o evento new EvPartida(tempo+expRandom(pagamento)) LEEC@IST Simulação estocástica discreta : 17/31
18 Simulação dos eventos CAP (5) Na realidade, não é necessária a fila de portagem, sendo apenas necessário guardar o número de carros na fila LEEC@IST Simulação estocástica discreta : 18/31
19 Simulação (1) A classe SimuladorTrafego pode então ser definida como se segue (definição parcial): public class SimuladorTrafego { private static double temposimulacao, tempocorrente; private static Evento eventocorrente; static CAP static int cap; numcarrosfilaportagem; } //... LEEC@IST Simulação estocástica discreta : 19/31
20 Simulação (2) A classe Evento pode então ser definida como se segue (definição parcial): public abstract class Evento { protected static double protected double chegada, travessia, pagamento; tempo; public abstract void simulaevento(); } //... LEEC@IST Simulação estocástica discreta : 20/31
21 Simulação (3) Supondo existe acesso à cap e ao método exprandom, o método simulaevento relativo à chegada ao troço de auto-estrada é definido como se segue: cap.adicionarevcap( new EvChegada(tempo+expRandom(chegada))); cap.adicionarevcap( new EvPortagem(tempo+expRandom(travessia))); Nota: estudar com cuidado de que forma deve ser dado o acesso à cap e ao método exprandom! LEEC@IST Simulação estocástica discreta : 21/31
22 Simulação (4) Supondo que existe acesso à cap, ao numcarrosfilaportagem e ao método exprandom, o método simulaevento relativo à chegada à portagem é definido como se segue: if (numcarrosfilaportagem==0) cap.adicionarevcap( new EvPartida(tempo+expRandom(pagamento))); numcarrosfilaportagem++; Nota: estudar com cuidado de que forma deve ser dado o acesso à cap, numcarrosfilaportagem, e ao método exprandom! LEEC@IST Simulação estocástica discreta : 22/31
23 Simulação (5) Supondo que existe acesso à cap, ao numcarrosfilaportagem e ao método exprandom, o método simulaevento relativo à saída da portagem é definido como se segue: numcarrosfilaportagem--; if (numcarrosfilaportagem>0) cap.adicionarevcap( new EvPartida(tempo+expRandom(pagamento))); Nota: estudar com cuidado de que forma deve ser dado o acesso à cap, numcarrosfilaportagem, e ao método exprandom! LEEC@IST Simulação estocástica discreta : 23/31
24 Simulação (6) A CAP é uma classe com dois métodos: public void adicionarevcap(evento ev) adiciona o evento recebido como parâmetro à CAP. public Evento proximoevcap(evento ev) remove o primeiro evento da CAP e devolve-o. LEEC@IST Simulação estocástica discreta : 24/31
25 Simulação (7) O simulador é o método main da classe SimuladorTrafego e consiste basicamente num ciclo, onde em cada passo se simula o próximo evento na CAP. O simulador tem como input: chegada travessia pagamento temposimulacao LEEC@IST Simulação estocástica discreta : 25/31
26 Simulação (8) public static void main(string[] args) { // TODO: ler input e actualizar atributos de: // chegada, travessia, pagamento e temposimulacao //inicialização numcarrosfilaportagem = 0; cap = new CAP(); eventocorrente = new EvChegada(expRandom(chegada)); tempocorrente = eventocorrente.tempo; //ciclo de simulação while (tempocorrente<temposimulacao) { //TODO: simular eventocorrente eventocorrente = cap.proximoevcap(); tempocorrente = eventocorrente.tempo; } } LEEC@IST Simulação estocástica discreta : 26/31
27 Exemplos (1) É obtido o seguinte gráfico para o comprimento da fila de espera da portagem executando o SimuladorTrafego com: chegada=1 travessia=50 pagamento=0.9 temposimulacao= LEEC@IST Simulação estocástica discreta : 27/31
28 Exemplos (2) Outra simulação para o mesmo input: LEEC@IST Simulação estocástica discreta : 28/31
29 Exemplos (3) Mais outra simulação para o mesmo input: LEEC@IST Simulação estocástica discreta : 29/31
30 Exemplos (4) Aumentado apenas pagamento para 2: Simulação estocástica discreta : 30/31
31 Exemplos (5) Diminuindo apenas pagamento para 0.7: LEEC@IST Simulação estocástica discreta : 31/31
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 maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
Variáveis e Métodos de Classe Em Java, quer as classes quer as instâncias das classes são objectos. Onde está o estado da classe? Com que operações é manipulado? UBI, Departamento de Informática T04-1
Leia maisProgramação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno
Programação Orientada a Objetos Aula 1.9 this e static Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Relembre: Clase RoboSimples Os métodos move() e move(int passos) podem ser reescrito sem redundância de
Leia maisLista 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 maisSabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes.
JAVA ENCAPSULAMENTO Na linguagem de programação Java, a classe é o alicerce para o encapsulamento, o qual é definido como uma técnica que faz com que os atributos da classe permaneçam ocultos, pois desta
Leia maisModelação e Simulação de Sistemas - Tópicos Modelação e Simulação de Sistemas - Tópicos - A simulação de sistemas - Modelos de simulação - Propriedade
Modelação e Simulação de Sistemas - Tópicos Modelação e Simulação de Sistemas - Tópicos - A simulação de sistemas - Modelos de simulação - Propriedades dos modelos de simulação - Classificação dos modelos
Leia maisExercí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 maisDados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos.
2. Classes e Objetos Uma classe é um modelo que define os atributos e métodos comuns a um conjunto de objetos de forma encapsulada. Atributos são informações ou dados que descrevem, categorizam ou quantificam
Leia maisA programação orientada a objetos tenta simular estes aspectos, trazendo para o computador a realidade do dia-a-dia.
Introdução A orientação a objetos é uma maneira de programar que trata de modelar os processos de programação de uma maneira próxima à linguagem humana: tratando componentes de um programa como um objeto
Leia mais2 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 maisClasses e Objetos POO
Classes e Objetos POO Prof. Marcio Delamaro 1/40 POO (wikipedia) Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which are data structures that contain data,
Leia maisESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java.
P. Fazendeiro & P. Prata POO FP0/1 ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java. 0 Iniciar o ambiente de desenvolvimento integrado
Leia maisUNIP - 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 maisSimulação a Eventos Discretos. Fernando Nogueira Simulação 1
Simulação a s Discretos Fernando Nogueira Simulação Introdução Simulação não é uma técnica de otimização: estima-se medidas de performance de um sistema modelado. Modelos Contínuos X Modelos Discretos
Leia maisModelização do Sistema Produtivo Simulação
Modelização do Sistema Produtivo Simulação http://www.fe.up.pt/maspwww Licenciatura em Engenharia Electrotécnica e de Computadores Gil M. Gonçalves gil@fe.up.pt 2004/2005 Génese Estatística, teoria da
Leia maisModelagem e Análise de Sistemas - COS767
Modelagem e Análise de Sistemas - COS767 Aula de hoje Introdução à simulação Geração de números aleatórios Lei dos Grandes Números Geração de variáveis aleatórias: método da transformada inversa Simulação
Leia maisLÓ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 maisApêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são:
Apêndice A Classe Vector A classe Vector permite a representação de um vetor de dados de maneira similar à de um array, visto na disciplina Programação Orientada a Objetos I, mas com maior flexibilidade.
Leia maisTempo de atendimento (minutos)
1. Simule manualmente o problema que a seguir se descreve. Enunciado do problema (barbearia): Uma determinada Barbearia funciona da seguinte forma: os clientes chegam à barbearia e esperam numa cadeira
Leia maisComputação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.
Computação L2 Linguagem C++ ovsj@cin.ufpe.br Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);
Leia maisPROGRAMAÇÃ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 maisIdiomas de Programação
DCC / ICEx / UFMG Idiomas de Programação Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Definição de Idiomas Idiomas são padrões de baixo nível específicos de uma linguagem de programação Cada idioma
Leia maisTratamento de Exceções, Multithreads e arquivos (em Java) Programação Orientada a Objetos
Tratamento de Exceções, Multithreads e arquivos (em Java) Programação Orientada a Objetos Nesta unidade vamos ver os últimos assuntos de interesse em java. O primeiro deles, bem simples, é o tratamento
Leia mais1. Estude e implemente a classe Exemplo1 apresentada abaixo:
P. Fazendeiro & P. Prata POO FP09/1 Exceções Uma exceção (Exception) é um sinal gerado pela máquina virtual de Java em tempo de execução indicando uma situação de erro da qual é possível recuperar. O objectivo
Leia maisProfessora Jeane Melo
Professora Jeane Melo Roteiro Lista Encadeada Alocação: Estática x Dinâmica O que são Ponteiros? Ponteiros Variáveis que Armazenam Endereços de Memória Mas, toda variável não é armazenada na memória? Ponteiros
Leia maisUnidade 7: Documentação de Código A Importância dos Comentários Prof. Daniel Caetano
Linguagem de Programação 1 Unidade 7: Documentação de Código A Importância dos Comentários Prof. Daniel Caetano Objetivo: Desenvolver a habilidade de comentar código adequadamente INTRODUÇÃO Até o momento
Leia maisS I M U L A Ç Ã O 84
S I M U L A Ç Ã O 84 - 1 - Elabore uma rotina que lhe permita gerar números pseudo-aleatórios (NPA) com distribuição X ( f X ( x ) representa a função de densidade de probabilidade de X e F X ( x ) representa
Leia maisTabelas de Dispersão. Algoritmos e Estruturas de Dados Verão Cátia Vaz 1
Tabelas de Dispersão Algoritmos e Estruturas de Dados Verão 2012 1 Tabelas de endereçamento directo Endereçamento directo é usado quando o universo de chaves é pequeno e todas as chaves são distintas:
Leia maisPilha 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 maisProgamaçã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 maisDada a linguagem, números romanos, construir uma representação para a gramática dela junto com um interpretador para essa gramática.
Resumo Interpreter Amanda e Nikson Problema Dada uma linguagem, definir uma representação para a sua gramática e um interpretador que usa esta representação para interpretar sentenças da linguagem. Exemplo
Leia maisFilas. Prof. Jesus José de Oliveira Neto
Filas Prof. Jesus José de Oliveira Neto São estruturas que adotam a política FIFO (First In First Out o primeiro que entra é o primeiro que sai) para a manipulação de elementos. As inserções são feitas
Leia maisRecursividade. Prof. Jesus José de Oliveira Neto
Recursividade Prof. Jesus José de Oliveira Neto Algoritmos podem ser definidos de duas formas: Forma iterativa ou não recursiva: utiliza laços de repetição (while, for, do/while) Forma recursiva: métodos
Leia maisEstatística e Modelos Probabilísticos - COE241
Estatística e Modelos Probabilísticos - COE241 Aula passada Introdução à simulação Geração de números aleatórios Lei dos Grandes Números Aula de hoje Geração de variáveis aleatórias: Transformada Inversa
Leia maisAmbiente Arena Tutorial. Paulo Cesar F. de Oliveira, BSc, PhD
Ambiente Arena Tutorial Paulo Cesar F. de Oliveira, BSc, PhD Terminologia Variável de Estado Evento Recurso e Fila de Recurso Entidade Atributo Atividade e Período de Espera Tempo (Real) Simulado e Tempo
Leia maisLinguagem 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 maisRecursividade. Métodos iterativos. Prof. Cesar Augusto Tacla. Métodos iterativos utilizam estruturas de repetição
Recursividade Prof. Cesar Augusto Tacla Métodos iterativos Métodos iterativos utilizam estruturas de repetição For While Do while Normalmente, um método invoca outros métodos, não a si mesmo. 2 1 Recursividade
Leia maisExame de Estruturas de Dados 2010.Junho.26
Exame de Estruturas de Dados 2010.Junho.26 Duração: 2:30 horas Valorização: 12 valores. 1. Responda às seguintes questões: a) Faça o estudo da complexidade do seguinte método: 1. void fun2(int n, int v[])
Leia maisLinguagem de Programação. Diagrama de classes
Linguagem de Programação Diagrama de classes Joyce França Professora de Ciência da Computação - IFNMG 2 Agenda Diagrama de classes Herança Associação Agregação Exercícios 3 Diagrama de classes Mostra um
Leia maisEngenharia de Software Aula 21. Revisão da Prova 2. Eduardo Figueiredo.
Engenharia de Software Aula 21 Revisão da Prova 2 Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@dcc.ufmg.br 16 Maio 2018 Aula 16: POO Um programa OO é geralmente constituído de várias classes
Leia maisp Pacotes, a grosso modo, são apenas pastas ou diretórios do sistema operacional onde ficam armazenados os arquivos fonte de Java.
Pacotes e Jar 1 Pacotes p Usamos pacotes em java para organizar as classes semelhantes. p Pacotes, a grosso modo, são apenas pastas ou diretórios do sistema operacional onde ficam armazenados os arquivos
Leia maisAula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes
Aula 03 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www3.ifrn.edu.br/~brunogomes Agenda da Aula Representação de Algoritmos em Pseudocódigo: Tipos de Dados;
Leia maisPadrões para atribuir responsabilidades: Expert
Padrão para atribuir responsabilidades: Expert Introdução Um sistema OO é composto de objetos que enviam mensagens uns para os outros Uma mensagem é um método executado no contexto de um objeto Escolher
Leia maisAplicação. Controlo Óptimas. 23º Seminário de Engenharia Mecânica - 4 Junho de Nuno Manuel R. S. Órfão
Aplicação de Cadeias de Markov em Redes de Filas de Espera Políticas de Controlo Óptimas 23º Seminário de Engenharia Mecânica - 4 Junho de 2003 - Nuno Manuel R. S. Órfão nmorfao@estg.ipleiria.pt 1 Sumário
Leia maisProgramaçã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 maisHerança e Propriedades
Herança e Propriedades 2013 O que veremos hoje? Herança e Propriedades Transparências baseadas no material do Prof. Gilbert Azevedo e Prof. Jailton Carlos Objetivos Conceito de Herança em POO Herança Herança
Leia mais1. Cotação de cada pergunta: / / (Total: 100 pontos) 2. Responda às questões de forma clara e concisa nas folhas de exame.
Departamento de Ciência de Computadores Estruturas de Dados (CC114) 2 o Teste: 25/Junho/2012 FCUP 2011/12 duração: 2.5 horas 1. Cotação de cada pergunta: 1. 30 / 2. 35 / 3. 35 (Total: 100 pontos) 2. Responda
Leia maisProf. Jesus José de Oliveira Neto
Prof. Jesus José de Oliveira Neto Encapsulam a representação dos dados e as operações que podem ser realizadas sobre eles Usuário do TAD vs. programador do TAD Usuário só enxerga a interface, não a implementação
Leia maisDepartamento de Ciência de Computadores Estruturas de Dados (CC114)
1. Cotação de cada pergunta: 1. 30 / 2. 40 / 3. 30 (Total: 100 pontos) 2. Responda às questões de forma clara e concisa nas folhas de exame distribuídas. 1. (Valorização: 30%) Responda às seguintes questões:
Leia maisTipos abstratos de dados; pilhas e filas
1 Tipos abstratos de dados; pilhas e filas Além do Sedgewick (sempre leiam o Sedgewick), veja http://www.ime.usp.br/~pf/algoritmos/aulas/pilha.html http://www.ime.usp.br/~pf/algoritmos/aulas/fila.html
Leia maispackage especificadores1; public class Alpha { public static void alphapublic(){ System.out.println("Alpha public!"); }
package especificadores1; public class Alpha { public static void alphapublic(){ System.out.println("Alpha public!"); protected static void alphaprotected(){ System.out.println("Alpha protected!"); static
Leia maisPara 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 maisMULTITHREADING. Prof.: Michele Nasu Tomiyama Bucci
MULTITHREADING Prof.: Michele Nasu Tomiyama Bucci Introdução O corpo humano realiza uma grande variedade de operações paralelamente, ou concorrentemente. Os computadores também realiza operações concorrentemente.
Leia maisProgramaçã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 maisVetores 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 maisExercí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 maisMétodos em Java. Prof. Esp. André Aparecido da Silva (Aulas 31 a 33) Disponível em:
Métodos em Java Prof. Esp. André Aparecido da Silva (Aulas 31 a 33) Disponível em: http://www.oxnar.com.br/aulas/java/ Os métodos são conhecidos como funções, ações de execuções ou procedimentos, sendo
Leia maisEspecificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos)
Mecanismos de controlo de acesso Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a cada classe e cada membro da classe (dados e métodos) Modificadores de acesso: public protected private
Leia maisAULA 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 maisIntroduçã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 maisProva 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 maisProcessamento da Informação
Processamento da Informação Introdução ao curso Professora Carla Negri Lintzmayer 2019.Q1 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Introdução Carla Negri Lintzmayer carla.negri@ufabc.edu.br
Leia maisAula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz
Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz Sumário de Aula } Conceito de Memória } Variáveis e Tipos de Dados } Constantes 2 Conceito de Memória } A memória de um computador é
Leia maisUsando o Eclipse - Fundamentos. Professor Vicente Paulo de Camargo
Usando o Eclipse - Fundamentos Professor Vicente Paulo de Camargo O Eclipse é um ambiente de desenvolvimento integrado (IDE) É a ferramenta mais utilizada pelas empresas, visto que pode ser configurada
Leia maisPOO Programação Orientada a Objetos
POO Programação Orientada a Objetos Prof. Vicente Paulo de Camargo PUCGO O CONTEÚDO DOS SLIDES FAZ REFERÊNCIA AO MATERIAL DA APOSTILA K19-K11 E DO LIVRO JAVA USE A CABEÇA E DO LIVRO JAVA COMO PROGRAMAR
Leia maisAtributos e Métodos Estáticos
Atributos e Métodos Estáticos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Atributos Estáticos Atributos
Leia maisIO.println(a+" * "+b+" = "+produto); } }
Departamento de Ciência da Computação Universidade de Brasília Computação Básica. Professor Jorge H. C. Fernandes Lista de Exercícios Programação Básica em Java Resolva os exercícios abaixo usando a Linguagem
Leia maisEderson Luiz da Silva Ciência da Computação. Algoritmos e Programação
Ederson Luiz da Silva Ciência da Computação Algoritmos e Programação Programação em C Características Criado na década de 70; Possui muitas regras em sintaxe e semântica; Utilizado para programação de
Leia maisProcessamento da Informação
Processamento da Informação Introdução ao curso Professora Carla Negri Lintzmayer 2019.Q1 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Introdução Carla Negri Lintzmayer carla.negri@ufabc.edu.br
Leia maisEstatística e Modelos Probabilísticos - COE241
Estatística e Modelos Probabilísticos - COE241 Aula passada Função Distribuição Condicional Calculando Probabilidades condicionando Esperança Condicional Aula de hoje Análise de Comandos de Programação
Leia maisOrientação a Objetos - Herança
Orientação a Objetos - Herança 1 Repetindo Código p Todo banco tem funcionário. A classe funcionario ficaria da seguinte forma; class Funcionario { String nome; String cpf; double salario; // métodos devem
Leia maisprivate static Ascii ascii = new Ascii(); static List<Character> asciinumber = ascii.getasciitable(); Scanner input = new Scanner(System.
import java.util.arraylist; import java.util.list; import java.util.scanner; import cifravalida.ascii; public class Main { private static Ascii ascii = new Ascii(); static List asciinumber =
Leia maisLinguagem de Programação II Importando Classes/Pacotes
Linguagem de Programação II Importando Classes/Pacotes Prof. Alessandro Borges 2 Tópicos Pacotes Usando classes do mesmo pacote Importando classes de pacotes diferentes 3 Pacotes 4 Pacotes Como visto em
Leia mais// quando o estado do Sujeito muda
Padrão Observer No padrão Observer temos dois objectos: um, designado Sujeito (Subject) que possui uma dada informação que pode variar ao longo da execução do programa, e outro, designado Observador (Observer)
Leia maisIntrodução a classes e objetos. Prof. Marcelo Roberto Zorzan
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Herança Aula de Hoje Problema Considere uma empresa que tenha tipos de empregados no aplicativo de folha de pagamento Um empregado tem nome,
Leia maisIntroduçã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 maisSistemas Operacionais
Sistemas Operacionais Processos Semáforos Semáforos Mecanismo de sincronização que não requer espera ocupada Dijkstra propôs usar uma variável inteira para contar o n o de WAKEUPs para uso futuro Menos
Leia maisImplementando 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// quando o estado do Sujeito muda
Padrão Observer No padrão Observer temos dois objectos: um, designado Sujeito (Subject) que possui uma dada informação que pode variar ao longo da execução do programa, e outro, designado Observador (Observer)
Leia maisRESPOSTA: import java.util.arraylist; import java.util.list; class CarrinhoDeCompras2 { List<Produto> produtos;
Fundação CECIERJ - Vice Presidência de Educação Superior a Distância Curso de Tecnologia em Sistemas de Computação Disciplina: Programação Orientada a Objetos AP2 2 semestre de 2016. Nome Assinatura Observações:
Leia maisArrays em Java. Introdução à Programação. Bruno Cartaxo
Arrays em Java Introdução à Programação Bruno Cartaxo http://sites.google.com/site/brunocartaxo bruno.cartaxo@olinda.ifpe.edu.br Tópicos a serem discutidos na disciplina Introdução a computadores e algoritmos
Leia maisProgramaçã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 maisAnálise de Programação
Análise de Programação Fundamentos da Linguagem de Programação Java Prof. Gilberto B. Oliveira Variáveis Atributos: Variáveis Declaradas fora de um método, sem o modificador static Variáveis membro ou
Leia maisArrays. int idade1; int idade2; int idade3; int idade4; int[] idades;
Vetores 1 Arrays p O problema: Dentro de um bloco, podemos declarar diversas variáveis e usa -las: int idade1; int idade2; int idade3; int idade4; p Isso pode se tornar um problema quando precisamos mudar
Leia maisEscola Náutica Infante Dom Henrique. Grupo I (7.5 valores)
Grupo I (7.5 valores) Este grupo é formado por questões de resposta múltipla. Para cada uma delas, existe uma resposta correcta. Assinale com uma cruz no enunciado do exame a opção que considere correcta.
Leia maisAula 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 maisNome: Número: Primeira Parte (7 valores) Segunda Parte (3 valores)
Nome: Número: Programação com Objectos 10 de Novembro de 2015, 08:00 (90 minutos) Primeira Parte (7 valores) Segunda Parte (3 valores) PERGUNTA NOTA PERGUNTA RESPOSTA 1.1 2.1 1.2 2.2 1.3 1.4 2.3 2.4 2.5
Leia maisIntrodução à Programação em C Input / Output
Introdução à Programação em C Input / Output Resumo Aula Anterior Programa começa com função main() Sintaxe para definição de funções Definição de variáveis e atribuições Estruturas de controlo if-then
Leia maisOrientaçã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 maisModelagem e Análise de Sistemas de Computação Aula 20
Modelagem e Análise de Sistemas de Computação Aula 20 Aula passada Lei dos grandes números Calculando integrais Gerando outras distribuições Método da transformada inversa Aula de hoje Simulando uma fila
Leia maisACH Introdução à Estatística Conteúdo Teórico: 12 - Simulação
ACH2053 - Introdução à Estatística Conteúdo Teórico: Marcelo S. Lauretto Referências: Morris DeGroot, Mark Schervish. Probability and Statistics. 4th Ed. - 4o capítulo Ilya M. Sobol. A Primer for the Monte
Leia maisLinguagem 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 mais1 Da aula teórica ao Java
Universidade Federal do ABC Bacharelado em Ciência da Computação Processamento da Informação - Prof. Fabrício Olivetti de França Guia de tradução entre Java e outras linguagens 1 Da aula teórica ao Java
Leia maisESTRUTURA DE DADOS LAÇOS E VETORES
ESTRUTURA DE DADOS LAÇOS E VETORES Prof. Dr. Daniel Caetano 2014-2 Objetivos Recordar os laços de repetição Conhecer os vetores Compreender o uso de vetores Material de Estudo Material Notas de Aula Apresentação
Leia maisAlgoritmos Gulosos. Norton T. Roman
Algoritmos Gulosos Norton T. Roman Apostila baseada no trabalho de Delano M. Beder, Luciano Digianpietri, David Matuszek, Marco Aurelio Stefanes e Nivio Ziviani Algoritmos Gulosos São aqueles que, a cada
Leia maisAtribuições: Valores, Ponteiros e Referências
Atribuições: Valores, Ponteiros e Referências Estruturas de Dados Prof. Vilson Heck Junior Sobre Variáveis Aprendemos, em introdução à programação, que possuem 3 partes mais importantes: Nome; Tipo de
Leia mais