·
Análise de Sistemas ·
Linguagens de Programação
Send your question to AI and receive an answer instantly
Recommended for you
11
Funcao Parcial e Currying - Paradigmas de Programacao Senac
Linguagens de Programação
SENAC
23
Avaliacao de Desempenho de Sistemas de Informacao - Teoria das Filas
Linguagens de Programação
SENAC
23
Avaliacao de Desempenho Sistemas de Informacao Teoria das Filas
Linguagens de Programação
SENAC
61
Conceitos Básicos do Modelo Relacional em Banco de Dados
Linguagens de Programação
SENAC
22
Rede de Filas - Teoria das Filas e Avaliacao de Desempenho
Linguagens de Programação
SENAC
27
Avaliacao de Desempenho Sistemas de Informacao - Teoria das Filas e Redes
Linguagens de Programação
SENAC
11
Funcao Parcial e Currying - Paradigmas de Programacao
Linguagens de Programação
SENAC
3
Exercícios SQL - Consultas em Banco de Dados de Vendas
Linguagens de Programação
SENAC
11
Funcao Parcial e Currying - Paradigmas de Programacao
Linguagens de Programação
SENAC
43
Linguagens-de-Script-e-Paradigmas-de-Programacao-Senac
Linguagens de Programação
SENAC
Preview text
Linguagens Funcionais Paradigmas de Programação Centro Universitário Senac Prof Celso Crivelaro celsovcrivelarospsenacbr Diferenças dos paradigmas ImperativoOO Baseados em comandos e sequências Lembra uma máquina de Turing Estrutura de dados e código estão juntos Funcional Baseado em chamadas de funções Lembra Cálculo Lambda Estruturas de dados e código são separados Função é um tipo primitivo e podem ter operações Função é apenas uma chamada de código Função pode passada em outra função Linguagens Funcionais Puras Scheme Common LISP Família do LISP Família do ML Linguagens que usam recursos funcionais John McCarthy criador do LISP e pai da IA LISP LISt Processor ponto forte sistema de macros que permite extensões Sintaxe simples Notação matemática prefixa função argumentos operação Principais dialetos Schema Common Lisp Clojure e Racket Menção Honrosa LISP Criada em 1958 para construir software para Unix e o próprio Unix Muito fácil de construir um compilador FunFact Steve Russell cocriador criou também um dos primeiros games Spacewar Rich Hickey criador do Clojure Dialeto do LISP que roda sobre a JVM Foco em imutabilidade e estruturas de dados FunFact A provedora de suporte comercial Cognitect foi comprada pela Nubank Há uma versão do ClojureScript que transpila para JS Clojure httpsclojureorg Clojure é um jogo de palavras como closures e Java httpswwwbraveclojurecomclojurefor thebraveandtrue https wwwcasadocodigocombr productslivroprogramacao funcionalclojure httpspracticalligithubio Referências httpsleiningenorg Leiningen gerenciador de projetos e build do Clojure Pontos importantes Em LISPs trate tudo como listas e funções LISP listas Em Linguagens funcionais funções são tipos e são associadas às variáveis Em Linguagens funcionais puras tudo é chamada de função Em Linguagens com comportamento funcional funções são passados por argumentos A Introdução à Linguagem Introdução Notação infixa nomefuncao arg1 arg2 entre parênteses Operações básicas suportam listas 1 4 6 6 7 24 Mesmo testes lógicos 10 30 45 true Definição de valor def a 234 IF ELSE é uma função if testelógico função true função else B Funções Funções Função pura Em Linguagens funcionais funções são tipos Em Linguagens funcionais puras tudo é chamada de função Funções anônimas Exercício 0 Fazer a função de Bhaskara httpsbrasilescolauolcombrmatematicaformulabhaskarahtm Deve retornar um vector com os 2 resultados httpsreplitcelsosenacex0funcoesmainclj Recursão Recursão Para você aprender recursão primeiro você precisa aprender recursão Anônimo Recursão é uma forma de fazer loops no processamento de listas Porém sofre do mesmo efeito de estouro de pilha com recursões grandes Em casos possíveis podese utilizar a Otimização de Chamada em Cauda o código se liga como se fosse uma sequência só httpscodurancecom20171205ontailcalloptimisation C Operações com Lista D Funções de alta ordem Funções de alta ordem São funções que recebem dados geralmente listas e outra função f e executam algum processamento A função F deve respeitar o contrato os mesmos argumentos e retornar o mesmo tipo de valor É uma forma de Poliformismo como em Objetos F é a função polimórfica Permite uma extensão de tipos de processamento em um algoritmo Funções de alta ordem clássicas map reduce filter MAP Map é uma operação que aplica uma função em cada elemento da lista Deve retornar a mesma quantidade de itens 𝜆 𝑥 3 𝑥2 10 2 12 4 1 9 32 8 38 14 5 29 REDUCE Reduce é uma operação que faz algum cálculo sobre toda a lista baseado em um valor inicial acumulador acc 𝜆𝑎𝑐𝑐 𝑥 𝑎𝑐𝑐𝑥 10 2 12 4 1 9 10 12 24 28 29 38 acc 0 38 FILTER Filter é uma operação que reduz a quantidade de itens de uma lista baseada em uma função que retorna um valor booleano 𝜆 𝑥 𝑥 10 10 2 12 4 1 9 10 12 map filter and reduce explained with emoji map cook filter isVegetarian reduce eat Centro Universitário Senac Prof Celso Crivelaro celsovcrivelarospsenacbr Muito Obrigado
Send your question to AI and receive an answer instantly
Recommended for you
11
Funcao Parcial e Currying - Paradigmas de Programacao Senac
Linguagens de Programação
SENAC
23
Avaliacao de Desempenho de Sistemas de Informacao - Teoria das Filas
Linguagens de Programação
SENAC
23
Avaliacao de Desempenho Sistemas de Informacao Teoria das Filas
Linguagens de Programação
SENAC
61
Conceitos Básicos do Modelo Relacional em Banco de Dados
Linguagens de Programação
SENAC
22
Rede de Filas - Teoria das Filas e Avaliacao de Desempenho
Linguagens de Programação
SENAC
27
Avaliacao de Desempenho Sistemas de Informacao - Teoria das Filas e Redes
Linguagens de Programação
SENAC
11
Funcao Parcial e Currying - Paradigmas de Programacao
Linguagens de Programação
SENAC
3
Exercícios SQL - Consultas em Banco de Dados de Vendas
Linguagens de Programação
SENAC
11
Funcao Parcial e Currying - Paradigmas de Programacao
Linguagens de Programação
SENAC
43
Linguagens-de-Script-e-Paradigmas-de-Programacao-Senac
Linguagens de Programação
SENAC
Preview text
Linguagens Funcionais Paradigmas de Programação Centro Universitário Senac Prof Celso Crivelaro celsovcrivelarospsenacbr Diferenças dos paradigmas ImperativoOO Baseados em comandos e sequências Lembra uma máquina de Turing Estrutura de dados e código estão juntos Funcional Baseado em chamadas de funções Lembra Cálculo Lambda Estruturas de dados e código são separados Função é um tipo primitivo e podem ter operações Função é apenas uma chamada de código Função pode passada em outra função Linguagens Funcionais Puras Scheme Common LISP Família do LISP Família do ML Linguagens que usam recursos funcionais John McCarthy criador do LISP e pai da IA LISP LISt Processor ponto forte sistema de macros que permite extensões Sintaxe simples Notação matemática prefixa função argumentos operação Principais dialetos Schema Common Lisp Clojure e Racket Menção Honrosa LISP Criada em 1958 para construir software para Unix e o próprio Unix Muito fácil de construir um compilador FunFact Steve Russell cocriador criou também um dos primeiros games Spacewar Rich Hickey criador do Clojure Dialeto do LISP que roda sobre a JVM Foco em imutabilidade e estruturas de dados FunFact A provedora de suporte comercial Cognitect foi comprada pela Nubank Há uma versão do ClojureScript que transpila para JS Clojure httpsclojureorg Clojure é um jogo de palavras como closures e Java httpswwwbraveclojurecomclojurefor thebraveandtrue https wwwcasadocodigocombr productslivroprogramacao funcionalclojure httpspracticalligithubio Referências httpsleiningenorg Leiningen gerenciador de projetos e build do Clojure Pontos importantes Em LISPs trate tudo como listas e funções LISP listas Em Linguagens funcionais funções são tipos e são associadas às variáveis Em Linguagens funcionais puras tudo é chamada de função Em Linguagens com comportamento funcional funções são passados por argumentos A Introdução à Linguagem Introdução Notação infixa nomefuncao arg1 arg2 entre parênteses Operações básicas suportam listas 1 4 6 6 7 24 Mesmo testes lógicos 10 30 45 true Definição de valor def a 234 IF ELSE é uma função if testelógico função true função else B Funções Funções Função pura Em Linguagens funcionais funções são tipos Em Linguagens funcionais puras tudo é chamada de função Funções anônimas Exercício 0 Fazer a função de Bhaskara httpsbrasilescolauolcombrmatematicaformulabhaskarahtm Deve retornar um vector com os 2 resultados httpsreplitcelsosenacex0funcoesmainclj Recursão Recursão Para você aprender recursão primeiro você precisa aprender recursão Anônimo Recursão é uma forma de fazer loops no processamento de listas Porém sofre do mesmo efeito de estouro de pilha com recursões grandes Em casos possíveis podese utilizar a Otimização de Chamada em Cauda o código se liga como se fosse uma sequência só httpscodurancecom20171205ontailcalloptimisation C Operações com Lista D Funções de alta ordem Funções de alta ordem São funções que recebem dados geralmente listas e outra função f e executam algum processamento A função F deve respeitar o contrato os mesmos argumentos e retornar o mesmo tipo de valor É uma forma de Poliformismo como em Objetos F é a função polimórfica Permite uma extensão de tipos de processamento em um algoritmo Funções de alta ordem clássicas map reduce filter MAP Map é uma operação que aplica uma função em cada elemento da lista Deve retornar a mesma quantidade de itens 𝜆 𝑥 3 𝑥2 10 2 12 4 1 9 32 8 38 14 5 29 REDUCE Reduce é uma operação que faz algum cálculo sobre toda a lista baseado em um valor inicial acumulador acc 𝜆𝑎𝑐𝑐 𝑥 𝑎𝑐𝑐𝑥 10 2 12 4 1 9 10 12 24 28 29 38 acc 0 38 FILTER Filter é uma operação que reduz a quantidade de itens de uma lista baseada em uma função que retorna um valor booleano 𝜆 𝑥 𝑥 10 10 2 12 4 1 9 10 12 map filter and reduce explained with emoji map cook filter isVegetarian reduce eat Centro Universitário Senac Prof Celso Crivelaro celsovcrivelarospsenacbr Muito Obrigado