Universidade Federal do Espírito Santo
Introdução à Programação
uma Abordagem Funcional
Programação I
Prof.ª Claudia Boeres
[email protected]
CT VII - Sala 34
Departamento de Informática
Centro Tecnológico
Universidade Federal do Espírito Santo
Co-Autoria: Clebson Oliveira
Introdução

Caracteriza-se por agregar quantidades
variáveis de elementos desde que todos
eles sejam de um mesmo tipo.
Exemplos

Lista de números pares;

Lista dos livros lidos por uma pessoa;

Lista dos amigos que aniversariam em um dado mês;

Lista dos presidentes corruptos;

Lista dos vereadores decentes;

Lista das disciplinas que já cursei;

Lista dos lugares que visitei;

Lista dos números feios;

Lista dos números primos;

Lista das posições para as quais um cavalo pode se deslocar;

Lista das palavras de um texto;

Lista dos erros provocados pelo Windows;
Definição
Uma lista é uma seqüência de zero ou mais
elementos de um mesmo tipo.
Entende-se por seqüência uma quantidade
qualquer de itens dispostos linearmente.
Podemos representar uma lista pela enumeração
dos seus elementos, separados por vírgulas e
cercados por colchetes:
[ e1, e2, .., en]
Exemplos
1. [ ]
2. [1,3,5,7,9]
3. ['a', 'e', 'i', 'o', 'u']
4. [(22,04,1500), (07,09,1822),(31,03,1964)]
5. [[1,2,5,10], [1,11], [1,2,3,4,6,12], [1,13], [1,2,7,14],
[1,3,5,15]]
Operações sobre listas: primitivas
importantes

length
fornece o tamanho da lista
Sintaxe:
length <lista>
Exemplo:
> length [1,4,6,7]
4
Operações sobre listas: primitivas
importantes

Indexação
fornece o valor localizado na posição informada
Sintaxe:
<lista> !! <indice>
Exemplo:
> [1,4,6,7] !! 0
1
Operações sobre listas: primitivas
importantes

concat:
fornece uma nova lista obtida pela
concatenação dos elementos de uma lista de listas
Sintaxe:
concat <lista de listas>
Exemplo:
> concat [[1.5,1,3],[3.7],[2,4.5,8]]
[1.5,1,3,3.7,2,4.5,8]
Operações sobre listas: primitivas
importantes

++:
é um operador de lista que fornece uma nova lista
obtida a partir da concatenação das listas dadas como
argumentos
Sintaxe:
<lista> ++ <lista>
Exemplo:
> [1,4,6,7] ++ [2,3,4]
[1,4,6,7,2,3,4]
Operações sobre listas: primitivas
importantes

: (construtor de listas)
insere um elemento em uma lista
Sintaxe:
<elemento> : <lista>
Exemplo:
> 0: [1,4,6,7]
[0,1,4,6,7]
Operações sobre listas: primitivas
importantes

head
fornece o primeiro elemento de uma lista.
Só pode ser aplicado em listas não nulas
Sintaxe:
head <lista>
Exemplo:
> head [1,4,6,7]
1
Operações sobre listas: primitivas
importantes

tail
fornece a lista sem o seu primeiro elemento
Sintaxe:
tail <lista>
Exemplo:
> tail [1,4,6,7]
[4,6,7]
Operações sobre listas: primitivas
importantes

last
fornece o último elemento de uma lista.
Só pode ser aplicado em listas não nulas
Sintaxe:
last <lista>
Exemplo:
> last [1,4,6,7]
7
Operações sobre listas: primitivas
importantes

init
fornece a lista sem o seu último elemento
Sintaxe:
init <lista>
Exemplo:
> init [1,4,6,7]
[1,4,6]
Operações sobre listas: primitivas
importantes

null
Fornece o valor booleano True
se a lista dada como entrada for nula e False, caso contrário
Sintaxe:
null <lista>
Exemplo:
> null [1,4,6,7]
False
Operações sobre listas: primitivas
importantes
take
Fornece uma lista com os k primeiros valores
requisitados da lista original
Sintaxe:
take <valor inteiro positivo> <lista>

Exemplo:
> take 3 [1,4,6,7]
[1,4,6]
Operações sobre listas: primitivas
importantes
drop
Fornece uma lista com os valores restantes da lista
original, retirados os k primeiros
Sintaxe:
drop <valor inteiro positivo> <lista>

Exemplo:
> drop 3 [1,4,6,7]
[7]
Download

Exemplo - claudiaboeres