1 / 13

Paradigmas de Programação

Paradigmas de Programação. Paradigma funcional. Paradigma funcional. Permite o desenvolvimento de soluções computacionais a partir da aplicação de funções sobre conjuntos de dados . Não há estruturas de repetição. Deve ser utilizado recursão. As linguagens funcionais são interpretadas.

karif
Download Presentation

Paradigmas de Programação

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Paradigmas de Programação Paradigma funcional

  2. Paradigma funcional • Permite o desenvolvimento de soluções computacionais a partir da aplicação de funções sobre conjuntos de dados. • Não há estruturas de repetição. Deve ser utilizado recursão. • As linguagens funcionais são interpretadas. • O interpretador trabalha como uma calculadora lendo as expressões e calculando os resultados.

  3. Lisp • Foi desenvolvido em 1959 pelo Grupo de Inteligência Artificial do M.I.T., sob a direção do Prof. John McCarthy. • Facilitar experimentos no sistema proposto chamado AdviceTaker. • Foi desenvolvido para IBM 704. • Hoje existem várias versões do LISP.

  4. Aplicações • Inteligência Artificial • Representação do conhecimento. • Aprendizagem de máquina. • Processamento de linguagem natural. • Sistemas de treinamento inteligente.

  5. Mais aplicações • WebServer • Teepeedee2* (http://github.com/vii/teepeedee2) *página do autor: http://john.freml.in/ • Hunchentoot (http://weitz.de/hunchentoot/) • Editor de textos Emacs** • AutoCAD ** **http://www.psg.com/~dlamkins/sl/appendix-a.html • Yahoo Store (www.paulgraham.com/lisp.html)

  6. Mais detalhes de Lisp http://www.lispworks.com/products/myths_and_legends.html

  7. Qual a sua opinião? If the 90s were characterized by the rise of the Object Oriented paradigm, and this decade can be considered as a transition phase, then the future belongs to the functional paradigm. Whether developers prefer to mix this with other paradigms (e.g. in languages like Ruby, Python, C#, etc…), […] Antonio Cangiano, Software Engineer http://antoniocangiano.com/2008/11/08/ Se osanos 90 foicaracterizadopeloaumento do paradigmaOrientado a Objeto, essadécadapode ser consideradacomoumafase de transição, então o futuropertenceaoparadigmafuncional. Se desenvolvedorespreferemcombinar o paradigmafuncional com outrosparadigmas (emlinguagenscomo Ruby, Python, C# etc.) ouusarumalinguagemfuncional, o paradigmafuncionalestarálá.

  8. Dados em LISP • Os dados na linguagem Lisp são chamados S-expressions (expressões simbólicas). • Poder ser uma lista ou um átomo • Átomo: a mais simples das expressões. • Pode ser uma letra ou um dígito

  9. Exemplos de S-Expressions Átomos Listas A B C1 5 aluno (X Y Z) (X (Y Z)) ( + 4 5) (1 2 3 4 5) (A 1 B 2 C)

  10. Avaliação das S-Expressions Átomo Listas • O interpretador trata cada átomo como se fosse uma variável, tentando recuperar seu valor. > A ; erro A não definido > ‘A ; é preciso colocar o ‘ para não A ; avaliar > teste ; erro > ‘teste teste > (X Y Z) ; erro > ‘(X Y Z) (X Y Z) > (+ 5 4) 9 > (+ 1 2 3 (* 4 5 6)) 126

  11. Armazenamento das S-Expressions Átomos X Y Z nil Tabela de Átomos (X. (Y.Z))

  12. Armazenamento das S-Expression Átomos X Y A Z B nil C Tabela de Átomos A = (X.Y), B = (Z) e C = Z

  13. Exemplos

More Related