Buscar

08 - Mais sobre listas

Prévia do material em texto

Mais	
  sobre	
  listas	
  
Renata	
  Carvalho	
  
UNICAP	
  –	
  UNIVERSIDADE	
  CATÓLICA	
  DE	
  PERNAMBUCO	
   Renata	
  Carvalho	
  
Outras	
  Funções	
  
• Comprimento	
  
length	
  ::	
  [t]	
  -­‐>	
  Int	
  
length	
  []	
  =	
  0	
  
length	
  (a:as)	
  =	
  1	
  +	
  length	
  as	
  
• Concatenação	
  
(++)	
  ::	
  [t]	
  -­‐>	
  [t]	
  -­‐>	
  [t]	
  
[]	
  ++	
  y	
  =	
  y	
  
(x:xs)	
  ++	
  y	
  =	
  x	
  :	
  (xs	
  ++	
  y)	
  
•  Essas	
  funções	
  são	
  polimórficas	
  
Outras	
  
Funções	
  
Exemplo:	
  
Biblioteca	
  
Compreensão	
  
de	
  Listas	
  
Exercícios	
  
UNICAP	
  –	
  UNIVERSIDADE	
  CATÓLICA	
  DE	
  PERNAMBUCO	
   Renata	
  Carvalho	
  
Exemplo:	
  Biblioteca	
  
type	
  Pessoa	
  =	
  String	
  
type	
  Livro	
  =	
  String	
  
type	
  BancoDeDados	
  =	
  [(Pessoa,	
  Livro)]	
  
Outras	
  
Funções	
  
Exemplo:	
  
Biblioteca	
  
Compreensão	
  
de	
  Listas	
  
Exercícios	
  
UNICAP	
  –	
  UNIVERSIDADE	
  CATÓLICA	
  DE	
  PERNAMBUCO	
   Renata	
  Carvalho	
  
Exemplo:	
  Biblioteca	
  
baseExemplo	
  ::	
  BancoDeDados	
  
baseExemplo	
  =	
  	
  
	
  [(“Renata”,	
  “Harry	
  Po_er”),	
  
	
  	
  	
  (“Renata”,	
  “Paradigmas	
  de	
  Ling.	
  Programação”),	
  
	
  	
  	
  (“Marcio”,	
  “A	
  Game	
  of	
  Thrones”),	
  
	
  	
  	
  (“Robson”,	
  “O	
  Senhor	
  dos	
  Anéis”),	
  
	
  	
  	
  (“Madeiro”,	
  “Guinness	
  World	
  Records”)]	
  
-­‐-­‐	
  livros	
  emprestados	
  
Outras	
  
Funções	
  
Exemplo:	
  
Biblioteca	
  
Compreensão	
  
de	
  Listas	
  
Exercícios	
  
UNICAP	
  –	
  UNIVERSIDADE	
  CATÓLICA	
  DE	
  PERNAMBUCO	
   Renata	
  Carvalho	
  
Exemplo:	
  Biblioteca	
  
•  Funções	
  
livros	
  ::	
  BancoDeDados	
  -­‐>	
  Pessoa	
  -­‐>	
  [Livro]	
  
empresdmos	
  ::	
  BancoDeDados	
  -­‐>	
  Livro	
  -­‐>	
  [Pessoa]	
  
emprestado	
  ::	
  BancoDeDados	
  -­‐>	
  Livro	
  -­‐>	
  Bool	
  
qtdEmpresdmos	
  ::	
  BancoDeDados	
  -­‐>	
  Pessoa	
  -­‐>	
  Int	
  
emprestar	
  ::	
  BancoDeDados	
  -­‐>	
  Pessoa	
  -­‐>	
  Livro	
  -­‐>	
  	
  
	
  BancoDeDados	
  
devolver	
  ::	
  BancoDeDados	
  -­‐>	
  Pessoa	
  -­‐>	
  Livro	
  -­‐>	
  
	
  BancoDeDados	
   Outras	
  Funções	
  
Exemplo:	
  
Biblioteca	
  
Compreensão	
  
de	
  Listas	
  
Exercícios	
  
UNICAP	
  –	
  UNIVERSIDADE	
  CATÓLICA	
  DE	
  PERNAMBUCO	
   Renata	
  Carvalho	
  
Compreensões	
  de	
  Listas	
  
• Usadas	
  para	
  definir	
  listas	
  em	
  função	
  de	
  outras	
  
listas	
  
doubleList	
  xs	
  =	
  [2*a	
  |	
  a	
  	
  <-­‐	
  xs]	
  
doubleIfEven	
  xs	
  =	
  [2*a	
  |	
  a	
  <-­‐	
  xs,	
  isEven	
  a]	
  
	
  
sumPairs	
  ::	
  [(Int,	
  Int)]	
  -­‐>	
  [Int]	
  
sumPairs	
  lp	
  =	
  [x	
  +	
  y	
  |	
  (x,	
  y)	
  <-­‐	
  lp]	
  
	
  
digits	
  ::	
  String	
  -­‐>	
  String	
  
digits	
  st	
  =	
  [ch	
  |	
  ch	
  <-­‐	
  st,	
  isDigit	
  ch]	
  
Outras	
  
Funções	
  
Exemplo:	
  
Biblioteca	
  
Compreensão	
  
de	
  Listas	
  
Exercícios	
  
UNICAP	
  –	
  UNIVERSIDADE	
  CATÓLICA	
  DE	
  PERNAMBUCO	
   Renata	
  Carvalho	
  
Exercícios	
  
• Redefina	
  as	
  seguintes	
  funções	
  udlizando	
  
compreensão	
  de	
  listas	
  
livros	
  ::	
  BancoDeDados	
  -­‐>	
  Pessoa	
  -­‐>	
  [Livro]	
  
empresdmos	
  ::	
  BancoDeDados	
  -­‐>	
  Livro	
  -­‐>	
  [Pessoa]	
  
devolver	
  ::	
  BancoDeDados	
  -­‐>	
  Pessoa	
  -­‐>	
  Livro	
  -­‐>	
  
	
  BancoDeDados	
  
Outras	
  
Funções	
  
Exemplo:	
  
Biblioteca	
  
Compreensão	
  
de	
  Listas	
  
Exercícios

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes