Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Programação Funcional - Exercícios Resolvidos - aula 4, Exercícios de Informática

Coleção completa de exercícios resolvidos em haskell

Tipologia: Exercícios

2013

Compartilhado em 13/09/2013

bruno-franco-oliveira-9
bruno-franco-oliveira-9 🇧🇷

4

(10)

63 documentos

1 / 12

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Express˜
oes e Func¸ ˜
oes
Express˜
oes e Func¸ ˜
oes
Linguagem Haskell
Maria Adriana Vidigal de Lima
Faculdade de Computac¸ ˜
ao - UFU
Agosto - 2009
Maria Adriana Vidigal de Lima Express˜
oes e Func¸ ˜
oes
pf3
pf4
pf5
pf8
pf9
pfa

Pré-visualização parcial do texto

Baixe Programação Funcional - Exercícios Resolvidos - aula 4 e outras Exercícios em PDF para Informática, somente na Docsity!

Express ˜oes e Func¸ ˜oes

Express ˜oes e Func¸ ˜oes

Linguagem Haskell

Maria Adriana Vidigal de Lima

Faculdade de Computac¸ ˜ao - UFU

Agosto - 2009

Express ˜oes e Func¸ ˜oes

(^1) Express ˜oes e Func¸ ˜oes Linguagem Haskell

Exemplo

A declarac¸ ˜ao dos tipos dos valores de entrada e sa´ıda da func¸ ˜ao ´e definida por:

menor :: Int -> Int -> Int

Estrat ´egia para a definic¸ ˜ao do problema: uso de uma express ˜ao de selec¸ ˜ao menor x y = se x ≤ y ent ˜ao o resultado da express ˜ao ´e x sen ˜ao o resultado da express ˜ao ´e y

Express ˜ao de Selec¸ ˜ao

Sintaxe de uma express ˜ao de selec¸ ˜ao bidirecional:

if <condi¸c~ao> then else

Func¸ ˜ao Menor:

menor :: Int -> Int -> Int menor x y = if x <= y then x else y

Outro Exemplo

Func¸ ˜ao para retornar o maior entre tr ˆes n ´umeros:

maxTres :: Int -> Int -> Int -> Int maxTres x y z | x >= y && x >= z = x | y >= z = y | otherwise = z

Avaliac¸ ˜ao de uma aplicac¸ ˜ao da func¸ ˜ao maxTres

maxTres 4 3 2 ?? 4 >= 3 && 4 >= 2 ?? True && True ?? True 4

Outro Exemplo

Avaliac¸ ˜ao de uma aplicac¸ ˜ao da func¸ ˜ao maxTres

maxTres 6 (4+3) 5 ?? 6 >= (4+3) && 6 >= 5 ?? 6 >= 7 && 6 >= 5 ?? False && True ?? False ?? 7 >= 5 ?? True 7

Neste exemplo avaliamos inicialmente a primeira condic¸ ˜ao, 6 ≥ ( 4 + 3 ) && 6 ≥ 5 que resultou em False; e em seguida avaliamos 7 ≥ 5 que ´e verdadeira. Assim, o resultado ´e 7.

Func¸ ˜oes

Main> floor (6.5) 6

Main> floor (6.5) + 5. ERROR - Unresolved overloading *** Type : (Fractional a, Integral a) => a *** Expression : floor 6.5 + 5.

Main> fromIntegral(floor (6.6)) + 5.

A func¸ ˜ao fromIntegral converte um inteiro em real.

Func¸ ˜oes do m ´odulo Prelude

sin - seno de ˆangulo em radianos cos - coseno tan - tangente asin - arco seno acos - arco coseno atan - arco tangente abs - valor absoluto sqrt - raiz quadrada, valor positivo apenas exp - exponencial base e