A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução à Programação: uma Abordagem Funcional

Apresentações semelhantes


Apresentação em tema: "Introdução à Programação: uma Abordagem Funcional"— Transcrição da apresentação:

1 Introdução à Programação: uma Abordagem Funcional
Programação I Engenharia de Computação Prof.ª Claudia Boeres 2009/1 Theme created by Sakari Koivunen and Henrik Omma Released under the LGPL license. 1

2 Expressões Lógicas e o tipo Boolean
importante para a tomada de decisão; tipo boolean: tipo de dados para representar a satisfação ou não de uma condição; George Boole: estudou e formalizou operações com estes tipos de valores. 2

3 O número cinco é maior que zero
Proposições Lógicas sentenças matemáticas: afirmações sobre elementos matemáticos; O número três é par O número cinco é maior que zero Proposições lógicas: afirmações sobre elementos do cotidiano. Hoje está chovendo Maria é irmã de José uma proposição lógica é verdadeira ou falsa 3

4 Sentenças fechadas e abertas
Sentenças fechadas: todos os componentes da sentença estão explicitados, podendo ser avaliada imediatamente, conferindo o que elas afirmam com o mundo ao qual elas se referem; 7 + 3 < 20 Sentenças abertas: alguns componentes da sentença não estão devidamente explicitados. Para avaliá-la é preciso instanciar esses componentes x > 5

5 Flamengo não é o melhor time do Rio de Janeiro
Sentenças compostas Formada a partir das proposições lógicas simples Hoje é domingo e faz sol 3 > 2 e 3 < 10 Flamengo não é o melhor time do Rio de Janeiro

6 Avaliação de sentenças compostas
Como se avalia esse tipo de sentença? Hoje faz sol e eu vou à praia Nesta manhã Joãozinho não vai à escola Amanhã choverá ou ficará nublado

7 Tabelas de verdade Palavras lógicas: e, ou e não e p q p e q V F ou p
p ou q V F nã o p não p V F

8 aval :: <sentença> {True, False}
O tipo de dados boolean Formado pelas constantes True e False e as operações lógicas aval :: <sentença> {True, False}

9 Operador lógico (Haskell)
Operadores Lógicos Operação lógica Operador lógico (Haskell) e && ou || não not

10 Operadores relacionais
significado exemplo resultado == igualdade (2 + 3) == (8 – 3) True /= Diferença 5 /= (4 * 2 -3) False < Menor (2 + 3) < 6 <= Menor ou igual (2 * 3) <= 6 > Maior (4 + 2) > (2 * 3) >= Maior ou igual (8 – 3 * 2) >= (15 div 3)

11 Qual é a resposta da avaliação das expressões abaixo?
> 3 < 5 && 7 > 2 > (3 + 5) == 8 && 30 /= 24 && 10 > 4 > not (7 > 8) || 4^2 == 16 && 50.5 <= 100

12 Definição de funções booleanas
Funções booleanas: o contradomínio destas funções consiste no conjunto {True, False} Exemplos: Verificar se um número é ímpar: impar x = mod x 2 /= 0 Verificar se um número pertence ao intervalo [0,1]: intervalo0-1 x = x >= 0 && x <= 1

13 Mais exemplos Verificar se um número está dentro do intervalo [a,b], com a < b; Verificar se um número é maior que o outro; Verificar se um ponto pertence ao primeiro quadrante do plano cartesiano

14 Hierarquia dos operadores relacionais e lógicos
Operadores aritméticos: todos estão no mesmo nível de hierarquia, que está abaixo dos operadores aritméticos e de funções e primitivas; Operadores lógicos && e ||: estão abaixo dos operadores aritméticos e o operador && tem precedência sobre ||; O operador not tem prioridade idêntica a qualquer outra primitiva do Haskell; Se a expressão possui operadores no mesmo nível de hierarquia, são avaliados da esquerda para a direita.

15 Exemplos > 3+4 > 7 False :: Bool
> 3>4 && 5 < 9 || 3 ==3 True :: Bool

16 Exercício Faça uma função que verifique se um ponto P (x, y) pertence ao círculo de raio r e centro Q (x1, y1). r P (x,y) Q (x1,y1)


Carregar ppt "Introdução à Programação: uma Abordagem Funcional"

Apresentações semelhantes


Anúncios Google