30/04/2013. Prof. Hudson Costa

Tamanho: px
Começar a partir da página:

Download "30/04/2013. Prof. Hudson Costa"

Transcrição

1 Prof. Hudson Costa PROLOG é uma linguagem de programação que é utilizada para resolver problemas que envolvam objetos e relações entre objetos. Em PROLOG o que se define basicamente são objetos e relações entre esses objetos. Para se referir a objetos, usamos termos. Um termo é uma constante, uma variável ou um termo composto. Para baixar: 1

2 Lógica como linguagem de programação. Raciocínio dedutivo sobre fatos e regras. Processamento simbólico, Semântica declarativa, procedimental e operacional. Programas = Lógica + Controle. Programas = Especificações Formais. Programas = Protótipos. Programas = Bases de dados. Programas = Programas... Declaração de fatos sobre objetos e suas relações; Definições de regras sobre os objetos e suas relações; Questões que são feitas sobre os objetos e suas relações 2

3 Sócrates é homem. Todo homem é mortal. Quem é mortal? Sócrates é mortal. homem(sócrates). mortal(x) homem(x).?- mortal(z). Z = sócrates. Átomos Da mesma forma que o Português, PROLOG possui palavras e frases. O tipo de palavra mais comum em PROLOG é denominado átomo. Alguns exemplos de átomos são: lápis, ana, brasil, livro, tesoura, guarda-roupa. Note que os átomos começam com letra minúscula até mesmo quando são nomes próprios. Predicado Predicado é a construção usada para declarar algo a respeito de objetos. Em PROLOG, a declaração é representada por um átomo e é seguida pelos objetos, que devem ser colocados entre parênteses e estar separados uns dos outros por vírgulas. Frases As frases mais simples da linguagem PROLOG são constituídas por um único predicado. Quando estas frases são usadas para dizer alguma coisa ao computador, elas são afirmativas e terminam com um ponto final. A seguir, mostramos vários exemplos de frases simples afirmativas. 3

4 Fatos Os fatos são os elementos fundamentais da programação em PROLOG, pois determinam as relações que existem entre os objetos conhecidos. Questões Uma questão é escrita da mesma maneira que um fato, sendo diferenciada pelo interpretador ou por sua colocação em um local previamente definido e separado dos fatos. Quando uma questão é feita, o PROLOG realiza uma busca na Base de Conhecimento, procurando um Fato que seja igual ao da questão. Dizemos que dois fatos (ou um fato e uma questão) são unificam (são iguais) se: Seus predicados são os mesmos, Eles possuem o mesmo número de argumentos e, Os argumentos são iguais. O PROLOG encontra um fato que se iguala a questão, ele retorna "YES", indicando que a questão tem resposta verdadeira; caso contrário, ele retorna "NO". NOTA: Para padronizar a criação de predicados (tanto os fatos quanto as regras), devemos sempre pensar que o predicado é uma propriedade do primeiro objeto do argumento. Assim, "gosta (joão, maria)." deve ser lido como "João gosta de Maria". 4

5 Uma variável em PROLOG sempre começa com uma letra maiúscula. Uma variável pode estar instanciada ou não-instanciada. Dizemos que ela está instanciada quando estiver assumindo o valor de um objeto e, caso contrário, não-instanciada. As regras são utilizadas para construir relações entre fatos, explicitando as dependências entre eles. Ao contrário dos fatos, que são incondicionais, as regras especificam coisas que podem ser verdadeiras se algumas condições forem satisfeitas. As regras possuem duas partes: o corpo, que define as condições e se encontra na parte direita da regra, e a cabeça, que define a conclusão, e se encontra na parte esquerda da regra. A cabeça e o corpo são separados pelo símbolo ":-", que é lido como "se". Uma regra sempre é terminada com um ponto final. 5

6 Suponha a seguinte base de conhecimento: Continuação... 6

7 Continuação... 7

8 Seja a árvore genealógica mostrada abaixo... Maria João Como seria uma base de fatos para representar essa árvore? José Ana Júlia Íris Jorge 8

9 Suponha a seguinte Base de Fatos Prolog: cargo(tecnico, rogerio). cargo(tecnico, ivone). cargo(engenheiro, daniel). cargo(engenheiro, isabel). cargo(engenheiro, oscar). cargo(engenheiro, tomas). cargo(engenheiro, ana). cargo(supervisor, luis). cargo(supervisor_chefe, sonia). cargo(secretaria_exec, laura). cargo(diretor, santiago). chefiado_por(tecnico, engenheiro). chefiado_por(engenheiro, supervisor). chefiado_por(analista, supervisor). chefiado_por(supervisor, supervisor_chefe). chefiado_por(supervisor_chefe, director). chefiado_por(secretaria_exec, director). Agora faça as seguintes perguntas à base de dados:?- chefiado_por(tecnico, X), chefiado_por(x,y).?- chefiado_por(tecnico, X), cargo(x,ivone), cargo(y,z).?- cargo(supervisor, X); cargo(supervisor, X).?- cargo(j,p), (chefiado_por(j, supervisor_chefe); chefiado_por(j, supervisor)).?- chefiado_por(p, director), not(cargo(p, carolina)). 9

10 Considere a seguinte base de fatos: aluno(joao, paradigmas). aluno(maria, paradigmas). aluno(joel, lab2). aluno(joel, estruturas). frequenta(joao, feup). frequenta(maria, feup). frequenta(joel, ist). professor(carlos, paradigmas). professor(ana_paula, estruturas). professor(pedro, lab2). funcionario(pedro, ist). funcionario(ana_paula, feup). funcionario(carlos, feup). Escreva as seguintes regras em PROLOG: Quem são os alunos do professor X? Quem são as pessoas da universidade X? (alunos ou docentes) Quem é colega de quem? Se aluno: é colega se for colega de disciplina ou colega de curso ou colega de universidade. Se professor: se for professor da mesma universidade. Considere a seguinte base de factos exemplo: comprou(joao, honda). ano(honda, 1997). comprou(joao, uno). ano(uno, 1998). valor(honda, 20000). valor(uno, 7000). Crie uma regra pode_vender onde o primeiro argumento é a pessoa, o segundo o carro e o terceiro é o ano actual (não especificar homem ou carro nas regras), onde a pessoa só pode vender o carro se o carro for comprado por ela nos últimos 10 anos e se seu valor for menor do que Euros. 10

20/11/2012. Prof. Hudson Costa

20/11/2012. Prof. Hudson Costa Prof. Hudson Costa PROLOG é uma linguagem de programação que é utilizada para resolver problemas que envolvam objetos e relações entre objetos. Em PROLOG o que se define basicamente são objetos e relações

Leia mais

EXERCÍCIOS DE PROGRAMAÇÃO EM LÓGICA

EXERCÍCIOS DE PROGRAMAÇÃO EM LÓGICA FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO EXERCÍCIOS DE PROGRAMAÇÃO EM LÓGICA LUÍS PAULO REIS DANIEL CASTRO SILVA MESTRADO INTEGRADO EM ENGENHARIA INFORMÁTICA E COMPUTAÇÃO PROGRAMAÇÃO EM LÓGICA

Leia mais

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de Exercícios de Programação Lógica.

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de Exercícios de Programação Lógica. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de Exercícios de Programação Lógica Conceitos Básicos Dica: Resolva todos os exercícios no papel e, somente quando estiverem

Leia mais

INTELIGÊNCIA ARTIFICIAL LISTA DE EXERCÍCIOS

INTELIGÊNCIA ARTIFICIAL LISTA DE EXERCÍCIOS INTELIGÊNCIA ARTIFICIAL LISTA DE EXERCÍCIOS 1) Considerando a empresa NAIKE, do ramo de calçados, que possui diversos setores como financeiro, marketing, produção, compras... A qual produz calçados e realiza

Leia mais

Introdução. Inteligência Artificial. Prolog x Outras Linguagens. Programação em Prolog. Programar em Prolog envolve:

Introdução. Inteligência Artificial. Prolog x Outras Linguagens. Programação em Prolog. Programar em Prolog envolve: Inteligência Artificial PROLOG Introdução O Prolog é uma linguagem de programação baseada em lógica de primeira ordem. Não é padronizada. Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Algumas implementações:

Leia mais

Linguagens Lógicas. Aluno: Victor Rocha

Linguagens Lógicas. Aluno: Victor Rocha Linguagens Lógicas Aluno: Victor Rocha Roteiro Introdução Cálculo de Predicados Proposições Conectores Lógicos Variáveis Tipos de Cláusulas fatos regras Banco de Dados Prolog Fatos em Prolog Questões Unificação

Leia mais

Programação em lógica - tem suas raízes no cálculo de predicados, proposto por Frege em 1879.

Programação em lógica - tem suas raízes no cálculo de predicados, proposto por Frege em 1879. Figura: Capa do Livro Hamburger, H., Richards, D. Logic and Language Models for Computer Science, Prentice Hall. Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado

Leia mais

03/04/2016 LÓGICA MATEMÁTICA. Prof. Esp. Fabiano Taguchi. Introdução ao Prolog

03/04/2016 LÓGICA MATEMÁTICA. Prof. Esp. Fabiano Taguchi.  Introdução ao Prolog LÓGICA MATEMÁTICA Prof. Esp. Fabiano Taguchi fabianotaguchi@gmail.com http://fabianotaguchi.wordpress.com Introdução ao Prolog 1 PROLOG PROgramming in LOGic Linguagem utilizada para resolver problemas

Leia mais

Programação Lógica. A Linguagem Prolog. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia

Programação Lógica. A Linguagem Prolog. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia Programação Lógica A Linguagem Prolog Paulo Henrique Ribeiro Gabriel phrg@ufu.br Faculdade de Computação Universidade Federal de Uberlândia 21 de agosto de 2015 Paulo H. R. Gabriel (FACOM/UFU) Programação

Leia mais

Prolog. MATA56 - Paradigmas de Linguagens de Programação, UFBA, Prof. Rodrigo Rocha Prolog. Iniciando.

Prolog. MATA56 - Paradigmas de Linguagens de Programação, UFBA, Prof. Rodrigo Rocha Prolog. Iniciando. Prolog MATA56 - Paradigmas de Linguagens de Programação, UFBA, 2016.1. Prof. Rodrigo Rocha (rodrigo@dcc.ufba.br) Baseada na lógica de primeira ordem (lógica de predicados) Concebida na década de 1970

Leia mais

Linguagens de Programação Aula 15

Linguagens de Programação Aula 15 Linguagens de Programação Aula 15 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Linguagem Haskell 2 Na aula de hoje Paradigma Lógico Linguagem Prolog (PROgrammation en LOGique) 3 Introdução

Leia mais

Inteligência Artificial. Prolog. Aula 2 Introdução (cont.)

Inteligência Artificial. Prolog. Aula 2 Introdução (cont.) Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação http://www.inf.unioeste.br/~claudia/ia2017.html Inteligência Artificial Prolog Aula 2 Introdução (cont.) Características

Leia mais

Prof. Marcos A. Schreiner. 15 de junho de Prof. Marcos A. Schreiner (UFPR) 15 de junho de / 18

Prof. Marcos A. Schreiner. 15 de junho de Prof. Marcos A. Schreiner (UFPR) 15 de junho de / 18 Prolog - Programação Lógica Prof. Marcos A. Schreiner Disciplina de Introdução à Lógica 15 de junho de 2015 Prof. Marcos A. Schreiner (UFPR) 15 de junho de 2015 1 / 18 1 Introdução 2 Prolog Definições

Leia mais

Linguagens Lógicas. Alunos: Josiane Novais Cláudio Moisés

Linguagens Lógicas. Alunos: Josiane Novais Cláudio Moisés Linguagens Lógicas Alunos: Josiane Novais Cláudio Moisés Declarativos em vez de baseados em procedimentos Sintaxe diferente das linguagens imperativas e funcionais. Semântica é pouco semelhante a linguagem

Leia mais

CENTRO UNIVERSITÁRIO LUTERANO DE PALMAS PROLOG. Elias Melgaço Chaves Júnior Jonatas Luiz da Costa Rafael Gonçalves Barreira

CENTRO UNIVERSITÁRIO LUTERANO DE PALMAS PROLOG. Elias Melgaço Chaves Júnior Jonatas Luiz da Costa Rafael Gonçalves Barreira CENTRO UNIVERSITÁRIO LUTERANO DE PALMAS PROLOG Elias Melgaço Chaves Júnior Jonatas Luiz da Costa Rafael Gonçalves Barreira Roteiro Linguagens de Programação em Lógica: histórico THIS IS PROLOG!!!! SWI-Prolog

Leia mais

Introdução à Programação em Prolog

Introdução à Programação em Prolog Introdução à Programação em Prolog Thiago A. S. Pardo Solange Rezende Exercício em duplas Introdução (1 de 4) Escrever um programa completo em C que armazene quem gosta de quem e que responda sim ou não

Leia mais

Paradigma de Programação Lógico. Marco A L Barbosa

Paradigma de Programação Lógico. Marco A L Barbosa Introdução Paradigma de Programação Lógico Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Introdução Imperativo

Leia mais

Objetivo PROGRAMAÇÃO EM LÓGICA. Conteúdo. Referências Bibliográficas. Introdução. Introdução. Linguagem Prolog Parte I

Objetivo PROGRAMAÇÃO EM LÓGICA. Conteúdo. Referências Bibliográficas. Introdução. Introdução. Linguagem Prolog Parte I PROGRAMAÇÃO EM LÓGICA Objetivo CIÊNCIA DA COMPUTAÇÃO FACAPE Faculdade de Ciências Aplicadas e Sociais de Petrolina Linguagem Prolog Parte I Prof. Sergio Ribeiro Adaptado do material de: Profª Elaine Ribeiro

Leia mais

SCC Capítulo 5 Representação de Conhecimento através do Prolog

SCC Capítulo 5 Representação de Conhecimento através do Prolog SCC-630 - Capítulo 5 Representação de Conhecimento através do Prolog João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São

Leia mais

Inteligência Artificial. Sistemas Baseados em Conhecimento. Representação de Conhecimento (continuação)

Inteligência Artificial. Sistemas Baseados em Conhecimento. Representação de Conhecimento (continuação) Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação http://www.inf.unioeste.br/~claudia/ia2018.html Inteligência Artificial Sistemas Baseados em Conhecimento Representação

Leia mais

Aula 2 Programação Lógica Sintaxe Prolog. Profa. Elaine Faria UFU -2014

Aula 2 Programação Lógica Sintaxe Prolog. Profa. Elaine Faria UFU -2014 Aula 2 Programação Lógica Sintaxe Prolog Profa. Elaine Faria UFU -2014 Créditos O material a seguir consiste de adaptações e extensões dos originais gentilmente cedidos pelo Prof. Alexsandro Santos Soares

Leia mais

Fundamentos. Paradigma de Programação Lógico. Marco A L Barbosa

Fundamentos. Paradigma de Programação Lógico. Marco A L Barbosa Fundamentos Paradigma de Programação Lógico Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Visão mais detalhada

Leia mais

Programação Lógica. Programação Lógica PROLOG

Programação Lógica. Programação Lógica PROLOG Programação Lógica PROLOG A programação em lógica se desenvolveu no início dos anos 70 a partir de alguns trabalhos sobre prova de teoremas. Desde então ela tem demonstrado ser um formalismo simples, mas

Leia mais

PROGRAMAÇÃO EM LÓGICA

PROGRAMAÇÃO EM LÓGICA PROGRAMAÇÃO EM LÓGICA CIÊNCIA DA COMPUTAÇÃO FACAPE Faculdade de Ciências Aplicadas e Sociais de Petrolina Linguagem Prolog Parte II Prof. Sergio Ribeiro Adaptado do material de: Prof José Augusto Universidade

Leia mais

A linguagem Prolog. Sintaxe, terminologia e semântica informal: Os objectos de dados em Prolog são chamados termos.

A linguagem Prolog. Sintaxe, terminologia e semântica informal: Os objectos de dados em Prolog são chamados termos. A linguagem Prolog Sintaxe, terminologia e semântica informal: Os objectos de dados em Prolog são chamados termos. Um termo ou é uma constante, ou uma variável ou um termo composto. As constantes incluem

Leia mais

Roteiro de Aula Prática

Roteiro de Aula Prática UNIVERSIDADE FEDERAL DE UBERLÂNDIA Disciplina: Programação Lógica Curso: Sistemas de Informação Professores: Elaine Ribeiro de Faria Créditos Roteiro de Aula Prática O material a seguir consiste de adaptações

Leia mais

Eugénio Oliveira Outros docentes da cadeira:

Eugénio Oliveira  Outros docentes da cadeira: eco@fe.up.pt www.fe.up.pt/~eco.html Outros docentes da cadeira: Daniel Moura- T e P dcm@fe.up.pt Rui Gomes- P rjgomes@fe.up.pt 1 Objectivos Adquirir familiaridade com os paradigmas da, Programação com

Leia mais

BUSCA DE SOLUÇÕES EM PROLOG

BUSCA DE SOLUÇÕES EM PROLOG PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ BUSCA DE SOLUÇÕES EM PROLOG Resolução em PROLOG: Unificação e substituição 1 UNIFICAÇÃO EM PROLOG HISTÓRICO 2 HISTÓRIA A PARTIR DE 1950 1958 forma clausal:

Leia mais

EXPRESSÕES RELACIONAIS

EXPRESSÕES RELACIONAIS AULA 7 EXPRESSÕES RELACIONAIS 7.1 Operadores relacionais Uma expressão relacional, ou simplesmente relação, é uma comparação entre dois valores de um mesmo tipo. Esses valores são representados na relação

Leia mais

Fundamentos da Computação 1. Aula 03

Fundamentos da Computação 1. Aula 03 Fundamentos da Computação 1 Aula 03 Conteúdo Introdução à Lógica. Definição da Sintaxe. Traduzindo Sentenças. Introdução à Lógica O que é lógica? Introdução à Lógica O que é lógica? Lógica é a análise

Leia mais

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo.

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo. Lista de Exercício 1 Algoritmo e Programação 29/08/2018 (Solução) 1) Escreva conforme a premissas computacionais, o que vem a ser, lógica. R: São as premissas básicas para se executar instruções, alocadas

Leia mais

Introdução. Introdução. Motivação. Motivação. Solução INTELIGÊNCIA ARTIFICIAL CÁLCULO RELACIONAL (PARTE I)

Introdução. Introdução. Motivação. Motivação. Solução INTELIGÊNCIA ARTIFICIAL CÁLCULO RELACIONAL (PARTE I) Introdução 2 INTELIGÊNCIA ARTIFICIAL CÁLCULO RELACIONAL (PARTE I) O Cálculo Relacional (CR) é uma extensão do Cálculo Proposicional que possui maior capacidade de representação de conhecimento O CR é também

Leia mais

Variáveis o nome de uma variável pode ser qualquer sequência de caracteres alfanuméricos que começa com uma letra maiúscula ou com um underscore (_).

Variáveis o nome de uma variável pode ser qualquer sequência de caracteres alfanuméricos que começa com uma letra maiúscula ou com um underscore (_). Figura: Capa do Livro Hamburger, H., Richards, D. Logic and Language Models for Computer Science, Prentice Hall. Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado

Leia mais

LINGUAGEM DE PROGRAMAÇÃO C AULA 2. Professor: Rodrigo Rocha

LINGUAGEM DE PROGRAMAÇÃO C AULA 2. Professor: Rodrigo Rocha LINGUAGEM DE PROGRAMAÇÃO C AULA 2 Professor: Rodrigo Rocha TIPOS, VARIÁVEIS E CONSTANTES Tipos de Dados Variáveis Constantes Introdução a entrada e saída Printf Scanf Ferramentas: Dev-C++ Code::Blocks

Leia mais

Fundamentos de Lógica Matemática

Fundamentos de Lógica Matemática Webconferência 6-29/03/2012 Introdução à Lógica de Predicados Prof. L. M. Levada http://www.dc.ufscar.br/ alexandre Departamento de Computação (DC) Universidade Federal de São Carlos (UFSCar) 2012/1 Introdução

Leia mais

SCC Capítulo 2 Lógica de Predicados

SCC Capítulo 2 Lógica de Predicados SCC-630 - Capítulo 2 Lógica de Predicados João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano 2013-1 Objetivos Entender o mecanismo de um programa em C/C++ Apresentar e estrutura da Linguagem C/C++

Leia mais

Paradigmas de Linguagens de Programação. Linguagens de Programação Lógicas

Paradigmas de Linguagens de Programação. Linguagens de Programação Lógicas Linguagens de Programação Lógicas Cristiano Lehrer Introdução Uma metodologia de programação diferente. Expressar programas na forma de lógica simbólica e a utilização de inferência lógica para produzir

Leia mais

Prof. Dr. Silvio do Lago Pereira

Prof. Dr. Silvio do Lago Pereira Introdução à Linguagem Prolog Prof. Dr. Silvio do Lago Pereira slago@ime.usp.br 1 Introdução Prolog (programming in logic) [1,2,5] é uma linguagem de programação declarativa, baseada em cláusulas de Horn,

Leia mais

Métodos para a construção de algoritmo

Métodos para a construção de algoritmo Métodos para a construção de algoritmo Compreender o problema Identificar os dados de entrada e objetos desse cenário-problema Definir o processamento Identificar/definir os dados de saída Construir o

Leia mais

Expandindo o Vocabulário. Tópicos Adicionais. Autor: Prof. Francisco Bruno Holanda Revisor: Prof. Antônio Caminha Muniz Neto. 12 de junho de 2019

Expandindo o Vocabulário. Tópicos Adicionais. Autor: Prof. Francisco Bruno Holanda Revisor: Prof. Antônio Caminha Muniz Neto. 12 de junho de 2019 Material Teórico - Módulo de INTRODUÇÃO À LÓGICA MATEMÁTICA Expandindo o Vocabulário Tópicos Adicionais Autor: Prof. Francisco Bruno Holanda Revisor: Prof. Antônio Caminha Muniz Neto 12 de junho de 2019

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano 2018-1 Objetivos Entender o mecanismo de um programa em C/C++ Apresentar e estrutura da Linguagem C/C++

Leia mais

Lógica. Professor Mauro Cesar Scheer

Lógica. Professor Mauro Cesar Scheer Lógica Professor Mauro Cesar Scheer Objetivos Reconhecer e manipular com os símbolos formais que são usados no Cálculo Proposicional (CPC) e Cálculo de Predicados (CP). Determinar o valor de verdade de

Leia mais

Linguagem C Entrada/Saída (console)

Linguagem C Entrada/Saída (console) Linguagem C Entrada/Saída (console) Objetivos Nos artigos anteriores foram utilizadas as funções scanf() e printf(), porém não entramos em maiores detalhes. Agora estudaremos essas e outras funções de

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II. Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II. Prof. Dr. Daniel Caetano LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II Prof. Dr. Daniel Caetano 2013-1 Material de Estudo Material Notas de Aula Apresentação Material Didático Acesso ao Material

Leia mais

Prof. Tiago Semprebom, Dr. Eng. 09 de abril de 2013

Prof. Tiago Semprebom, Dr. Eng. 09 de abril de 2013 Lógica Clássica e Lógica Simbólica Prof. Tiago Semprebom, Dr. Eng. Instituto Federal de Educação, Ciência e Tecnologia Santa Catarina - Campus São José tisemp@ifsc.edu.br 09 de abril de 2013 Prof. Tiago

Leia mais

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CLASSES E OBJETOS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS Classes são estruturas das linguagens de POO criadas para conter os dados que

Leia mais

2. Linguagem de Programação Prolog

2. Linguagem de Programação Prolog Inteligência Artificial - IBM1024 2. Linguagem de Programação Prolog Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 2. Linguagem de Programação Prolog 2.1.

Leia mais

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBA CAMPUS CAMPINA GRANDE 1 2 Elementos Básicos Tipos de dados Dados e seus tipos: Computadores lidam com diversos tipos de dados: numéricos,

Leia mais

Introdução à Lógica Proposicional Sintaxe

Introdução à Lógica Proposicional Sintaxe Bacharelado em Ciência e Tecnologia BC&T Introdução à Lógica Proposicional Sintaxe PASSOS PARA O ESTUDO DE LÓGICA Prof a Maria das Graças Marietto graca.marietto@ufabc.edu.br 2 ESTUDO DE LÓGICA O estudo

Leia mais

Objetivo: Desenvolver algoritmos a partir de problemas

Objetivo: Desenvolver algoritmos a partir de problemas Objetivo: Desenvolver algoritmos a partir de problemas Definição de Lógica Definição de Algoritmo Algoritmo x Lógica Diagrama de Blocos e Portugol Portugol: Estrutura da Linguagem Exemplos de Diagramas

Leia mais

Programação Orientada a Objetos. Programação Lógica

Programação Orientada a Objetos. Programação Lógica Programação Orientada a Objetos Programação Lógica Cristiano Lehrer, M.Sc. Introdução Uma metodologia de programação diferente. Expressar programas na forma de lógica simbólica e a utilização de inferência

Leia mais

Lógica predicados. Lógica predicados (continuação)

Lógica predicados. Lógica predicados (continuação) Lógica predicados (continuação) Uma formula está na forma normal conjuntiva (FNC) se é uma conjunção de cláusulas. Qualquer fórmula bem formada pode ser convertida para uma FNC, ou seja, normalizada, seguindo

Leia mais

Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.

Variáveis e Entrada de Dados Marco André Lopes Mendes  marcoandre.googlepages. Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre@ifc-araquari.edu.br marcoandre@gmail.com marcoandre.googlepages.com Algoritmos é a base Primeiro programa Este programa possui apenas uma

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II. Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II. Prof. Dr. Daniel Caetano LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II Prof. Dr. Daniel Caetano 2012-1 Material de Estudo Material Notas de Aula Apresentação Material Didático Acesso ao Material

Leia mais

Português Estruturado

Português Estruturado Português Estruturado Português Estruturado Para que o algoritmo possa ser executado por uma máquina é importante que as instruções sejam corretas e sem ambigüidades. O português estruturado é, na verdade,

Leia mais

Prof. A. G. Silva. 06 de outubro de Prof. A. G. Silva Programação em Lógica 06 de outubro de / 1

Prof. A. G. Silva. 06 de outubro de Prof. A. G. Silva Programação em Lógica 06 de outubro de / 1 Programação em Lógica Prof. A. G. Silva 06 de outubro de 2016 Prof. A. G. Silva Programação em Lógica 06 de outubro de 2016 1 / 1 Gramáticas Processamento de linguagens naturais é um dos principais usos

Leia mais

INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++

INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++ UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo LAÇOS Laços são comandos da linguagem

Leia mais

Entrada/Saída, Operadores. Curso: Técnico em Informática Disciplina: Algoritmos Prof. Abrahão Lopes

Entrada/Saída, Operadores. Curso: Técnico em Informática Disciplina: Algoritmos Prof. Abrahão Lopes 1 Entrada/Saída, Operadores Curso: Técnico em Informática Disciplina: Algoritmos Prof. Abrahão Lopes abrahao.lopes@ifrn.edu.br O Visualg Editor e interpretador de algoritmoscriado pelo professor Cláudio

Leia mais

Linguagem C: Introdução

Linguagem C: Introdução Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

Matemática Discreta - 01

Matemática Discreta - 01 Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta - 01 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav

Leia mais

Prof. Esp. Andrew Rodrigues 1

Prof. Esp. Andrew Rodrigues   1 Prof. Esp. Andrew Rodrigues www.andrewrodrigues.com.br www.andrewrodrigues.com.br 1 PHP em Ação PHP é uma linguagem de programação que pode fazer todo o tipo de coisas: avaliar dados de formulários enviados

Leia mais

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação Ederson Luiz da Silva Ciência da Computação Algoritmos e Programação Linguagem de programação Linguagem de Programação Linguagem de máquina http://www.assemblyprogressivo.net/p/curso.html Linguagem de

Leia mais

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ PROLOG PROF. CESAR A. TACLA UTFPR/CURITIBA

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ PROLOG PROF. CESAR A. TACLA UTFPR/CURITIBA PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ PROLOG 1 PROLOG: UTILIZAÇÃO A principal utilização da linguagem Prolog reside no domínio da programação simbólica, não-numérica, sendo especialmente adequada

Leia mais

Capítulo 3 Lógica de Primeira Ordem

Capítulo 3 Lógica de Primeira Ordem Capítulo 3 Lógica de Primeira Ordem Lógica para Programação LEIC - Tagus Park 1 o Semestre, Ano Lectivo 2007/08 c Inês Lynce and Luísa Coheur Bibliografia Baseados nos slides de Andrew Rice, Universidade

Leia mais

Conferencia 6 Estruturas, pregados para o trabalho com estruturas, seletores. MSc. Angel Alberto Vazquez Sánchez

Conferencia 6 Estruturas, pregados para o trabalho com estruturas, seletores. MSc. Angel Alberto Vazquez Sánchez Conferencia 6 Estruturas, pregados para o trabalho com estruturas, seletores MSc. Angel Alberto Vazquez Sánchez Objetivo Caracterizar as estruturas como elemento importante da programação no Prolog. 2/41

Leia mais

Unidade 4: Introdução à Lógica de Programação - Parte II

Unidade 4: Introdução à Lógica de Programação - Parte II Lógica de Programação para Engenharia 1 Unidade 4: Introdução à Lógica de Programação - Parte II Português Estruturado Prof. Daniel Caetano Objetivo: Explicitar os elementos básicos envolvidos na programação

Leia mais

INTRODUÇÃO A ALGORITMOS

INTRODUÇÃO A ALGORITMOS INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Campus João Câmara INTRODUÇÃO A ALGORITMOS Prof. Alba Lopes alba.lopes@ifrn.edu.br http://docente.ifrn.edu.br/albalopes INTRODUÇÃO

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

Fundamentos 1. Lógica de Predicados

Fundamentos 1. Lógica de Predicados Fundamentos 1 Lógica de Predicados Predicados e Quantificadores Estudamos até agora a lógica proposicional Predicados e Quantificadores Estudamos até agora a lógica proposicional A lógica proposicional

Leia mais

Licenciatura em Engenharia Informática DEI/ISEP Linguagens de Programação 2006/07

Licenciatura em Engenharia Informática DEI/ISEP Linguagens de Programação 2006/07 Licenciatura em Engenharia Informática DEI/ISEP Linguagens de Programação 2006/07 Ficha 3 Autómatos Finitos Objectivos: Introdução ao conceito de Autómato Finito e notações utilizadas na sua representação;

Leia mais

Cálculo proposicional

Cálculo proposicional O estudo da lógica é a análise de métodos de raciocínio. No estudo desses métodos, a lógica esta interessada principalmente na forma e não no conteúdo dos argumentos. Lógica: conhecimento das formas gerais

Leia mais

Prof. A. G. Silva. 24 de agosto de Prof. A. G. Silva Programação em Lógica 24 de agosto de / 1

Prof. A. G. Silva. 24 de agosto de Prof. A. G. Silva Programação em Lógica 24 de agosto de / 1 Programação em Lógica Prof. A. G. Silva 24 de agosto de 2017 Prof. A. G. Silva Programação em Lógica 24 de agosto de 2017 1 / 1 Termos Referem-se a todas as construções sintáticas da linguagem Um termo

Leia mais

Elisabete Raposo Freire Departamento de Matemática Universidade dos Açores 21 Abril 2012

Elisabete Raposo Freire Departamento de Matemática Universidade dos Açores 21 Abril 2012 Elisabete Raposo Freire Departamento de Matemática Universidade dos Açores 21 Abril 2012 Problema de Einstein (adaptado) Existem 5 casas de 5 cores diferentes. Em cada casa vive uma pessoa de nacionalidade

Leia mais

18/01/2016 LÓGICA MATEMÁTICA. Lógica é usada para guiar nossos pensamentos ou ações na busca da solução. LÓGICA

18/01/2016 LÓGICA MATEMÁTICA. Lógica é usada para guiar nossos pensamentos ou ações na busca da solução. LÓGICA LÓGICA MATEMÁTICA Prof. Esp. Fabiano Taguchi fabianotaguchi@gmail.com http://fabianotaguchi.wordpress.com Lógica é usada para guiar nossos pensamentos ou ações na busca da solução. LÓGICA A lógica está

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

Unificação PROGRAMAÇÃO EM LÓGICA. Unificação. Unificação. Unificação. Unificação. Linguagem Prolog Parte III

Unificação PROGRAMAÇÃO EM LÓGICA. Unificação. Unificação. Unificação. Unificação. Linguagem Prolog Parte III PROGRAMAÇÃO EM LÓGICA CIÊNCIA DA COMPUTAÇÃO FACAPE Faculdade de Ciências Aplicadas e Sociais de Petrolina Linguagem Prolog Parte III Prof. Sergio Ribeiro Adaptado do material da Profª Elaine Ribeiro Universidade

Leia mais

Compiladores. Análise Léxica

Compiladores. Análise Léxica Compiladores Análise Léxica Regras Léxicas Especificam o conjunto de caracteres que constituem o alfabeto da linguagem, bem como a maneira que eles podem ser combinados; Exemplo Pascal: letras maiúsculas

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação Créditos Introdução à Ciência da Computação Tópicos Preliminares em Programação Exceto por adaptações e complementos menores, o material a seguir é composto de slides gentilmente cedidos por: Prof. Rudinei

Leia mais

Lógica Formal. Matemática Discreta. Prof. Vilson Heck Junior

Lógica Formal. Matemática Discreta. Prof. Vilson Heck Junior Lógica Formal Matemática Discreta Prof. Vilson Heck Junior vilson.junior@ifsc.edu.br Objetivos Utilizar símbolos da lógica proposicional; Encontrar o valor lógico de uma expressão em lógica proposicional;

Leia mais

Cálculo de Predicados

Cálculo de Predicados Cálculo de Predicados (Lógica da Primeira Ordem) Prof. Tiago Semprebom, Dr. Eng. Instituto Federal de Educação, Ciência e Tecnologia Santa Catarina - Campus São José tisemp@ifsc.edu.br 18 de maio de 2013

Leia mais

Inteligência Artificial 2016/2017. Grupo 1 Perguntas obrigatórias (15 Minutos)

Inteligência Artificial 2016/2017. Grupo 1 Perguntas obrigatórias (15 Minutos) EI (diurno e PL) ETI (diurno e PL) IGE (diurno e PL) Inteligência Artificial 2016/2017 Teste Tipo de Sistemas Baseados em Conhecimento Lê cuidadosamente as instruções desta prova feita em moldes não habituais.

Leia mais

Computação e Programação Exame Época de recurso

Computação e Programação Exame Época de recurso Nome : Número : Computação e Programação 2013-2014 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de recurso 29 de Janeiro de 2014 v

Leia mais

Programação Lógica. Controle (Bactracking, Cut, Fail) Paulo Henrique Ribeiro Gabriel

Programação Lógica. Controle (Bactracking, Cut, Fail) Paulo Henrique Ribeiro Gabriel Programação Lógica Controle (Bactracking, Cut, Fail) Paulo Henrique Ribeiro Gabriel phrg@ufu.br Faculdade de Computação Universidade Federal de Uberlândia 7 de outubro de 2015 Paulo H. R. Gabriel (FACOM/UFU)

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 08 Introdução ao Prolog Introdução O Prolog é uma linguagem de programação baseada em lógica de primeira ordem. Não é

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II. Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II. Prof. Dr. Daniel Caetano LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II Prof. Dr. Daniel Caetano 2013-2 Material de Estudo Material Notas de Aula Apresentação Material Didático Acesso ao Material

Leia mais

Fundamentos de Lógica e Algoritmos. Aula 3.1 Introdução a Programação. Prof. Dr. Bruno Moreno

Fundamentos de Lógica e Algoritmos. Aula 3.1 Introdução a Programação. Prof. Dr. Bruno Moreno Fundamentos de Lógica e Algoritmos Aula 3.1 Introdução a Programação Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br O objetivo dessa disciplina é aprender uma linguagem de programação?? 2 Objetivo da

Leia mais

Linguagens de Programação Princípios e Paradigmas

Linguagens de Programação Princípios e Paradigmas Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Linguagens e Ambientes de Programação 2002-2003 Linguagens de Programação Princípios e Paradigmas Gladys Castillo

Leia mais

Inteligência Artificial Apontamentos para as aulas Luís Miguel Botelho

Inteligência Artificial Apontamentos para as aulas Luís Miguel Botelho Inteligência Artificial Apontamentos para as aulas Luís Miguel Botelho Departamento de Ciências e Tecnologias da Informação ISCTE-IUL - Instituto Universitário de Lisboa Dezembro de 2016 1 Notas sobre

Leia mais

Não sou o melhor, sei disso, mas faço o melhor que posso!! RANILDO LOPES

Não sou o melhor, sei disso, mas faço o melhor que posso!! RANILDO LOPES Lógica Matemática e Computacional Não sou o melhor, sei disso, mas faço o melhor que posso!! RANILDO LOPES 2. Conceitos Preliminares 2.1. Sentença, Verdade e Proposição Cálculo Proposicional Como primeira

Leia mais

Prática 10 - Funções

Prática 10 - Funções Programação de Computadores I UFOP DECOM June 9, 2016 Prática 10 - Funções Abstract Nesta aula prática você vai aprender a definir e usar funções em um programa. Contents 1 Funções 1 1.1 Definição e chamada

Leia mais

Um conjunto é uma coleção de objetos. Esses objetos podem ser qualquer coisa. Costumamos chamar esses objetos de elementos do conjuntos.

Um conjunto é uma coleção de objetos. Esses objetos podem ser qualquer coisa. Costumamos chamar esses objetos de elementos do conjuntos. Capítulo 1 Conjuntos 1.1 Noção de conjuntos Um conjunto é uma coleção de objetos. Esses objetos podem ser qualquer coisa. Costumamos chamar esses objetos de elementos do conjuntos. 1. Uma coleção de revista

Leia mais

15/03/2018. Professor Ariel da Silva Dias Aspectos sintáticos e semânticos básicos de linguagens de programação

15/03/2018. Professor Ariel da Silva Dias Aspectos sintáticos e semânticos básicos de linguagens de programação Professor Ariel da Silva Dias Aspectos sintáticos e semânticos básicos de linguagens de programação Conjunto de regras que definem a forma da linguagem; Como as sentenças podem ser formadas como sequências

Leia mais

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II PARA ENGENHARIA. Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II PARA ENGENHARIA. Prof. Dr. Daniel Caetano LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II Prof. Dr. Daniel Caetano 2018-1 Objetivos Apresentar, na prática, os diferentes níveis de detalhamento de algoritmo Apresentar

Leia mais

Paradigmas de Linguagem de Programação. Aspectos Básicos

Paradigmas de Linguagem de Programação. Aspectos Básicos Paradigmas de Linguagem de Programação Aspectos Básicos Introdução Nesta segunda etapa de nossos estudos, veremos: aspectos básicos de programa e linguagem de programação; revisão de conceitos de compilador

Leia mais

C Operadores e Expressões

C Operadores e Expressões C Operadores e Expressões Adriano Cruz adriano@nce.ufrj.br Instituto de Matemática Departamento de Ciência da Computação UFRJ 15 de agosto de 2013 Adriano Cruz adriano@nce.ufrj.br (IM-DCC-UFRJ)C Operadores

Leia mais

PROLOG Resumo. 1. Introdução.

PROLOG Resumo. 1. Introdução. PROLOG Jacir de Oliveira, José Alencar Philereno Faculdade de Informática de Taquara Igrejinha - RS - Brazil jacirdeoliveira@faccat.t.br, a lencar@philler.com.br Resumo. A lógica é a ciência do pensamento

Leia mais

Prof. Jorge Cavalcanti

Prof. Jorge Cavalcanti Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta - 01 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav

Leia mais

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Para começar... Strings. Para começar... Strings. Exemplo...

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Para começar... Strings. Para começar... Strings. Exemplo... Algoritmos e Lógica de Programação 80 horas // 4 h/semana Strings ou cadeias de Caracteres Aula 14 Prof. Piva Para começar... Strings são cadeias de caracteres que armazenam dados textuais e, portanto,

Leia mais