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

Slides:



Advertisements
Apresentações semelhantes
Introdução à Programação: uma Abordagem Funcional
Advertisements

Introdução à Programação: uma Abordagem Funcional
Introdução à Programação: uma Abordagem Funcional Programação I Engenharia de Computação Prof.ª Claudia Boeres 2009/1.
Introdução à Programação: uma Abordagem Funcional Programação I Engenharia de Computação Prof.ª Claudia Boeres 2009/1.
Introdução à Programação: uma Abordagem Funcional Programação I Eng. de Computação Prof.ª Claudia Boeres e Prof. Estefhan Dazzi 2010/1.
Introdução à Programação: uma Abordagem Funcional PD I – Engenharia Elétrica Prof.ª Claudia Boeres 2008/2.
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 34 Departamento de Informática Centro.
Expressões Lógicas e Comandos de Decisão
Expressões Lógicas e Comandos de Decisão
ÁLGEBRA BOOLEANA Prof. Wanderley.
Eletrônica Digital Funções e Portas Lógicas
Tautologia, Contradições e Contingência
Introdução a Lógica Matemática
Prof. Sérgio Altenfelder
UNIDADE III – Após o estudo de Álgebra você poderá resolver esse exercício tranquilamente.
Profa. Éverlin Marques PRD-MEC
Prof. Robson Rodrigues da Silva
Lógica Matemática Introdução.
Tautologia Contradição e Contingência
LÓGICA MATEMÁTICA E COMPUTACIONAL
A Lógica das Sentenças Abertas Profa. Ana Florencia Aula 9
Lógica Matemática.
Lógica e Probabilidade
Simplificação de Expressões Booleanas e Circuitos Lógicos
Semana 03: Comandos de desvio de fluxo. Expressões lógicas.
Operações Lógicas sobre proposições
Conceitos de Lógica Digital
Lógica Proposicional Caderno de Exercícios.
Algoritmos e Estruturas de Dados I – Tipos de dados
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
Prof. Esp. Cristiano José Cecanho Inteligência Artificial
Não se esqueça de estudar. Vamos ver alguns exemplos
Lógica Matemática.
Estrutura de Decisão e Repetição
CONTRUÇÃO DA TABELA-VERDADE
BCC101 Matemática Discreta I
Circuitos Lógicos e Álgebra de Boole
Matemática para Computação
Folha de Cálculo Professor: Pedro Lopes Ano Lectivo 2010/2011.
Circuitos Combinacionais Exercícios 2 POSCOMP e ENADE
Lógica matemática.
BCC101 Matemática Discreta I
Minicurso-Aula 1: Técnicas de Demonstração Matemática
ALGORITMO Samuel Â. Lopes.
Variáveis e Operadores
LÓGICA PROPOSICIONAL.
Turmas A e B SEGUNDO BIMESTRE MATERIAL PARA ESTUDO
Departamento de Informática Universidade Federal do Espírito Santo
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL  Operadores São meios pelo qual incrementamos, comparamos e avaliamos dados.
1 Provas e Proposições Anjolina Grisi de Oliveira Fonte:
Aula -2 Técnica Digitais Álgebra Booleana. Técnica digital 1) Uma idéia que liga a eletrônica ao cálculo da álgebra da matemática. Tem por principal objetivo.
Lógica para Computação
Programação Computacional Aula 4: Álgebra Booleana
PROGRAMAÇÃO II – PARTE 3 Profa. Maria Augusta Constante Puget.
ALGORITMOS E PROGRAMAÇÃO
Prof. Christiano Lima Santos
Lógica matemática.
Álgebra Booleana Faculdade Pitágoras Prof. Edwar Saliba Júnior
NOÇÕES DE LÓGICA Professor: Renilson.
Álgebra de Boole Circuitos Digitais
Algoritmos e Estruturas de Dados I – Tipos de dados
Tema 1 – Lógica e Teoria dos Conjuntos
Introdução à Lógica de Programação (2)
Sejamos Implicantes: Lógica e Linguagem Ralph Costa Teixeira Universidade Federal Fluminense.
Curso: Técnico Integrado em Informática Disciplina : Fundamentos de Lógica e Algoritmo Resumo do 1º Bimestre Profª. Katiuscia Lopes dos Santos.
IFRN Técnico em Informática para Internet Estruturas Condicionais Prof. Gilbert Azevedo.
Introdução à Lógica Lógica? É lógico!.
Introdução à Lógica Matemática Prof. Gilbert Azevedo IFRN Técnico em Informática para Internet.
Lógica Matemática e Elementos de Lógica Digital
Proposições e Conectivos Lógicos
Transcrição da apresentação:

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

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

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

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

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

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

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

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}

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

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)

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

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

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

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.

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

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)