PARADIGMA FUNCIONAL. 2º TAE 2_TAE_lingaugens_de_programação.pdf

Preview:

Citation preview

PARADIGMA FUNCIONAL

2º TAE2_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.

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.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.

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