Programação Funcional

Slides:



Advertisements
Apresentações semelhantes
LISTAS Dilvan Moreira, parcialmente baseado em material do prof. Ricardo Campello.
Advertisements

Programação Funcional
Departamento de Informática Universidade Federal do Espírito Santo
Introdução à Programação: uma Abordagem Funcional Programação I Eng. de Computação Prof.ª Claudia Boeres e Prof. Estefhan Dazzi 2010/1.
ESTRUTURA DE DADOS Professor: Marcelo Mendes Turma: MBI-1
Aula T-09 – BCC202 Listas (Parte 1) Túlio Toffolo www. decom. ufop
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL INTRODUÇÃO À ALGORITMOS Professora: Fabíola Gonçalves.
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA MECÂNICA INTRODUÇÃO À ALGORITMOS Professora: Fabíola Gonçalves.
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL
Teoria da Computação VERIFICAÇÃO DE EQUIVALÊNCIA FORTE DE PROGRAMAS
Segurança Renata Viegas.
Resolução de Problemas em Matemática
Exercício Exercício. Considere um algoritmo sequencial que busca um elemento em uma lista não ordenada a) Qual é a complexidade de tempo deste algoritmo.
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 34 Departamento de Informática Centro.
Listas Encadeadas CONTEÚDO (1) Motivação (2) Definição (3) Operações
Pilhas e Filas CONTEÚDO (1) Pilhas (2) Filas.
Programação II Estruturas de Dados
TEORIA DOS AUTÓMATOS FINITOS E DAS SUAS LINGUAGENS
Excel - Parte 2 Fórmulas e Funções
INE 5384 Estruturas de Dados Prof a. Patrícia Vilain
David Menotti Estruturas de Dados I DECOM – UFOP
David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
BCC101 – Matemática Discreta
Árvores Introdução e Aplicações Árvores de Busca Binária Fundamentos
Prof. Alexandre Parra Organização dos Dados Prof. Alexandre Parra
Árvores e Árvores Binárias
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
5. Processamento de Listas
Ana Luísa Pires Adaptado por Jose Camilo Chaves
MATRIZES REAIS (1ª AULA ).
Árvore Geradora Mínima
LISTAS Uma lista é uma estrutura de dados muito comum na programação não numérica (com particular destaque na computação simbólica onde representa quase.
Algoritmos e Estruturas de Dados
Listas Simplesmente Encadeadas
ALGORITMOS E ESTRUTURAS DE DADOS
Aula prática 12 Listas Encadeadas
CAPÍTULO 05 Listas.
Progressão Geométrica
Listas Lineares Estrutura de Dados.
Prof. Natalia Castro Fernandes Engenharia de Telecomunicações – UFF 2º semestre/2012.
Haskell Programação Funcional
Faculdade de Informática e Tecnologia de Pernambuco ESTRUTURA DE DADOS
© André Santos Programação Funcional Listas André Santos.
Listas, Filas e Pilhas Katia Guimarães.
Aula 3 Listas, pilhas, filas.
INTRODUÇÃO À TEORIA DOS CONJUNTOS
Cardinalidade Expressa o numero de entidades as quais outra entidade pode estar associada via um conjunto de relacionamentos.
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE MATEMÁTICA
Estruturas de Dados Aula 9: Listas (parte 1)
André Luiz da Costa Carvalho
Aula 04 – 22/03 Listas Duplamente Encadeada – Listas Encadeada Circular – Lista Duplamente Encadeada Circular.
Espaços e Subespaços Vetoriais
© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice.
Inteligência Artificial
Elsa Carvalho 18 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Estruturas de.
Prof. Alessandro Gonçalves
Lista Linear Base para outras estruturas
Ciências da Natureza - Matemática
AULA 6 PILHA Last In First Out. AULA 6 Conceito de Pilha Conceito de Pilha “Uma pilha é um tipo especial de Lista Linear em que todas as operações de.
Estrutura de Dados Aula 02 1.
Aula Prática 12 Listas Encadeadas Monitoria
Objetivos Ao concluir esta Disciplina espera-se que os alunos sejam capazes de: Distinguir os conceitos de Estrutura e Dados; Compreender o que são, como.
TECNOLOGIA EM REDES DE COMPUTADORES INTRODUÇÃO A COMPUTAÇÃO Aula /02/2013 Professor Leomir J. Borba- –
Estrutura de Dados Aula 3 - Listas
UCSal – Bacharelado em Informática
Profa. Juliana Mafra ESTRUTURA DE DADOS 30 de Setembro de 2009 Faculdade de Informática e Tecnologia de Pernambuco.
Funções Recursivas Leonardo Lucena – IFRN, 2011 Adaptação das Transparências de Graham Hutton (
Inteligência Artificial Objetos em Prolog  Esta aula introduz objetos de dados simples e estruturados  Os tópicos abordados são:  Unificação como operação.
Programação Funcional
Transcrição da apresentação:

Programação Funcional Programação com Listas

Introdução Considera-se de lista, uma estrutura de dados constituída por uma sequencia ordenada e finita de itens (os quais podem, inclusive ser de outras listas, ditas sublistas). As listas podem ser modificadas, com a inserção, exclusão e reordenamento dos itens. Ex: lista homogénea para um dado tipo de base A; A* = A1, A2, A3, A4 …An

Elementos de uma lista Tipo [A]; Lista de elementos do tipo A Valores []; Lista vazia; [A0,…,An]; Lista não vazia Construtores [] : 1 -> Lista; A * Lista A -> Lista A; [A0,…,A20] = A0 : (A1 : (… : (An : []) … ) ) Operadores ++; head; last; tail; init; nul; length; !!; repeat; break; take; drop; any; all; elem; notElem; sum; maximun; minimun

Operadores de listas De entre vários operadores vejamos a definição dos seguintes: ++, dá-nos a concatenação de duas listas. Ex: [1,2,3]++[4,5,6] = [1,2,3,4,5,6] init, dá-nos todos elementos da lista com excepção do ultimo. Ex: init [1,2,3] = [1,2,]

Operadores de listas last, dá-nos apenas o ultimo elemento da lista. Ex: last [1,2,3,4] = [4] tail, dá-nos todos elementos da lista menos o primeiro (consideram-se a cauda da lista). Ex: tail [1,2,3,4,5,6] = [2,3,4,5,6]

Operadores de listas head, dá-nos apenas o primeiro elemento da lista (considera-se a cabeça da lista). Ex: [1,2,3,4,5,6] = [1] drop, exclui alguns elementos da lista de acordo com o número de elementos que forem seleccionados. Ex: drop 2 [1,2,3,4,5,6] = [3,4,5,6]

Exercicios 1. Diga qual é a função dos operadores que se seguem: Lenght; b) !!; c) break; d) take; e) repeat; f) sum. 2. Com base nas seguintes listas resolva: [1,2,3,4]; 5,6,7,8] a) Faça a união das listas acima; b) Faça a remoção do primeiro elemento da primeira lista; c) Faça a remoção de todos elementos com excepção do primeiro na segunda lista.

FIM