0
Paradigmas de Linguagem de Programação<br />Prof. Péricles Miranda<br />periclesmiranda@gmail.com<br />
Paradigma Funcional usando Haskell<br />
Listas e Tuplas<br />
Tipos em Haskell<br />Haskell possui:<br />Tipos Primitivos<br />Tipos Compostos: Criados a partir da combinação de tipos ...
Tipos Compostos<br />Definem tipos a partir da composição de tipos existentes:<br />Listas;<br />Tuplas;<br />Tipos Algébr...
Listas<br />Definem uma seqüência de valores pertencentes a um mesmo tipo:<br />[X] = lista de Valores do tipo X;<br />[In...
Listas<br />Alguns exemplos válidos:<br />[ ] = Lista vazia<br />[1,2,3] = Lista formada pelos elementos 1,2 e 3<br />[Tru...
Listas<br />Funções de Listas:<br />head: Retorna o primeiro elemento da lista;<br />tail: Retorna a cauda da lista;<br />...
Listas<br />Valores do tipo lista podem ser expressos das seguintes formas:<br />Listagem de elementos: [1,2,3,4], [2,4,6,...
Tuplas<br />Tipo formado pelo produto cartesiano de outros tipos (possivelmente diferentes)<br />Notação de tipos:<br />()...
Vamos Praticar?<br />
Exercícios<br />1) Somar elementos de uma Lista;<br />2) Incrementar ‘1’ a cada elemento da lista;<br />3) Somar elementos...
Paradigmas de Linguagem de Programação<br />Prof. Péricles Miranda<br />periclesmiranda@gmail.com<br />
Upcoming SlideShare
Loading in...5
×

7 paradigma funcional usando haskell

1,236

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,236
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
13
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "7 paradigma funcional usando haskell"

  1. 1. Paradigmas de Linguagem de Programação<br />Prof. Péricles Miranda<br />periclesmiranda@gmail.com<br />
  2. 2. Paradigma Funcional usando Haskell<br />
  3. 3. Listas e Tuplas<br />
  4. 4. Tipos em Haskell<br />Haskell possui:<br />Tipos Primitivos<br />Tipos Compostos: Criados a partir da combinação de tipos primitivos.<br />Notação: em Haskell todos os tipos iniciam com letras maiúsculas.<br />
  5. 5. Tipos Compostos<br />Definem tipos a partir da composição de tipos existentes:<br />Listas;<br />Tuplas;<br />Tipos Algébricos.<br />
  6. 6. Listas<br />Definem uma seqüência de valores pertencentes a um mesmo tipo:<br />[X] = lista de Valores do tipo X;<br />[Int] = Tipo lista de inteiros;<br />[Float] = Tipo lista de Floats;<br />[Char] = Tipo lista de Caracteres;<br />[[Int]] = Tipo lista de listas de Inteiros;<br />[a] = Tipo lista polimórfica.<br />
  7. 7. Listas<br />Alguns exemplos válidos:<br />[ ] = Lista vazia<br />[1,2,3] = Lista formada pelos elementos 1,2 e 3<br />[True, True, False]<br />[ [1,2,3], [3,2] , [4,3] ]<br />Não é permitido listas com valores de tipos diferentes:<br />[1,True]<br />[‘a’, 2]<br />
  8. 8. Listas<br />Funções de Listas:<br />head: Retorna o primeiro elemento da lista;<br />tail: Retorna a cauda da lista;<br />length: Retorna o comprimento da lista;<br />take n l: Retorna os “n” primeiros elementos da lista;<br />(h : t) : cria uma lista a partir de uma cabeça e cauda<br />Em Haskell Strings são definidas como listas de caracteres:<br />“casa” == [‘c’, ‘a’, ‘s’, ‘a’]<br />
  9. 9. Listas<br />Valores do tipo lista podem ser expressos das seguintes formas:<br />Listagem de elementos: [1,2,3,4], [2,4,6,3];<br />Faixa de valores:<br />[1..10], [1,3..10];<br />[1,3..];<br />Compreenssão:<br />[ x*x | x <- [1..5] ];<br />[ x * y | x <- [1..10] , y <- [2..10] ]<br />
  10. 10. Tuplas<br />Tipo formado pelo produto cartesiano de outros tipos (possivelmente diferentes)<br />Notação de tipos:<br />() = Tipo que não armazena nenhuma informação (equivalente ao void.<br />(Int, Int) = Par de inteiros<br />(Int, Int, Int) = Trinca de inteiros<br />(Float, Int) = Par formado por um Float seguido por um inteiro.<br />([Int], Char) = Tupla formada por uma lista de inteiros seguido por um caracteres<br />[(Int,Char)] = Lista de pares inteiro X caractere<br />
  11. 11. Vamos Praticar?<br />
  12. 12. Exercícios<br />1) Somar elementos de uma Lista;<br />2) Incrementar ‘1’ a cada elemento da lista;<br />3) Somar elementos de tupla de dois elementos;<br />4) Incrementar ‘1’ a elementos de tupla de dois elementos;<br />5) Converter tupla em lista;<br />6) Converter lista em tupla;<br />
  13. 13. Paradigmas de Linguagem de Programação<br />Prof. Péricles Miranda<br />periclesmiranda@gmail.com<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×