Programação funcional

539 palavras 3 páginas
Conceitos de programação funcionais condensados!
Programação funcional é magia!

Funcional é o paradigma de programação que o estilo da construção e a estrutura de "montagem" como funções matemáticas Alguns dos conceitos mais importantes são os que, nela se evita amudança de estado e dados mutáveis. Programação funcional tem as raízes no Cálculo Lambda1

Mas chega de enrolação e vamos aos conceitos ;)

Recursão

A recursão em calda é a solução funcional para o laço while e for da programação imperativa tradicional. A função se chama até atingir o resultado desejado e então retorna o valor.

def fatorial(x): if (x == 1): return 1 else return x * fatorial(x-1)
Obs.: Note que essa solução é um padrão para o loop e ele sempre vai seguir uma estrutura parecida com a da função fatorial. Porém a recursão em calda gasta uma grande quantidade de memória, e a solução para isso é:

Otimização recursão em calda

def fatorial(num): def fatorialLoop(num, acumulador): if (num == 1): return acumulador else: return fatorialLoop(num-1,acumulador*num)

return fatorialLoop(num, 1)

print(fatorial(4))
Algumas linguagens não aceitam essa otimização, como o Python, porem alguns dialetos de Lisp, como racket suportam.

(define (fact x) (if (= x 0) 1 (* x (fact (- x 1)))))

(define (fact x) (define (fact-tail x accum) (if (= x 0) accum (fact-tail (- x 1) (* x accum)))) (fact-tail x 1))
Call by Value vs. Call by Name

Call by Value imediatamente avalia os parâmetros da função (i.e. resolve a função) e retorna o seu valor, ao contrário de Call by Name que deixa para avaliar os valores depois.

Exemplo em uma função:

def f(x,y) = x*x
Se utilizarmos o CBV a função se resolveria da seguinte forma:

#ex1: f(3, 2) : 3*3 1. 6 2.
#ex2:
f(4+5, 9): f(9,9) 1. 9*9 2.

Relacionados

  • Programaçao funcional
    761 palavras | 4 páginas
  • Linguagens de programação Funcional
    453 palavras | 2 páginas
  • Trabalho de Programação Funcional
    1918 palavras | 8 páginas
  • Exercicios programação Funcional
    2176 palavras | 9 páginas
  • Dicas de programação ABAP para funcionais
    6231 palavras | 25 páginas
  • PARADIGMAS DE PROGRAMAÇÃO: FUNCIONAL E ORIENTADO A OBJETOS
    3689 palavras | 15 páginas
  • Paradígma de programação funcional aplicada na linguagem Scala
    1750 palavras | 7 páginas
  • linguagem de programação
    2359 palavras | 10 páginas
  • F# - LINGUAGEM FUNCIONAL
    999 palavras | 4 páginas
  • Paradigma de Programacao
    1419 palavras | 6 páginas