Paradigma funcional.

Slides:



Advertisements
Apresentações semelhantes
ESTRUTURA DE DADOS Professor: Marcelo Mendes Turma: MBI-1
Advertisements

gerador de código intermediário
1.3.2 – Linguagem Assembly Um programa em linguagem de máquina sofre de total falta de clareza O programa é uma sequência de linhas numeradas Cada linha.
Paradigmas de Programação
O Essencial sobre Linguagens de Programação Luís Caires Maio 2005.
7 de Março de 2006 Introdução (Informal) à Programação 1 Pedro Barahona DI/FCT/UNL Programação para as Ciências Experimentais 2º Semestre 2005/2006.
Introdução (Informal) à Programação
1 Introdução (Informal) à Programação DI/FCT/UNL 1º Semestre 2004/2005.
Introdução (Informal) à Programação
LABORATÓRIO DE PROGRAMAÇÃO
Introdução a Informática
INTRODUÇÃO À PROGRAMAÇÃO
Programação Lógica: PROLOG
Curso Sistemas de Informação Disciplina: Arquitetura de Software
Universidade Federal do Espírito Santo
Paradigmas da Programação – Semestre 1 - Aula 1
Laboratório de Programação de Computadores I
Prof. Msc. Raul Paradeda Aula 3 Fundamentos
Revisão da Linguagem C.
Universidade do Vale do Rio dos Sinos
Otavio Bergmann e Raphael Miollo Parte 2 – Investigação e apresentação.
Introdução a Computação e Cálculo Numérico
Aula prática 13 Orientação a Objetos – C++ Parte 1
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Linguagem de Programação II Parte IX
Conceitos de Linguagem de Programação
16/17 de Março de 2004 Introdução (Informal) à Programação 1 Pedro Barahona DI/FCT/UNL Março 2004.
FTIN Formação Técnica em Informática
Paradigmas de Programação
Linguagem de programação I A
Introdução a Programação
Caracterização e Objetivos das LP
Estudo dos Conceitos e Paradigmas de Programação
Paradigmas de Linguagens de Programação Linguagem Imperativa 2
Paradigmas de Linguagens de Programação Linguagem Imperativa 1
Linguagem de Expressões 2
Augusto Sampaio e Paulo Borba Centro de Informática
Augusto Sampaio e Paulo Borba Centro de Informática
META-PROGRAMAÇÃO Nome: Leonardo Claro de Ávila RA: Orientador: Sergio Alves Moreira.
Professor: Márcio Amador
Geração de Código aula-12-geração-de-código.pdf.
Conceitos Básicos Luis Antonio Tavares
Paradigmas de Linguagens de Programação Aula 2
Capítulo VIII Ambientes de Execução
Paradigmas da Programação – Semestre 1 – Aula 9 Professor: Eduardo Mantovani )
Introdução a Linguagens de Programação
Paradigmas de Linguagens de Programação
Analise Semântica aula-10-analise-semântica.pdf.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Paradigma Estruturado
Algoritmos Estruturados
Cálculo Lambda (l – Calculus)
Aula 1 – Profª Danielle Costa
Back-End Compilação aula-11-back-end.pdf.
Lambda Cálculo & Programação Funcional
Linguagens de Programação Introdução Prof. Renato Melo.
Construtores e Destrutores
Fundamentos de linguagens de programação
CES-10 INTRODUÇÃO À COMPUTAÇÃO
Noções de lisp Lisp: LISp Processing J.M.Barreto INE-CTC-UFSC.
Paradigmas de Linguagens de Programação Conceitos da Linguagem Imperativa 1 Augusto Sampaio e Paulo Borba Centro de Informática Universidade Federal de.
Programação Computacional Aula 9: Meu primeiro programa em C
SISTEMAS DE INFORMAÇÃO
Módulo II Capítulo 1: Orientação a Objetos
Curso Engenharia Química Modalidade Superior Instituto Federal do Sul de Minas, câmpus Pouso Alegre Professora Michelle Nery Programação de Computadores.
Universidade Estadual de Santa Cruz Conceitos de Linguagens de Programação Aluno: Pedro Arthur M. Nascimento Ilhéus-Ba, 05 de Novembro de 2012.
Influencias sobre o Projeto da Linguagem
LÓGICA DE PROGRAMAÇÃO Curso: Técnico em Informática Professor: Ronaldo Disciplina: Lógica de Programação.
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Transcrição da apresentação:

Paradigma funcional

2º tae 2_TAE_lingaugens_de_programação.pdf

Surgiu na década de 1960 devido a necessidade de desenvolvidos da área de inteligência artificial e seus subcampos. Primeira linguagem de programação foi o LISP. Paradigma funcional é baseado em funções matemáticas mapeando entradas e saídas. Um programa é um conjunto de funções. Exemplos de linguagem funcionais: Shceme COMMON LISP, ML, Haskel, Scala, Erlang. Uma características do paradigma funcional é que a execução de um programa ;e a avaliação de expressões matemáticas que retornam e consomem valores.

Não existe manipulação de valores em memória, uma função apenas define um valor, uma função não faz operações sequenciais em memoria. Dessa forma o paradigma funcional apenas avalia expressões matemáticas e não controla estados, os dados são imutáveis. No paradigma imperativo ocorre a mudança de estados (variáveis em memória) Na programação funcional não há alocação explicita de memoria em nem declaração explicita de variáveis. No modelo “puro” não conceito de variável. Forma funcional é o conceito de funções que não mantes estados e que recebem como parâmetro outras funções ou valores e retornam funções ou valores.

Atualmente muitas linguagem de programação implementam o paradigma funcional junto com outros paradigmas, como o orientado a objetos ou estruturado. Linguagens de programação imperativas(OO, estruturas) tem sua implementação baseados na maquina de Turing. Linguagem de programação funcional tem sua implementação baseada no calculo lambda.

cubo(x) = x * x * x – onde x é um número real. Definição de função São escritas com um nome, seguido de uma listas de parâmetros e uma expressão de mapeamento. cubo(x) = x * x * x – onde x é um número real. Função lambda É a base para o paradigma funcional, é uma forma utilizada para definir funções onde tem-se os parâmetros e o mapeamento. As funções lambda não tem nome. λ (x) x *x * x

Prática shceme

Acesse o endereço http://repl Acesse o endereço http://repl.it/languages/Scheme para utilizar o interpretador do Scheme. Um programa em Scheme é uma coleção de funções

Expressões matemática

Expressão lambda

Variáveis de expressão Também conhecidas como variáveis vinculadas. Essas variáveis nunca mudam o seu valor após ter sido vinculado um valor a elas. define (símbolo expressão)

Variáveis de expressão

Variáveis de expressão

Variáveis de expressão

Variáveis de expressão

Expressões e controle de fluxo (if(predicado expressão_entao expressão_senao))

Expressões e controle de fluxo

Expressões e controle de fluxo

python

O Python implementa características do paradigma funcional. Esse características não são puras, porem permite a escrita de um código mais simples e eficiente. Linguagens de programação como PHP, Ruby Java na versão 8 C# também permitem a implementação de alguns conceitos do paradigma funcional.

lambda variável : expressão Expressão lambda lambda variável : expressão

Expressão lambda

Expressão lambda

Expressão lambda

MAP Recebe como parâmetro uma lista de um função e aplica a função a cada elemento da lista.

MAP

MAP

MAP

filter Recebe como parâmetro uma lista e uma função e aplica a função de forma a realizar um filtro na lista de acordo com a função.

filter

Exercícios aula-09-exercícios.pdf