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