Fundamentos de Programação. operações sobre grafos dirigidos.

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

Download "Fundamentos de Programação. operações sobre grafos dirigidos."

Transcrição

1 Licenciatura em Engenharia Informática e de omputadores Fundamentos de Programação Projecto - Terceira Parte 27 de bril de 2012 Operações sobre grafos dirigidos O objectivo deste projecto é o desenvolvimento de um programa capaz de efectuar determinadas operações sobre grafos dirigidos. 1 Ordens topológicas Uma ordem topológica de um grafo acíclico é uma sequência dos nós do grafo tal que para todo o arco m n pertencente ao grafo, o nó m ocorre na sequência antes do nó m. Se pensarmos nos nós de um grafo como representando tarefas, e no arco m n como indicando que a tarefa m deve ser realizada antes da tarefa n, uma ordem topológica é uma possível ordem pela qual as tarefas podem ser realizadas. O grafo da Figura 1 apenas tem uma ordem topológica, dada pela sequência <,,, >; o grafo da Figura 2 tem três ordens topológicas dadas pelas sequências <,,, >, <,,, > e <,,, >; finalmente, o grafo da Figura 3 não tem nenhuma ordem topológica, uma vez que contém um ciclo. 1.1 eterminação de uma ordem topológica de um grafo O algoritmo abaixo recebe um grafo dirigido e termina de uma de duas possíveis maneiras: Figura 1: Exemplo de grafo dirigido com uma ordem topológica.

2 Pág. 2 de 7 Figura 2: Exemplo de grafo dirigido com três ordens topológicas. Figura 3: Exemplo de grafo dirigido sem ordens topológicas. Se o grafo for acíclico devolve uma ordem topológica do grafo; em caso contrário devolve falso. O símbolo "<-" representa a operação de atribuição. ordem-topológica(grafo) ordem <- nova-lista() ENQUNTO existir pelo menos um nó sem sucessores no-sem-sucs <- um dos nós de grafo sem sucessores grafo <- remove-no(no-sem-sucs,grafo) ordem <- insere(no-sem-sucs,ordem) FIM ENQUNTO SE grafo não for vazio EVOLVE falso SENÃO EVOLVE ordem FIM SE

3 Pág. 3 de 7 everá desenvolver um procedimento (ordem-topologica grafo) que recebe um grafo dirigido, e devolve uma lista correspondente a uma ordem topológica de grafo se esta existir, isto é, se o grafo for acíclico, e devolve #f, em caso contrário. O seu procedimento não precisa de verificar se o argumento que recebe é um grafo. e aqui em diante, assume-se que grafo1, grafo2 e grafo3 são os grafos das Figuras 1, 2 e 3, respectivamente. O procedimento ordem-topologica deverá permitir obter a seguinte interacção: > (ordem-topologica grafo1) ( ) > (ordem-topologica grafo2) ( ) > (ordem-topologica grafo3) #f > (ordem-topologica (novo-grafo)) () Naturalmente que a avaliação da forma (ordem-topologica grafo2) poderia ter devolvido qualquer uma das outras duas ordens topológicas do grafo da Figura 2, isto é, ( ) ou ( ). 1.2 Ordens topológicas únicas ado um grafo dirigido acíclico e uma ordem topológica desse grafo, <n 1, n 2,..., n k >, a ordem é unica se e só se corresponder a um caminho no grafo. 1 everá desenvolver um procedimento (ordem-unica? ordem grafo) que recebe uma ordem topológica ordem de um grafo dirigido acíclico grafo, e devolve #t se ordem for a única ordem topológica de grafo e devolve #f, em caso contrário. O seu procedimento não precisa de verificar a validade dos argumentos que recebe. O procedimento ordem-unica? deverá permitir obter a seguinte interacção: > (ordem-unica? ( ) grafo1) #t > (ordem-unica? ( ) grafo2) #f > (ordem-unica? () (novo-grafo)) #t 1.3 eterminação de todas as ordens topológicas de um grafo everá desenvolver um procedimento (ordens-topologicas grafo) que recebe um grafo dirigido, e devolve uma lista cujos elementos são todas as possíveis ordens topológicas de grafo, não sendo a ordem relevante. O seu procedimento não precisa de verificar se o argumento que recebe é um grafo. 1 Recorda-se que a definição de caminho foi dada no enunciado da segunda parte do projecto.

4 Pág. 4 de 7 O procedimento ordens-topologicas deverá permitir obter a seguinte interacção: > (ordens-topologicas grafo1) (( )) > (ordens-topologicas grafo2) (( ) ( ) ( )) > (ordens-topologicas grafo3) () > (ordens-topologicas (novo-grafo)) (()) ordem pela qual aparecem as três ordens topológicas de grafo2 não tem de ser a que se mostra na interacção acima. 2 Grafos e árvores Uma árvore binária 2 pode ser considerada um grafo dirigido, se a cada ramo da árvore se fizer corresponder um arco com origem na raiz mãe e destino na raiz filha. Na Figura 4 mostra-se uma árvore binária e o grafo dirigido correspondente. No entanto, nem todos os grafos dirigidos se podem considerar árvores binárias. Por exemplo, nem o grafo da Figura 1, nem o grafo da Figura 3, correspondem a árvores binárias. Note que um grafo dirigido pode corresponder a mais do que uma árvore binária, uma vez que não há informação no grafo, correspondente à informação de qual é a árvore direita e a árvore esquerda. Por exemplo, o grafo da Figura 2 pode corresponder a qualquer uma das árvores da Figura 5. everá desenvolver um procedimento (grafo->arvore-binaria grafo) que recebe um grafo dirigido correspondente a uma ou mais árvores, e devolve uma das árvores binárias correspondentes ao seu argumento. O seu procedimento não precisa de verificar se o argumento que recebe é um grafo, nem se corresponde a uma árvore binária. avaliação da forma (grafo->arvore-binaria grafo2) deverá devolver uma das árvores da Figura 5. 3 lassificação nota da terceira parte do projecto será baseada nos seguintes aspectos: 1. Execução correcta (40%). (a) Procedimento ordem-topologica - 2 valores. (b) Procedimento ordem-unica? - 2 valores. (c) Procedimento ordens-topologicas - 2 valores. 2 O tipo abstracto árvore binária encontra-se definido na Secção 5.6 do livro.

5 Pág. 5 de 7 Figura 4: Exemplo de árvore binária e grafo dirigido correspondente.

6 Pág. 6 de 7 Figura 5: Árvores binárias correspondentes ao grafo da Figura 2. (d) Procedimento grafo->arvore-binaria - 2 valores. Esta parte da avaliação é feita recorrendo a um programa de avaliação automática. 2. Facilidade de leitura, nomeadamente abstracção procedimental, abstracção de dados, nomes bem escolhidos, paragrafação correcta, qualidade (e não quantidade) dos comentários 3 e tamanho dos procedimentos (25%). 3. Estilo de programação (5%). 4. Relatório (30%). Os pesos das notas das três partes na nota final do projecto são os seguintes: 1. Primeira parte - 10%. 2. Segunda parte - 30%. 3. Terceira parte - 60%. 3 Tal como na primeira parte do projecto, todos os comentários do seu programa devem ser feitos utilizando a opção omment Out with Semicolons". Programas que utilizem a opção omment Out with a ox serão penalizados com três valores.

7 Pág. 7 de 7 4 ondições de realização e prazos O ficheiro contendo o código deverá conter na primeira linha #lang scheme, na segunda linha (provide (all-defined-out)), na terceira linha (require "solucao-parte2.rkt"), na quarta linha (require "TI-lista.rkt"), na quinta linha (require "TI-arvore.rkt") 4 e, a partir da sexta linha, em comentário, os números e os nomes dos alunos do grupo, bem como o número do grupo. Naturalmente que pode importar outros módulos que considere necessário. O projecto deve ser realizado pelos mesmos grupos da primeira e segunda partes. terceira parte do projecto deve ser entregue até às 15:00 horas do dia 21 de Maio de 2012, na portaria do Tagus, e deverá constar de um relatório, incluindo uma listagem do código (numa fonte "monospace" como, por exemplo, a fonte "courier"). Um modelo de relatório, que podem/devem adaptar de acordo com as vossas necessidades, será disponibilizado no sistema Fénix. O relatório deve ser entregue dentro de uma capa Roma (à venda na Reprografia do EI), apresentando visivelmente o número do grupo e número e nome dos seus autores, na capa. Projectos que não sejam entregues nestas condições serão penalizados com três valores. Para além disto, a submissão do código por via electrónica, através do sistema Fénix, é obrigatória e deverá ser feita nos mesmos prazos que a entrega do relatório. Se o código e o relatório forem entregues em horas diferentes, o desconto será o correspondente ao da última entrega. O código do projecto deve estar contido num único ficheiro. Se durante o desenvolvimento usaram vários ficheiros devem, no final, antes de submeter o código, colocar todo o código num único ficheiro, chamado FP1112-2S-parte3-grupon.rkt, em que n é o número do grupo. Por exemplo, o ficheiro do grupo n o 5 deverá chamar-se FP1112-2S-parte3-grupo5.rkt. urante o desenvolvimento do programa é importante não se esquecer da Lei de Murphy: 1. Todos os problemas são mais difíceis do que parecem; 2. Tudo demora mais tempo do que nós pensamos; 3. Se alguma coisa puder correr mal, ela vai correr mal, na pior das alturas possíveis. Pode ou não haver uma discussão oral do trabalho e/ou uma demonstração do funcionamento do programa (será decidido caso a caso). Projectos iguais, ou muito semelhantes, serão considerados cópias. O corpo docente da cadeira será o único juiz do que se considera ou não copiar no projecto. 4 O seu código deve utilizar a implementação do tipo árvore do ficheiro TI-arvore.rkt, disponível na página da disciplina.

Fundamentos da Programação. Ano lectivo , 2 o Semestre Projecto Primeira Parte 1. Nim

Fundamentos da Programação. Ano lectivo , 2 o Semestre Projecto Primeira Parte 1. Nim Fundamentos da Programação Ano lectivo 2013-14, 2 o Semestre Projecto Primeira Parte 1 Nim Nim é um jogo de estratégia matemática, que pode ser jogado casualmente usando um conjunto de objectos dispostos

Leia mais

Fundamentos da Programação. Ano lectivo , 2 o Semestre Projecto Segunda Parte 1. Liberta o quadrado

Fundamentos da Programação. Ano lectivo , 2 o Semestre Projecto Segunda Parte 1. Liberta o quadrado Fundamentos da Programação Ano lectivo 2013-14, 2 o Semestre Projecto Segunda Parte 1 Liberta o quadrado O jogo Liberta o quadrado é um quebra-cabeças em que o jogador é confrontado com um tabuleiro de

Leia mais

Encriptação de Mensagens

Encriptação de Mensagens Instituto Superior Técnico Fundamentos da Programação 2016/2017 Enunciado do 1 o Projecto Data de entrega: 4 de Novembro de 2016 às 23h59 Encriptação de Mensagens Pretende-se com este trabalho a implementação

Leia mais

Fundamentos da Programação. Ano lectivo Segundo Projeto. Picross

Fundamentos da Programação. Ano lectivo Segundo Projeto. Picross Fundamentos da Programação Ano lectivo 205-6 Segundo Projeto Picross O jogo Picross é um quebra-cabeças sobre uma imagem binária, em que as células de uma grelha devem ser coloridas ou deixadas em branco

Leia mais

Projecto de Lógica para Programação Os suspeitos do costume

Projecto de Lógica para Programação Os suspeitos do costume Projecto de Lógica para Programação Os suspeitos do costume Licenciatura em Engenharia Informática e de Computadores Instituto Superior Técnico 2012-2013 1 Introdução A Avó Einstein vive num bairro problemático,

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 10 Exemplo de desenvolvimento de Programa Modular: Máquina de venda de bilhetes D.E.M. Área Científica de Controlo Automação e

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Segundo Teste 10 de Janeiro de 2014 09:00 10:30 Nome: Número: Esta prova, individual e sem consulta, tem 8 páginas com 12 perguntas. A cotação de cada pergunta está assinalada

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação Primeiro Teste 16 de Abril de 2011 09:00 10:30 Nome: Número: Esta prova, individual e sem consulta, tem 7 páginas com 9 perguntas. A cotação de cada pergunta está assinalada

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software 2 o Semestre de 2006/2007 Primeiro enunciado detalhado do projecto: Portal OurDocs ic-es+alameda@mega.ist.utl.pt ic-es+tagus@mega.ist.utl.pt 1 Introdução O enunciado base do projecto

Leia mais

SISTEMAS DIGITAIS LETI, LEE Ano lectivo de 2013/2014 Trabalho 2 Circuitos Combinatórios Típicos

SISTEMAS DIGITAIS LETI, LEE Ano lectivo de 2013/2014 Trabalho 2 Circuitos Combinatórios Típicos SISTEMAS DIGITAIS LETI, LEE Ano lectivo de 2013/2014 Trabalho 2 Circuitos Combinatórios Típicos 1. Introdução Este trabalho foi concebido para que os alunos façam a concepção de um circuito lógico usando

Leia mais

2. Diga qual é a diferença entre tipos de informação elementares e tipos de informação estruturados.

2. Diga qual é a diferença entre tipos de informação elementares e tipos de informação estruturados. Capítulo 5 Abstracção de dados 5. Exercícios de revisão. Diga o que é um tipo abstracto de informação.. Diga qual é a diferença entre tipos de informação elementares e tipos de informação estruturados.

Leia mais

Estruturas de Dados I Enunciado do Trabalho Prático

Estruturas de Dados I Enunciado do Trabalho Prático Estruturas de Dados I Enunciado do Trabalho Prático Licenciatura em Engenharia Informática Universidade de Évora 2001/2002 1 Objectivo Pretende-se implementar uma base de dados sobre as viagens efectuadas

Leia mais

SISTEMAS DIGITAIS LETI, LEE Ano lectivo de 2015/2016 Trabalho 3 Circuitos Combinatórios Típicos

SISTEMAS DIGITAIS LETI, LEE Ano lectivo de 2015/2016 Trabalho 3 Circuitos Combinatórios Típicos SISTEMAS DIGITAIS LETI, LEE Ano lectivo de 2015/2016 Trabalho 3 Circuitos Combinatórios Típicos 1. Introdução Este trabalho foi concebido para que os alunos façam a concepção de um circuito lógico usando

Leia mais

Fundamentos de Programação

Fundamentos de Programação Licenciatura em Engenharia Informática e de Computadores Fundamentos de Programação Trabalho para casa 22 de Setembro de 2008 Este trabalho corresponde à instalação, no seu computador, do interpretador

Leia mais

Inteligência Artificial Projecto 1

Inteligência Artificial Projecto 1 Bantumi ESPECIFICAÇÕES O projecto destina-se a resolver um conjunto de problemas do jogo Bantumi utilizando métodos de procura em espaço de estados. Bantumi é um jogo derivado do jogo Mancala de origem

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Segundo Teste 18 de Junho de 2014 15:00 16:30 1. (1.0) Diga quais as fases por que passa o desenvolvimento de um programa no modelo estudado e o que se faz em cada uma delas.

Leia mais

ÍNDICE. PREFÁCIO xv. 3 PROCESSOS GERADOS POR PROCEDIMENTOS Recursão Linear Cálculo de potências Cálculo de factoriais 91

ÍNDICE. PREFÁCIO xv. 3 PROCESSOS GERADOS POR PROCEDIMENTOS Recursão Linear Cálculo de potências Cálculo de factoriais 91 ÍNDICE PREFÁCIO xv 1 NOÇÕES BÁSICAS 1 1.1 Algoritmos 5 1.2 O Desenvolvimento de Programas 8 1.3 Programas em Scheme 11 1.3.1 Sintaxe e semântica 13 1.3.2 Construção de formas 15 1.4 Expressões 16 1.4.1

Leia mais

Inteligência Artificial Projecto 2

Inteligência Artificial Projecto 2 Bantumi ESPECIFICAÇÕES O projecto destina-se a resolver um conjunto de problemas do jogo Bantumi utilizando métodos de procura em espaço de estados. Bantumi é um jogo derivado do jogo Mancala de origem

Leia mais

INTELIGÊNCIA ARTIFICIAL

INTELIGÊNCIA ARTIFICIAL INTELIGÊNCIA ARTIFICIAL Primeiro Teste 29 de Outubro de 2011 17:00-18:30 Este teste é composto por 9 páginas contendo 11 perguntas. Para perguntas com resposta de escolha múltipla, respostas erradas com

Leia mais

Introdução aos Algoritmos e Estruturas de Dados 2011/2012

Introdução aos Algoritmos e Estruturas de Dados 2011/2012 INSTITUTO SUPERIOR TÉCNICO Introdução aos Algoritmos e Estruturas de Dados 2011/2012 Enunciado do 3 o Projecto Data de entrega: 09 de Dezembro de 2011 às 23h59 1 Introdução Neste projecto pretende-se desenvolver

Leia mais

O Mundo das Margaridas

O Mundo das Margaridas O Mundo das Margaridas Enunciado da 2 a fase de entrega do projecto Fundamentos da Programação e Elementos de Programação 12 de Dezembro de 2007 Aviso: Este enunciado descreve o que é pretendido na segunda

Leia mais

Fundamentos da Programação de Computadores

Fundamentos da Programação de Computadores Universidade do Minho Escola de Engenharia Departamento de Sistemas de Informação Fundamentos da Programação de Computadores Licenciatura em Tecnologias e Sistemas de Informação 1º Ano 1º Semestre Ano

Leia mais

Apresentação. Licenciatura em Engenharia Informática e de Computadores Computação Gráfica

Apresentação. Licenciatura em Engenharia Informática e de Computadores Computação Gráfica Licenciatura em Engenharia Informática e de Computadores Computação Gráfica Apresentação 2015 Corpo docente de Computação Gráfica / &M / DEI / IST / UTL Relação Presenças/Notas Computação Gráfica (Taguspark

Leia mais

Projecto de Programação e Computação para Arquitectura. António Menezes Leitão

Projecto de Programação e Computação para Arquitectura. António Menezes Leitão Projecto de Programação e Computação para Arquitectura António Menezes Leitão 9 de Novembro de 2013 1 Introdução O Alianz Arena é um estádio desenhado pelos arquitectos Herzog & de Meuron. O estádio tem

Leia mais

Computação e Programação Exame Época de recurso

Computação e Programação Exame Época de recurso Nome : Número : Computação e Programação 2013-2014 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de recurso 29 de Janeiro de 2014 v

Leia mais

Trabalho Prático Data de Entrega : 30 de Maio

Trabalho Prático Data de Entrega : 30 de Maio Escola Superior de Tecnologia / Instituto Politécnico de Setúbal Algoritmos e Tipos Abstractos de Informação 2005/2006 Trabalho Prático Data de Entrega : 30 de Maio O problema Pretende-se realizar um jogo

Leia mais

Guião do trabalho prático TP7

Guião do trabalho prático TP7 Mestrado Integrado em Engenharia Electrotécnica e de Computadores Disciplina Automação Ramos Energia e Automação Guião do trabalho prático TP7 Projecto de Porta Automática baseado em Autómato Programável

Leia mais

MCTA001 Algoritmos e Estruturas de Dados I. Aula 08 Árvores (parte 1) Laboratório

MCTA001 Algoritmos e Estruturas de Dados I. Aula 08 Árvores (parte 1) Laboratório MCTA001 Algoritmos e Estruturas de Dados I Aula 08 Árvores (parte 1) Laboratório 1Q-19 1 2 Árvore binária de busca (ABB) Inventada por P.F. Windley, A.D. Booth, A.J.T. Colin, e T.N. Hibbard em 1960. É

Leia mais

COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2010/2011 MEMec, LEAN

COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2010/2011 MEMec, LEAN COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2010/2011 MEMec, LEAN Enunciado do Projecto Data limite para entrega da Parte 1: 12 de Novembro de 2010. Data limite para entrega da Parte 2: 17 de Dezembro de 2010.

Leia mais

Mestrado em Exercício e Bem-Estar (2º Ciclo, 2º ano) DISSERTAÇÃO NORMAS ORIENTADORAS. Ano Lectivo de 2016/2017

Mestrado em Exercício e Bem-Estar (2º Ciclo, 2º ano) DISSERTAÇÃO NORMAS ORIENTADORAS. Ano Lectivo de 2016/2017 Mestrado em Exercício e Bem-Estar (2º Ciclo, 2º ano) DISSERTAÇÃO NORMAS ORIENTADORAS Ano Lectivo de 2016/2017 Versão de 20/10/2016 1) ÍNDICE 1) ÍNDICE... 2 2) ÂMBITO E OBJECTIVOS... 3 3) ETAPAS DO PROJECTO...

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Campus Alameda IST @ 007/008 5 de Maio de 008. Introdução O objectivo deste trabalho é desenvolver um solucionador automático em ANSI Common Lisp para o quebra-cabeças Picross.

Leia mais

INTELIGÊNCIA ARTIFICIAL 2008/09

INTELIGÊNCIA ARTIFICIAL 2008/09 INTELIGÊNI RTIFIIL 2008/09 PROUR 1) onsidere o problema da torre de Hanoi com discos. Neste problema, existem três pinos, e e discos de diâmetros diferentes, estando no início todos os discos colocados

Leia mais

Corpo Docente Aulas Teóricas

Corpo Docente Aulas Teóricas Sistemas Operativos 2011 / 2012 leic-so-alameda@disciplinas.ist.utl.pt Corpo Docente Aulas Teóricas Alameda Paulo Ferreira paulo.ferreira@inesc-id.pt ou pjpf@ist.utl.pt Tagus: João Barreto joao.barreto@ist.utl.pt

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação Primeiro Teste 21 de Abril de 2012 11:30 13:00 Nome: Número: Esta prova, individual e sem consulta, tem 5 páginas com 10 perguntas. A cotação de cada pergunta está assinalada

Leia mais

Exame de 1ª Época Introdução à Programação IGE e ETI 2003/02/25-1º semestre de 2002/2003 ISCTE

Exame de 1ª Época Introdução à Programação IGE e ETI 2003/02/25-1º semestre de 2002/2003 ISCTE Recibo do Exame de 1ª Época de Introdução à Programação (IGE e ETI), 2003/02/25 1º semestre de 2002/2003, ISCTE Nome do aluno:... Número do aluno:... Assinatura do docente:... Notas: Exame de 1ª Época

Leia mais

Projecto de Programação e Computação para Arquitectura. António Menezes Leitão

Projecto de Programação e Computação para Arquitectura. António Menezes Leitão Projecto de Programação e Computação para Arquitectura António Menezes Leitão 30 de Outubro de 2014 1 Introdução As Dubai Towers constituem um conjunto de quatro torres a construir no Dubai, nos Emiratos

Leia mais

Projecto de Programação e Computação para Arquitectura. António Menezes Leitão

Projecto de Programação e Computação para Arquitectura. António Menezes Leitão Projecto de Programação e Computação para Arquitectura António Menezes Leitão 9 de Novembro de 2015 1 Introdução O Hangzhou Tennis Center é um exemplo paradigmático de um edifício projectado usando processos

Leia mais

Cypedoc. Manual de utilização e manutenção do edifício

Cypedoc. Manual de utilização e manutenção do edifício Cypedoc. Manual de utilização e manutenção do edifício Cypedoc. Manual de utilização e manutenção do edifício Software para Arquitetura, Engenharia e Construção 2 IMPORTANTE: ESTE TEXTO REQUER A SUA ATENÇÃO

Leia mais

MANUAL DE UTILIZADOR

MANUAL DE UTILIZADOR MANUAL DE UTILIZADOR LOGIN.GI Gestão de Imobilizado Tabela de coeficientes para abate Histórico de versões Versão Referência Autor Dt. Emissão Comentários 1.1 Criação João Jacinto 2010/09/03 1.2 Actualização

Leia mais

Fundamentos de Programação

Fundamentos de Programação Licenciatura em Engenharia Informática e de Computadores Fundamentos de Programação Trabalho para casa 25 de Setembro de 2006 Este trabalho corresponde à instalação, no seu computador, do interpretador

Leia mais

Estruturas de Dados Grafos

Estruturas de Dados Grafos Estruturas de Dados Grafos Prof. Eduardo Alchieri (introdução) Grafo é um conjunto de pontos e linhas que conectam vários pontos Formalmente, um grafo G(V,A) é definido pelo par de conjuntos V e A, onde:

Leia mais

Elementos de Matemática Discreta

Elementos de Matemática Discreta Duração: 55m Instituto Superior Técnico - Departamento de Matemática Licenciatura em Engenharia de Telecomunicações e Informática Elementos de Matemática Discreta - 2015-2016 Teste 3 - teste tipo Cotação

Leia mais

Engenharia de Software 2º Semestre de 2006/2007

Engenharia de Software 2º Semestre de 2006/2007 Engenharia de Software 2º Semestre de 2006/2007 Segundo enunciado detalhado do projecto: Portal OurDocs ic-es+alameda@mega.ist.utl.pt ic-es+tagus@mega.ist.utl.pt 1. Introdução Neste segundo enunciado do

Leia mais

Projecto de Programação e Computação para Arquitectura. António Menezes Leitão

Projecto de Programação e Computação para Arquitectura. António Menezes Leitão Projecto de Programação e Computação para Arquitectura António Menezes Leitão 22 de Outubro de 2012 1 Introdução A Igreja de Cristo Operário, em Atlántida, é uma obra do arquitecto e engenheiro Uruguaio

Leia mais

Melhor caminho entre duas estações de metro

Melhor caminho entre duas estações de metro Melhor caminho entre duas estações de metro Concepção e Análise de Algoritmos Turma Nuno Machado Matos Tiago Daniel Sá Cunha Data: 11 de Junho de 2010 Introdução No âmbito da realização do projecto da

Leia mais

Fundamentos da Programação Enunciado de Projecto APL A Programming Language

Fundamentos da Programação Enunciado de Projecto APL A Programming Language UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Fundamentos da Programação Enunciado de Projecto 2005 2006 APL A Programming Language 1 Introdução A linguagem APL (A Programming Language) é uma

Leia mais

Projecto de Programação e Computação para Arquitectura. António Menezes Leitão

Projecto de Programação e Computação para Arquitectura. António Menezes Leitão Projecto de Programação e Computação para Arquitectura António Menezes Leitão 9 de Novembro de 2018 1 Introdução O projecto da disciplina de Programação e Computação para Arquitectura consiste na criação

Leia mais

O grau de saída d + (v) de um vértice v é o número de arcos que tem

O grau de saída d + (v) de um vértice v é o número de arcos que tem Grafos Direcionados Definição (Grau de Entrada) O grau de entrada d (v) de um vértice v é o número de arcos que tem v como cabeça. Definição (Grau de Saída) O grau de saída d + (v) de um vértice v é o

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação Segundo Teste 6 de Janeiro de 2010 09:00 10:30 Nome: Número: Esta prova, individual e sem consulta, tem 8 páginas com 9 perguntas. A cotação de cada pergunta está assinalada

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução da Repescagem do Primeiro Teste 31 de Janeiro de 2013 09:00 10:30 1. De um modo sucinto, (a) (0.5) Diga o que é um processo computacional. Um processo computacional é

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução do segundo exame 29 de Janeiro de 2016 18:30 20:30 1. Indique se cada uma das seguintes afirmações é verdadeira ou falsa. No caso de ser falsa, justifique de forma sucinta.

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação Primeiro Teste 6 de Novembro de 200 09:00 0:30 SOLUÇÃO. (.0) Escolha a única afirmação incorrecta. Uma resposta certa vale valor e uma resposta errada desconta 0.4 valores. A.

Leia mais

Fundamentos de Algoritmos

Fundamentos de Algoritmos Fundamentos de Algoritmos CIC/UFRGS 2006/1 Mais em definições auto-referenciáveis: roteiro Estruturas em estruturas: exemplo das árvores de hereditariedade Árvores binárias de pesquisa Listas de listas

Leia mais

Exercícios de Excel com Programação em VBA. Luís Vieira Lobo

Exercícios de Excel com Programação em VBA. Luís Vieira Lobo Exercícios de Excel com Programação em VBA Luís Vieira Lobo Enunciados 1) Considere o seguinte livro Excel constituído pelas folhas de cálculo Pauta e Exame (ver Fig. 1 e Fig. 2). Fig. 1 Folha de cálculo

Leia mais

DISCIPLINA DE LABORATÓRIOS INTEGRADOS II

DISCIPLINA DE LABORATÓRIOS INTEGRADOS II DISCIPLINA DE LABORATÓRIOS INTEGRADOS II Engenharia Electrónica Industrial Ano Lectivo 1999/2000 DOCENTES: Cristina Santos, Gerardo Rocha, Graça Minas, José Mendes, Paulo Mendes APRESENTAÇÃO 1. Objectivos

Leia mais

Lógica Proposicional. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur

Lógica Proposicional. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur Capítulo 2 Lógica Proposicional Lógica para Programação LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08 c Inês Lynce c Luísa Coheur Programa Apresentação Conceitos Básicos Lógica Proposicional ou Cálculo

Leia mais

8. Árvores. Fernando Silva DCC-FCUP. Estruturas de Dados. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38

8. Árvores. Fernando Silva DCC-FCUP. Estruturas de Dados. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 8. Árvores Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 Árvores - estruturas não lineares (1) Uma lista é um exemplo de uma estrutura de dados

Leia mais

8. Árvores. Fernando Silva. Estruturas de Dados DCC-FCUP. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38

8. Árvores. Fernando Silva. Estruturas de Dados DCC-FCUP. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 8. Árvores Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 Árvores - estruturas não lineares (1) Uma lista é um exemplo de uma estrutura de dados

Leia mais

Corpo Docente. Algoritmos e Estruturas de Dados LEE 2014/ /02/15. Apresentação. } Fernando Mira da Silva

Corpo Docente. Algoritmos e Estruturas de Dados LEE 2014/ /02/15. Apresentação. } Fernando Mira da Silva Algoritmos e Estruturas de Dados LEE 2014/2015 Apresentação Corpo Docente Fernando Mira da Silva Teóricas Laboratórios Horários de Dúvidas Contactos Gabinete: Núcleo 11 Fernando.silva@tecnico.ulisboa.pt

Leia mais

Problemas de Fluxo em Redes

Problemas de Fluxo em Redes CAPÍTULO 7 1. Conceitos fundamentais de grafos Em muitos problemas que nos surgem, a forma mais simples de o descrever, é representá-lo em forma de grafo, uma vez que um grafo oferece uma representação

Leia mais

Apresentação. Licenciatura em Engenharia Informática e de Computadores Computação Gráfica

Apresentação. Licenciatura em Engenharia Informática e de Computadores Computação Gráfica Licenciatura em Engenharia Informática e de Computadores Computação Gráfica Apresentação Language Any foreign student in class? English is necessary? Portuguese is fine for all? Relação Presenças/Notas

Leia mais

Objectivos. Programação I (2010/2011) 2 o Trabalho de Programação

Objectivos. Programação I (2010/2011) 2 o Trabalho de Programação Programação I (2010/2011) 2 o Trabalho de Programação Introdução As progressões aritméticas e geométricas são exemplos de sucessões numéricas onde o elemento n + 1 depende do elemento n e de uma constante.

Leia mais

Modelação Engenharia de Software

Modelação Engenharia de Software Modelação Engenharia de Software 2 o Semestre de 2008/2009 3 a entrega: Requisitos do sistema Test O Matic Sistema Nacional para as Competências Profissionais de Utopia 11 de Maio de 2009 1 Introdução

Leia mais

Microeconomia. Francisco Lima. Apresentação da Disciplina. 1º ano 2º semestre 2011/2012 Licenciatura em Engenharia e Gestão Industrial

Microeconomia. Francisco Lima. Apresentação da Disciplina. 1º ano 2º semestre 2011/2012 Licenciatura em Engenharia e Gestão Industrial Microeconomia Apresentação da Disciplina Francisco Lima 1º ano 2º semestre 2011/2012 Licenciatura em Engenharia e Gestão Industrial Objectivos Familiarizar os alunos com os princípios básicos da Microeconomia,

Leia mais

Projecto de Algoritmos e Estruturas de Dados

Projecto de Algoritmos e Estruturas de Dados Projecto de Algoritmos e Estruturas de Dados Licenciatura em Engenharia Electrotécnica e de Computadores Licenciatura em Engenharia Electrónica 1 o ano, 2 o Semestre, 2005/2006 Instituto Superior Técnico

Leia mais

Corpo Docente Aulas Teóricas

Corpo Docente Aulas Teóricas Sistemas Operativos 2010 / 2011 leic-so-alameda@disciplinas.ist.utl.pt Corpo Docente Aulas Teóricas Alameda Paulo Ferreira paulo.ferreira@inesc-id.pt Tagus: Carlos Ribeiro carlos.ribeiro@tagus.ist.utl.pt

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

Trabalho Prático de Técnicas de Programação (2003/2004)

Trabalho Prático de Técnicas de Programação (2003/2004) Trabalho Prático de Técnicas de Programação (2003/2004) Regras para a implementação do trabalho prático: 1. O trabalho é realizado individualmente ou em grupos de dois alunos. 2. O trabalho é atribuído

Leia mais

Elementos de Programação Projecto de Biocomputação

Elementos de Programação Projecto de Biocomputação Elementos de Programação Projecto de Biocomputação Departamento de Matemática, IST Novembro de 2016 Amoebots A simulação de cenários de vida artificial desempenha um papel importante no estudo de sistemas

Leia mais

Conceito Básicos da Teoria de Grafos

Conceito Básicos da Teoria de Grafos 1 Conceito Básicos da Teoria de Grafos GRAFO Um grafo G(V,A) é definido pelo par de conjuntos V e A, onde: V - conjunto não vazio: os vértices ou nodos do grafo; A - conjunto de pares ordenados a=(v,w),

Leia mais

AVALIAÇÃO PESSOAL DOCENTE Guia de referência para docentes em processo de avaliação do desempenho

AVALIAÇÃO PESSOAL DOCENTE Guia de referência para docentes em processo de avaliação do desempenho INSTITUTO POLITÉCNICO DE VIANA DO CASTELO SERVIÇOS DE INFORMÁTICA. 0 ON-IPVC PESSOAL DOCENTE Guia de referência para docentes em processo de avaliação do desempenho Revisão 09.Julho.0 INTRODUÇÃO Este manual

Leia mais

Informática para Ciências e Engenharias (C) Trabalho Prático /18

Informática para Ciências e Engenharias (C) Trabalho Prático /18 Informática para Ciências e Engenharias (C) Trabalho Prático - 2017/18 1. Contexto O módulo de Young ou módulo de elasticidade é um parâmetro mecânico que proporciona uma medida da rigidez de um material

Leia mais

Ambientes de Desenvolvimento Avançados (ADAV)

Ambientes de Desenvolvimento Avançados (ADAV) Ambientes de Desenvolvimento Avançados (ADAV) 2004/2005 Trabalho Prático O trabalho prático da disciplina de ADAV consistirá na concepção e desenvolvimento de uma aplicação que simule a gestão de uma oficina

Leia mais

Regulamento da disciplina de Projecto de Fim de Curso

Regulamento da disciplina de Projecto de Fim de Curso Instituto Politécnico de Bragança Escola Superior de Tecnologia e de Gestão Licenciatura em Informática de Gestão Regulamento da disciplina de Projecto de Fim de Curso Capítulo I. Âmbito do Regulamento

Leia mais

AED - Algoritmos e Estruturas de Dados Licenciatura em Engenharia Electrónica

AED - Algoritmos e Estruturas de Dados Licenciatura em Engenharia Electrónica AED - Algoritmos e Estruturas de Dados Licenciatura em Engenharia Electrónica Exame de 17 de Junho de 2015-1a Época - Resolução Prova escrita, individual e sem consulta. 20 valores. NOME: NÚMERO: PARTE

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução do Primeiro Teste 29 de Março de 2014 09:00 10:30 1. (1.0) O que é um processo computacional? Qual a relação entre um programa e um processo computacional? Um processo

Leia mais

Aula 19 Árvores Rubro-Negras

Aula 19 Árvores Rubro-Negras Algoritmos e Estruturas de Dados I Aula 19 Árvores Rubro-Negras Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br Q1-2017 1 Árvores de Busca Binária Por que ABBs? São estruturas eficientes de busca (se

Leia mais

Introdução aos Algoritmos e Estruturas de Dados 2011/2012

Introdução aos Algoritmos e Estruturas de Dados 2011/2012 INSTITUTO SUPERIOR TÉCNICO Introdução aos Algoritmos e Estruturas de Dados 2011/2012 Enunciado do 1 o Projecto Data de entrega: 21 de Outubro de 2011 às 23h59 1 Introdução A Zona Euro (ZE) é actualmente

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação Solução do Segundo Teste 23 de Janeiro de 2012 09:00 10:30 Nome: Número: 1. (1.0) Explique em que consiste a abstracção de dados, usando os termos barreiras de abstracção, encapsulação

Leia mais

CONDENSADO TÉCNICO. Qual a filosofia do novo e-taxfree Portugal? Comprovativo electrónico de registo?

CONDENSADO TÉCNICO. Qual a filosofia do novo e-taxfree Portugal? Comprovativo electrónico de registo? CONDENSADO TÉCNICO Qual a filosofia do novo? À saída de uma loja o viajante passará a trazer, para além dos bens e da(s) fatura(s), um Comprovativo Electrónico de Registo (que substitui o antigo formulário

Leia mais

Aulas Teórico-Práticas

Aulas Teórico-Práticas INSTITUTO SUPERIOR POLITÉCNICO DE VISEU ESCOLA SUPERIOR DE TECNOLOGIA LICENCIATURA EM ENGENHARIA DE MADEIRAS Tecnologia das Indústrias da Madeira III Aulas Teórico-Práticas Marcelo Oliveira Cristina Coelho

Leia mais

Um sistema de difusão de informação a nível da aplicação

Um sistema de difusão de informação a nível da aplicação Um sistema de difusão de informação a nível da aplicação Projecto de Redes de Computadores I - 2008/2009 LEIC IST, Tagus Park 21 de Setembro de 2008 1. Sumário O projecto pretende desenvolver um sistema

Leia mais

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores s Práticos Programação II Curso: Engª Electrotécnica - Electrónica e Computadores 1. Objectivos 2. Calendarização 3. Normas 3.1 Relatório de Progresso 3.2 Relatório Final 3.3 Avaliação 4. Propostas 1.

Leia mais

Como escrever um relatório. Ana Filipa Pereira Ramos

Como escrever um relatório. Ana Filipa Pereira Ramos Como escrever um relatório Ana Filipa Pereira Ramos Índice Função do relatório... 2 Normas e regras... 2 Capa e página de rosto... 3 Resumo e Palavras-chave... 4 Agradecimentos... 4 Índice... 5 Pág. 1

Leia mais

COMPILADORES. Análise sintática. Prof. Geovane Griesang Universidade de Santa Cruz do Sul UNISC Departamento de informática

COMPILADORES. Análise sintática. Prof. Geovane Griesang Universidade de Santa Cruz do Sul UNISC Departamento de informática Universidade de Santa Cruz do Sul UNISC Departamento de informática COPILADORES Análise sintática Parte 03 Prof. geovanegriesang@unisc.br Analisador sem recursão Analisador sintático sem recursão pode

Leia mais

AUTOMAÇÃO INDUSTRIAL

AUTOMAÇÃO INDUSTRIAL AUTOMAÇÃO INDUSTRIAL 3º ano Engenharia Mecânica 2º semestre 2007/2008 Guias de Laboratório 1 ATENÇÃO: LEIA ESTE GUIA ATÉ AO FIM POIS TEM MATÉRIAS QUE INCLUEM OS RESTANTES LABORATÓRIOS. SE TIVER DÚVIDAS

Leia mais

Inteligência Artificial

Inteligência Artificial Instituto Politécnico de Setúbal Escola Superior de Tecnologia de Setúbal Departamento de Sistemas e Informática Guia de Exercícios das Aulas Práticas Inteligência Artificial Prof Joaquim Filipe Eng. Adelaide

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação Soluções do primeiro teste 13 de Novembro de 2004 9:00-10:30 Nota Número: 20 Nome: Turma: Escreva o seu número em todas as folhas do teste. O espaço das respostas deve ser limitado

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Simulação de Sociedades Projecto: entrega dia 19 de Dezembro de 2006 (versão 1.3, actualizado a 8/12/06, consultar Errata 1.3) Na era da globalização em que indivíduos de diferentes

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Exame 9 de Janeiro de 2015 09:00 11:00 1. De um modo sucinto, explique o que é: (a) (0.5) Um processo computacional. Um ente imaterial que existe dentro de um computador durante

Leia mais

Oficina: Programação para Android com o App Inventor. Profª. Alana Gama Licencianda em Ciências da Computação IF Baiano Campus Senhor do Bonfim

Oficina: Programação para Android com o App Inventor. Profª. Alana Gama Licencianda em Ciências da Computação IF Baiano Campus Senhor do Bonfim Oficina: Programação para Android com o App Inventor Profª. Alana Gama Licencianda em Ciências da Computação IF Baiano Campus Senhor do Bonfim Desenvolver o quinto Item da lista (Programação) Testa uma

Leia mais

Projecto de Modelação Geométrica e Visualização de Edifícios. Villa Müller. António Menezes Leitão

Projecto de Modelação Geométrica e Visualização de Edifícios. Villa Müller. António Menezes Leitão Projecto de Modelação Geométrica e Visualização de Edifícios Villa Müller António Menezes Leitão 2 de Maio de 2008 1 Introdução A Villa Müller é um edifício desenhado pelo arquitecto Adolf Loos e destinado

Leia mais

ARQUITECTURA DE COMPUTADORES

ARQUITECTURA DE COMPUTADORES ARQUITECTURA DE COMPUTADORES 2º Trabalho de Laboratório Unidade de Controlo Hardwired Objectivo: Pretende-se que os alunos compreendam a metodologia usada na síntese, implementação e programação de um

Leia mais

Sistemas Baseados em Conhecimento

Sistemas Baseados em Conhecimento Departamento de Informática Faculdade de Ciências Universidade de Lisboa Sistemas Baseados em Conhecimento Primeiro Teste 24 de Abril de 2008 Nome Completo: Nº Aluno: Licenciatura: com consulta 1 hora

Leia mais

TRABALHO DE LABORATÓRIO I 1. INTRODUÇÃO 2. CIRCUITO COMBINATÓRIO CADEADO DIGITAL SISTEMAS DIGITAIS , MEEC FUNÇÕES COMBINATÓRIAS

TRABALHO DE LABORATÓRIO I 1. INTRODUÇÃO 2. CIRCUITO COMBINATÓRIO CADEADO DIGITAL SISTEMAS DIGITAIS , MEEC FUNÇÕES COMBINATÓRIAS TRABALHO DE LABORATÓRIO I FUNÇÕES COMBINATÓRIAS 1. INTRODUÇÃO Pretende-se que os alunos compreendam e apliquem a metodologia usada na síntese e concretização de funções combinatórias para resolução de

Leia mais

Ex. 1) Considere que a árvore seguinte corresponde a uma parte do espaço de estados de um jogo de dois agentes: f=7 f=7 f=1 f=2

Ex. 1) Considere que a árvore seguinte corresponde a uma parte do espaço de estados de um jogo de dois agentes: f=7 f=7 f=1 f=2 LERCI/LEIC Tagus 2005/06 Inteligência Artificial Exercícios sobre Minimax: Ex. 1) Considere que a árvore seguinte corresponde a uma parte do espaço de estados de um jogo de dois agentes: Max Min f=4 f=7

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação Segundo Teste 9 de Junho de 2012 9:00 10:30 Nome: Número: Esta prova, individual e sem consulta, tem 6 páginas com 12 perguntas. A cotação de cada pergunta está assinalada entre

Leia mais

Quinto Trabalho Prático. Este trabalho tem como objetivo indexar arquivos de dados usando um índice árvore-b.

Quinto Trabalho Prático. Este trabalho tem como objetivo indexar arquivos de dados usando um índice árvore-b. Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Algoritmos e Estruturas de Dados II docente Profa. Dra. Cristina Dutra de

Leia mais