Buscar

Haskell aula 12

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

*
Haskell aula 12
Tuplas: Exercício resolvido.
Prof. Msc Aurélio Andrade de Menezes Júnior.
*
Tuplas: exercício resolvido
O exercício mostrado a seguir tem como objetivo ilustrar os principais pontos sobre o uso de tuplas.
*
Tuplas: exercício resolvido
O problema descreve uma quantidade de registros de pessoas, em que três argumentos definem cada registro. Os argumentos são nome, idade e sexo de uma dada pessoa.
Assim o conceito de tipos compostos com tuplas é usado como artifício para definir um conjunto de dados em uma única função.
*
Tuplas: exercício resolvido
Inicialmente um tipo é criado como:
Type Meu_tipo = (String, Float, Char)
Em seguida uma função é usada para armazenar tais dados.
Para tanto há duas opções:
*
Tuplas: exercício resolvido
* O primeiro modo consiste em cadastrar um registro em uma função com um argumento diferente, tal como:
--pessoa :: Float -> (String, Float, Char)
--utilizando o tipo definido anteriormente
pessoa :: Float -> Meu tipo
--retorna uma tupla_3 a partir do rg passado
pessoa 1 = (“Joao Silva”, 12, ‘m’)
pessoa 2 = (“Jonas Souza”, 81, ‘m’)
pessoa 3 = (“Joice Silva”, 21, ‘f’)
pessoa 4 = (“Janete Souza”, 55, ‘f’)
pessoa 5 = (“Jocileide Strauss”, 21, ‘f’)
pessoa 9999 = (“Nao há mais ninguém”, 0, ‘x’)
*
Tuplas: exercício resolvido
Uma segunda forma utiliza o conceito de guardas:
--pessoa :: Float -> (String, Float, Char)
--utilizando o tipo definido anteriormente
pessoa :: Float -> Meu tipo
--retorna uma tupla_3 a partir do rg passado
pessoa rg
 | rg ==1 = (“Joao Silva”, 12, ‘m’)
 | rg == 2 = (“Jonas Souza”, 81, ‘m’)
 | rg == 3 = (“Joice Silva”, 21, ‘f’)
 | rg == 4 = (“Janete Souza”, 55, ‘f’)
 | rg == 5 = (“Jocileide Strauss”, 21, ‘f’)
 | otherwise= (“Nao há mais ninguém”, 0, ‘x’)
*
Tuplas: exercício resolvido
Uma vez definido este conjunto de pessoas, são obtidos os dados desses registros com o uso de funções auxiliares.
*
Tuplas: exercício resolvido
Por exemplo, a função menor_idade retorna a menor idade da pessoa do registro 1 até o número que é passado como argumento neta função. A função é definida como:
menor_idade :: Float -> Meu_tipo
menor_idade x
 |x==1 = pessoa 1
 | otherwise = menor (pessoa x) (menor_idade (x-1))
*
Tuplas: exercício resolvido
*
Tuplas: exercício resolvido
*
Tuplas: exercício resolvido
*
Tuplas: exercício resolvido
*
Tuplas: exercício resolvido
*
Tuplas: exercício resolvido
*
Tuplas: exercício resolvido
*
Dúvidas

Continue navegando