Ir ao conteúdo
  • Cadastre-se

davidsfernandes2

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Tudo que davidsfernandes2 postou

  1. Paradigmas de programação são construídos com visões diferentes. A programação estruturada enfatiza utilizar subrotinas sequenciadas em blocos. A programação orientada a objetos abstrai entidades reais (ou não) em objetos que possuem atributos e métodos específicos. A programação imperativa descreve computações em estados, que são alterados por ações e comandos. Por característica, todas essas citadas acima, abordam e atuam sobre problema olhando para “como” a solução será feita. Contudo, seber como um problema dever ser solucionado, nem sempre é trivial. O paradigma de programação funcional surgiu para alterar a abordagem do problema, abordagem essa diferente dos demais paradigmas. Saber “como” um problema deve ser atacado nem sempre é uma tarefa simples. Pode ser mais simples conhecer o problema, em vez de conhecer sua solução previamente. Como auxílio, se tem a programação funcional. Ela aborda soluções olhando para “qual” é o problema em questão, descartando inicialmente a necessidade de conhecer a solução. Um bom exemplo, é a codificação do algoritmo de ordenação Quick Sort, que muitos conhecem. Codificar Quick Sort nas demais linguagens como C++ ou Java demandam extensas linhas, justamente por codificar “como” a ordenação será feita. Contudo, é possível codificar o Quick Sort em Haskell (uma linguagem de programação funcional) com apenas 6 linhas, olhando simplesmente para a definição do algoritmo, como pode ser visto abaixo. > qsort [] = [] > qsort (x:xs) = qsort small ++ mid ++ qsort large > where > small = [y | y<-xs, y<x] > mid = [y | y<-xs, y==x] ++ [x] > large = [y | y<-xs, y>x] Muito mais simples, não é mesmo?! Além de mudar a abordagem do problemas objetos para solucioná-los, o paradigma de programação funcional possui diversas outras vantagens e características. Abaixo estão algumas delas: - na programação funcional não há alocação explícita de memória ou variáveis, como vemos em C++. A alocação ocorre automaticamente quando uma função em invocada, alocando espaço apenas para os parâmetros que a invocam e para seu valor de retorno. - laços de repetição (for, while, do) inexistem explicitamente na programação funcional. Repetições de chamadas de comandos é possível através recursividade. Funções recursivas invocam a si mesma, permitindo que uma operação seja feita várias vezes. Abaixo, é exemplificada a impressão em tela de todos os elementos de uma lista. Enquanto ela não for vazia, será impresso o primeiro elemento da lista. > imprimeLista [ ] = [ ] > imprimeLista (x:xs) = print x imprime xs - funções podem servir de parâmetro para outras funções. Essas são chamadas de funções de ordem superior. No exemplo abaixo, a função soma é usada como parâmetro da função zipWith’ > zipWith' (+) [4,2,5,6] [2,6,2,3] [6,8,7,9] Nao ha requisitos magníficos para aprender a programar utilizando o paradigma funcional. As linguagens de programacao funcional são bem simples de adaptar e aprender. Basta apenas iniciativa e força de vontade.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!