Fundamentos e prática de Prolog

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

Download "Fundamentos e prática de Prolog"

Transcrição

1 Disciplina: Lógica Aplicada à Computação Nome: Matrícula: 1. Considere a seguinte base de conhecimentos Prolog: filho(paulo,pedro). % "Paulo é filho de Pedro" filho(paulo,marcela). filho(pedro,josé). filho(pedro,isabel). filho(josé,luiz). filho(josé,ana). filho(tiago,luiz). filho(tiago,gabriela). filha(lúcia,ana). % "Lúcia é filha de Ana" filha(lúcia,luiz). filha(carol,luiz). filha(carol,fernanda). filha(isabel,jo~ao). filha(isabel,fernanda). filha(maria,luiz). filha(maria,gabriela). sexo(marcela, feminino ). % "Marcela é do sexo feminino" sexo(ana, feminino ). sexo(fernanda, feminino ). sexo(gabriela, feminino ). sexo(luiz, masculino ). sexo(jo~ao, masculino ). Estenda esta base de conhecimentos acrescentando regras para os predicados irm~aos/2 (filhos de pelo menos um progenitor comum, qualquer que seja o sexo), tiaavó/2 (irmã de um dos avós) e trifamília/3 (dois homens e uma mulher, onde a mulher tem filhos com cada um dos homens, ou duas mulheres e um homem, onde o homem tem filhos com cada uma das mulheres). Escreva sempre um comentário com o significado de cada novo predicado introduzido. Nota. Você pode estender os predicados primitivos da base de conhecimentos acima, caso necessite, mas somente pela adição de novas regras, nunca de novos fatos. Você também pode utilizar predicados auxiliares para facilitar a tarefa acima mas não poderá se referir a eles nas tarefas abaixo.

2 Soluções. % regras para a relaç~ao irm~aos/2 % (filhos, de qualquer sexo, com pelo menos um progenitor em comum) % predicado auxiliar, que será usado aqui e novamente logo adiante: filhoa(x,y) :- filho(x,y). % "X é filho ou filha de Y" filhoa(x,y) :- filha(x,y). % definiç~ao principal irm~aos(x,y) :- filhoa(x,z), % "X é irm~ao ou irm~a de Y" filhoa(y,z), X \== Y. % para usar tiaavó/2 (irm~a de um dos avós) de forma a cobrir % toda a base de conhecimento, devemos antes de mais nada estender % o predicado primitivo sexo/2 pela adiç~ao de novas regras: sexo(x, masculino ) :- filho(x,_). %"X é do sexo masculino" sexo(x, feminino ) :- filha(x,_). % um predicado auxiliar que pode ser útil adiante é o seguinte: netoa(u,v) :- filhoa(u,z), % "U é neto ou neta de V" filhoa(z,v). % definiç~ao principal tiaavó(x,y) :- netoa(y,w), % "X é tia-avó de Y" irm~aos(w,x), sexo(x, feminino ). % regras para trifamília/3 % (dois homens e uma mulher, onde a mulher tem filhos com cada um dos homens, % ou duas mulheres e um homem, onde o homem tem filhos com cada uma das mulheres) % predicado auxiliar: filhocasal(t,u,v) :- filhoa(t,u), "T é filho ou filha da m~ae U com o pai V" filhoa(t,v), sexo(u, feminino ), sexo(v, masculino ). % definiç~ao principal trifamília(x,y,z) :- filhocasal(_,z,x), "X e Y t^em filhos em comum com Z" filhocasal(_,z,y), X \== Y. trifamília(x,y,z) :- filhocasal(_,x,z), filhocasal(_,y,z), X \== Y. Prof. João Marcos 2

3 Em seguida, formule as seguintes consultas à base de conhecimentos, usando somente os predicados supra-mencionados de forma explícita (sejam eles primitivos, definidos ou estendidos ao longo da solução da tarefa anterior): (a) Quais são os filhos de Luiz ou de João que não são filhos de Fernanda? (b) Quem é a avó paterna de Paulo? (c) Paulo tem tias-avós por parte de pai? Em caso afirmativo, quem são elas? (d) Quais são os irmãos dos irmãos de Tiago que são eles próprios irmãos de Tiago? Apresente todas as respostas relevantes, na mesma ordem mas sem repetição, que o compilador Prolog daria a cada uma destas consultas. Soluções. (a)?- (filho(x,luiz);filha(x,luiz);filho(x,jo~ao);filha(x,jo~ao)), not(filho(x,fernanda);filha(x,fernanda)). X = josé ; X = tiago ; X = lúcia ; X = maria ; false. Nota: observe que puramente a partir da sintaxe não temos por que concluir que Paulo seria do sexo masculino e que não poderia portanto ser filha de ninguém de fato, tudo que sabemos sobre o significado da string filha é o que a base de conhecimentos nos informa; a interpretação pretendida desta string como um predicado é sempre algo extra-linguístico, e alheio assim ao campo de conhecimento do compilador Prolog. (b)?- (filho(paulo,x) ; filha(paulo,x)), sexo(x, masculino ), filho(x,y), sexo(y, feminino ). X = pedro Y = isabel ; false. Nota: a resposta procurada é o termo atribuído a Y. (c)?- tiaavó(_,paulo). true.?- setof(x,tiaavó(x,paulo),z). Z = [carol, lúcia, maria]. (d)?- irm~aos(x,tiago),irm~aos(x,y),irm~aos(y,tiago). Y = lúcia ; Y = carol ; Y = maria ; Y = josé ; false. Nota: fica excluída assim Isabel, que é irmã de Carol, uma das irmãs de Tiago... Com efeito, a relação de irmandade não é transitiva. Prof. João Marcos 3

4 No caso da consulta (b) acima, apresente em detalhe o procedimento de resolução usado pelo compilador na obtenção da resposta. Solução. A consulta que fizemos foi a seguinte: :- (filho(paulo,x);filha(paulo,x)), sexo(x, masculino ), filho(x,y), sexo(y, feminino ). Note que esta consulta inicial, que contém uma disjunção, é equivalente em Prolog às duas consultas seguintes, nesta ordem: :- filho(paulo,x), sexo(x, masculino ), filho(x,y), sexo(y, feminino ). :- filha(paulo,x), sexo(x, masculino ), filho(x,y), sexo(y, feminino ). Mostraremos assim o processo de resolução para estas duas cláusulas. Começamos o processo percorrendo a base de conhecimentos da esquerda para a direita e de cima para baixo, buscando alguma regra (ou fato) cuja cabeça contenha uma expressão que unifique com o literal filho(paulo,x). Daí, segue o [Passo 1]: :- filho(paulo,x), sexo(x, masculino ), filho(x,y), sexo(y, feminino ). filho(paulo,pedro). σ 1 = [X pedro] :- filho(paulo,pedro), sexo(pedro, masculino ), filho(pedro,y), sexo(y, feminino ). filho(paulo,pedro). :- sexo(pedro, masculino ), filho(pedro,y), sexo(y, feminino ). Em seguida, buscaremos na base de conhecimentos alguma regra (ou fato) cuja cabeça unifique com o literal sexo(pedro, masculino ). A tarefa terminaria neste ponto se não tivéssemos estendido o predicado primitivo sexo de modo a obter respostas completas para o predicado tiaavó/2, na primeira tarefa acima. Nestas condições, temos então o seguinte [Passo 1.1]: :- sexo(pedro, masculino ), filho(pedro,y), sexo(y, feminino ). sexo(x1, masculino ) :- filho(x1, ). σ 1.1 = [X1 pedro] :- sexo(pedro, masculino ), filho(pedro,y), sexo(y, feminino ). sexo(pedro, masculino ) :- filho(pedro, ). :- filho(pedro,y), sexo(y, feminino ), filho(pedro, ). Continuando, no [Passo 1.1.1]: :- filho(pedro,y), sexo(y, feminino ), filho(pedro, ). filho(pedro,josé). σ = [Y josé] :- filho(pedro,josé), sexo(josé, feminino ), filho(pedro, ). filho(pedro,josé). :- sexo(josé, feminino ), filho(pedro, ). Prof. João Marcos 4

5 Seguimos no [Passo ]: :- sexo(josé, feminino ), filho(pedro, ). sexo(x2, feminino ) :- filha(x2, ). σ = [X2 josé] :- sexo(josé, feminino ), filho(pedro, ). sexo(josé, feminino ) :- filha(josé, ). :- filho(pedro, ), filha(josé, ). :- filho(pedro, ), filha(josé, ). filho(pedro,josé). :- filha(josé, ). :- filha(josé, ). fail Os passos seguintes, e , envolvem variáveis anônimas, para as quais não há unificação envolvida, mas apenas uma resposta booleana determinística do Prolog: Como a avaliação da consulta acima não foi bem sucedida em eliminar todos os literais, dadas as regras e unificações escolhidas, força-se um backtracking até o último ponto em que houve uma escolha, a saber, a unificação σ Como não há nova opção de escolha, neste ponto, o backtracking continua até o [Passo ], e aqui também não há nova opção de escolha. Backtrackings até a unificação σ e em seguida ao correspondente [Passo 1.1.1] que nos dá finalmente uma opção, que chamaremos de [Passo 1.1.2]: :- filho(pedro,y), sexo(y, feminino ), filho(pedro, ). filho(pedro,isabel). σ = [Y isabel] :- filho(pedro,isabel), sexo(isabel, feminino ), filho(pedro, ). filho(pedro,isabel). :- sexo(isabel, feminino ), filho(pedro, ). Continuamos agora pelo [Passo ]: :- sexo(isabel, feminino ), filho(pedro, ). sexo(x3, feminino ) :- filha(x3, ). σ = [X3 isabel] :- sexo(isabel, feminino ), filho(pedro, ). sexo(isabel, feminino ) :- filha(isabel, ). filho(pedro, ), filha(isabel, ). Daí seguem, deterministicamente, de forma abreviada, os seguintes passos e : filho(pedro, ), filha(isabel, ). filho(pedro,isabel). filha(isabel, ). filha(isabel,jo~ao). Prof. João Marcos 5

6 Atingimos assim por fim à cláusula vazia. Conclusão do [Passo ], com relação à consulta original: X = pedro Y = isabel Forçando agora um backtracking para obter outras eventuais respostas à consulta original, retornamos sucessivamente à unificação σ , à regra escolhida no [Passo ], à unificação σ 1.1.2, ao literal escolhido no [Passo 1.1.2], à unificação σ 1.1, à regra escolhida no [Passo 1.1], à unificação σ 1 e ao literal escolhido no [Passo 1]. Como todos estes backtrackings falham, acabamos retornando portanto à segunda regra de nossa consulta original, naquele que poderíamos denominar [Passo 2]: :- filha(paulo,x), sexo(x, masculino ), filho(x,y), sexo(y, feminino ). :- filha(paulo,x), sexo(x, masculino ), filho(x,y), sexo(y, feminino ). fail A nova avaliação não é bem-sucedida pois não há expressão que unifique com o literal filha(paulo,x). Logo, não há essencialmente novas respostas à consulta original (a rigor, o Prolog apresentará outras vezes a mesma resposta anterior, antes de falhar) senão aquela já exibida ao fim do [Passo ]. Prof. João Marcos 6

Fundamentos e prática de Prolog

Fundamentos e prática de Prolog Disciplina: Lógica Aplicada à Computação Nome: Matrícula: 1. Considere a seguinte base de conhecimentos Prolog: pai(josé,ana). % "José é pai de Ana" pai(josé,carlos). pai(felipe,fernanda). pai(jo~ao,pedro).

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

01. [Sebesta, 2000] Quais são os três principais usos da lógica simbólica na lógica formal?

01. [Sebesta, 2000] Quais são os três principais usos da lógica simbólica na lógica formal? 01. [Sebesta, 2000] Quais são os três principais usos da lógica simbólica na lógica formal? 02. [Sebesta, 2000] Quais são as duas partes de um termo composto? 03. [Sebesta, 2000] Qual é a forma geral de

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

Soluções dos exercícios propostos

Soluções dos exercícios propostos Indução e Recursão Soluções dos exercícios propostos 1 Iremos demonstrar que a expressão proposta a seguir é correta: i = 0 + + + + + (n 1) = n(n 1), para n > 0 0 i

Leia mais

Programação Lógica. (Capítulo 11) LÓGICA APLICADA A COMPUTAÇÃO. Professor: Rosalvo Ferreira de Oliveira Neto

Programação Lógica. (Capítulo 11) LÓGICA APLICADA A COMPUTAÇÃO. Professor: Rosalvo Ferreira de Oliveira Neto Programação Lógica (Capítulo 11) LÓGICA APLICADA A COMPUTAÇÃO Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Programação Lógica 2. Prolog 3. Exemplos Sintaxe da Programação Lógica Definição

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

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini Apresentação do Professor Professor: José Carlos Perini E-mail: jose.perini@metrocamp.edu.br Blog: http://profperini.com Formação

Leia mais

Algoritmos e Técnicas de programação. Professora: Luciana Faria

Algoritmos e Técnicas de programação. Professora: Luciana Faria Algoritmos e Técnicas de programação Professora: Luciana Faria Estruturas básicas da construção de algoritmos Controle de fluxo condicionais (se, se-senao e escolha) Continuando Comandos Compostos é um

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

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli Vetores De modo geral, em linguagem de programação, vetores ou arrays são estruturas de dados que permitem que uma mesma variável possa armazenar mais de um valor; Em Java, vetores são coleções de dados,

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

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Algoritmos Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Conceitos Linhas de Código de um Algoritmo ou Programa escrita do programa linha a linha, ou seja, a sintaxe do programa, podendo-se

Leia mais

Introdução à Computação Engenharia Civil

Introdução à Computação Engenharia Civil Conceitos Básicos Excel Introdução à Computação Engenharia Civil Uma referência básica Material didático disponibilizado na página da disciplina. Elaborado pelo prof. Edmar André Bellorini Excel O Microsoft

Leia mais

2.3.4 Algoritmos de SAT

2.3.4 Algoritmos de SAT 114 CAÍTULO 2. LÓGICA ROOSICIONAL 2.3.4 Algoritmos de SAT Os algoritmos de SAT (do inglês satisfiability ) têm o objectivo de determinar se uma dada fbf α é satisfazível ou não; em caso afirmativo, devolvem

Leia mais

Controle de Retrocesso. Programação Lógica. Controle de Retrocesso. Controle de Retrocesso

Controle de Retrocesso. Programação Lógica. Controle de Retrocesso. Controle de Retrocesso Programação Lógica Prolog: controle de retrocesso, predicado especial corte (!), verificação de tipos, exemplos O retrocesso (backtracking) é um processo pelo qual todas as alternativas de solução para

Leia mais

Conceitos de Linguagem de Programação - 2

Conceitos de Linguagem de Programação - 2 Conceitos de Linguagem de Programação - 2 Arthur Jovita Guerra Thalles Santos Silva Universidade Estadual de Santa Cruz - Ilhéus, BA 1 de novembro de 2011 1 Revisão Natureza das linguagens de Programação

Leia mais

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli Vetores De modo geral, em linguagem de programação, vetores ou arrays são estruturas de dados que permitem que uma mesma variável possa armazenar mais de um valor; Em Java, vetores são coleções de dados,

Leia mais

Aula 12: Lógica de Predicados

Aula 12: Lógica de Predicados Lógica para Computação Primeiro Semestre, 2015 Aula 12: Lógica de Predicados DAINF-UTFPR Prof. Ricardo Dutra da Silva Vamos estender a lógica proposicional para torná-la mais expressiva. Na lógica proposicional,

Leia mais

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { }

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { } Java e sua Sintaxe Java e sua Sintaxe Estrutura mínima de um programa em Java: public class Exemplo { } Como todo programa deve ter um início, convenciona-se que a primeira ação de um programa é a execução

Leia mais

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/30 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)

Leia mais

VALEC FEMPERJ

VALEC FEMPERJ VALEC FEMPERJ - 2012 01. Observe a sequência: O próximo termo é: (A) 99 (B) 0 (C) 1 (D) 2 (E) 3 121, 119, 116, 112, 7,... diminuiu 2 unidades 121 diminuiu 3 unidades 119 119 116 diminuiu 4 unidades 116

Leia mais

ALGORITMOS E ESTRUTURA DE DADOS

ALGORITMOS E ESTRUTURA DE DADOS ALGORITMOS E ESTRUTURA DE DADOS Algoritmos Tipos de Dados Prof. André Peixoto - Todo o trabalho realizado por um computador é baseado na manipulação dos dados/informações contidas em sua memória. Podemos

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Operadores Lógicos; Estruturas de Controle (Decisão) Professor: Charles Leite Fluxo de Controle A ordem com que as instruções são executadas em um programa é chamada

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 Condicionais

Expressões Condicionais Programação Funcional Capítulo 4 Expressões Condicionais José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2013.1 1/38 1 Combinando funções 2 Expressão condicional 3

Leia mais

Relações semânticas entre os conectivos da Lógica Proposicional(Capítulo 5)

Relações semânticas entre os conectivos da Lógica Proposicional(Capítulo 5) Relações semânticas entre os conectivos da Lógica Proposicional(Capítulo 5) LÓGICA APLICADA A COMPUTAÇÃO Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Conjunto de conectivos completo 2. na

Leia mais

2.5 FORMAS NORMAIS. Forma normal da negação

2.5 FORMAS NORMAIS. Forma normal da negação Forma normal da negação 2.5 FORMAS NORMAIS Newton José Vieira 05 de agosto de 2007 Definições preliminares: literal: variável proposicional (literal positivo) ou negação de variável proposicional (literal

Leia mais

[B&A] Computação na Lógica de Predicados

[B&A] Computação na Lógica de Predicados [B&A] Computação na Lógica de Predicados Soluções dos Exercícios 1. Transforme as seguintes fbf s para a forma normal prenex, elimine os quantificadores e transforme-as para a forma normal clausal. (a)

Leia mais

1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 E-books PCNA. Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 APRESENTANDO A LINGUAGEM C. Página 1

1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 E-books PCNA. Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 APRESENTANDO A LINGUAGEM C. Página 1 1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 E-books PCNA Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 APRESENTANDO A LINGUAGEM C Página 1 2 TECNOLOGIA ELEMENTAR CAPÍTULO 3 SUMÁRIO Apresentação -----------------------------------------------------------

Leia mais

Problemas NP-Completos Bolas Mágicas

Problemas NP-Completos Bolas Mágicas NP-Completo 1 Problemas NP-Completos Bolas Mágicas Já vimos antes alguns problemas NP-completos. Um deles é o jogo de cartões perfurados. Quem encontrar uma solução polinomial para o problema geral desse

Leia mais

Lógica e Programação - Folha de trabalho n. 7

Lógica e Programação - Folha de trabalho n. 7 Os exercícios 1, 2, 5, 6, 7, 8 e 12 são de Alguns Problemas de Prolog, Miguel Filgueiras, Pedro Ribeiro DCC-FCUP 2004-2006. Todos os exercícios são para ser resolvidos em linguagem Prolog. 1 Listas 1 Define

Leia mais

BCC242. Auômato Finito Determinístico

BCC242. Auômato Finito Determinístico BCC242 Auômato Finito Determinístico Máquinas de Estados Finitos As máquinas de estados finitos são máquinas abstratas que capturam partes essenciais de algumas máquinas concretas. Tipos Tradutores máquinas

Leia mais

Lógica para Computação

Lógica para Computação Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br Resolução e PROLOG Passos para obter a forma clausal de uma fbf: 1. Obter a forma normal

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

Uma linguagem de especificação formal simplificada

Uma linguagem de especificação formal simplificada Uma linguagem de especificação formal simplificada Adolfo Neto Departamento Acadêmico de Informática (DAINF) Universidade Tecnológica Federal do Paraná (UTFPR) Versão 1.1 15 de junho de 2010 Sumário 1

Leia mais

Processamento da Informação Teoria. Desvio Condicional

Processamento da Informação Teoria. Desvio Condicional Processamento da Informação Teoria Desvio Condicional Semana 03 Prof. Jesús P. Mena-Chalco 08/05/2013 Operador módulo O operador módulo trabalha com inteiros e produz o resto quando o primeiro operando

Leia mais

Oficina de Python Prof. Me. José Carlos Perini

Oficina de Python Prof. Me. José Carlos Perini Oficina de Python Prof. Me. José Carlos Perini Prof. José Carlos Perini Formação em Análise de Sistemas Univ. S. Francisco Pós em Administração Universidade S. Francisco Mestrado em Ciência da Computação

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

Lógica de primeira ordem First Order Logic (FOL)

Lógica de primeira ordem First Order Logic (FOL) Lógica de primeira ordem First Order Logic (FOL) Prós e Contras da Lógica Proposicional É declarativa: partes da sintaxe correspondem a fatos Permite informação disjuntiva e/ou negada (a diferença da maioria

Leia mais

UMA INTRODUÇÃO A PROLOG

UMA INTRODUÇÃO A PROLOG Introdução UMA INTRODUÇÃO A PROLOG Newton José Vieira 18 de novembro de 2011 Programação em lógica: O ideal: especificação executável. O problema: explosão combinatória. Prolog impõe dois tipos de restrições:

Leia mais

UTILIZANDO MORFOL PARA ANÁLISE DE CENAS ESPECIFICAÇÃO E IMPLEMENTAÇÃO

UTILIZANDO MORFOL PARA ANÁLISE DE CENAS ESPECIFICAÇÃO E IMPLEMENTAÇÃO UTILIZANDO MORFOL PARA ANÁLISE DE CENAS ESPECIFICAÇÃO E IMPLEMENTAÇÃO Aluno: Caio Pimentel Seguin Orientador: Edward Hermann Haeusler Introdução No projeto MORFOL[1] foi desenvolvida a ferramenta MORFOL

Leia mais

01/08/2011. Tipos de dados Numéricos Alfanuméricos Lógicos. Numéricos. Tipos de dados. Dados Numéricos Inteiros. Dados Numéricos Reais.

01/08/2011. Tipos de dados Numéricos Alfanuméricos Lógicos. Numéricos. Tipos de dados. Dados Numéricos Inteiros. Dados Numéricos Reais. Engenharia de Controle e Automação Programação I Prof. Ricardo Sobjak ricardo.sobjak@ifsc.edu.br Tipos de dados Numéricos Alfanuméricos Lógicos Tipos de dados Os tipos de dados primitivos ou básicos são

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/lp Expressões condicionais Scala tem uma expressão if-else para expressar escolha entre alternativas que se parece muito

Leia mais

Conferência Árvores de resolução SLD

Conferência Árvores de resolução SLD Inteligência Artificial Conferência Árvores de resolução SLD O Docente: MSc. Angel Alberto Vazquez Sánchez Objetivo Construir uma árvore de resolução SLD a partir de um objetivo do PROLOG, aplicando o

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Fabio Mascarenhas - 2015.2 http://www.dcc.ufrj.br/~fabiom/lp Introdução Quais das expressões abaixo têm o mesmo significado? (vector-ref a 42) Introdução Quais das expressões

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

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

Sumário. 2 Índice Remissivo 12

Sumário. 2 Índice Remissivo 12 i Sumário 1 Definições Básicas 1 1.1 Fundamentos de Probabilidade............................. 1 1.2 Noções de Probabilidade................................ 3 1.3 Espaços Amostrais Finitos...............................

Leia mais

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/26 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)

Leia mais

Introdução à Ciência da Computação (ICC) PROVA P2 Sexta-feira 1 de Junho de 2001

Introdução à Ciência da Computação (ICC) PROVA P2 Sexta-feira 1 de Junho de 2001 Introdução à Ciência da Computação (ICC) 2001.1 PROVA P2 Sexta-feira 1 de Junho de 2001 Nome do Aluno: Matrícula PUC: Questões P2 Revisão 1 (1.5) 2 (1.5) 3a (1.0) 3b (1.0) 3c (1.0) 3d (1.0) 4 (2.0) Prova

Leia mais

Oficina de Python Prof. Me. José Carlos Perini

Oficina de Python Prof. Me. José Carlos Perini Oficina de Python Prof. Me. José Carlos Perini Prof. José Carlos Perini Formação em Análise de Sistemas Univ. S. Francisco Pós em Administração Universidade S. Francisco Mestrado em Ciência da Computação

Leia mais

Exemplo:- CONTROLE DE RETROCESSO. Construir um programa Prolog para implementar a função:

Exemplo:- CONTROLE DE RETROCESSO. Construir um programa Prolog para implementar a função: CONTROLE DE RETROCESSO O retrocesso (backtracking) é um processo pelo qual todas as alternativas de solução para uma dada consulta são tentadas exaustivamente. No Prolog, o retrocesso é automático. É possível

Leia mais

Afirmações Matemáticas

Afirmações Matemáticas Afirmações Matemáticas Na aula passada, vimos que o objetivo desta disciplina é estudar estruturas matemáticas, afirmações sobre elas e como provar essas afirmações. Já falamos das estruturas principais,

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

IME, UFF 4 de novembro de 2013

IME, UFF 4 de novembro de 2013 Lógica IME, UFF 4 de novembro de 2013 Sumário e ferramentas Considere o seguinte texto, da aritmética dos números naturais. Teorema: Todo número inteiro positivo maior que 1 tem um fator primo. Prova:

Leia mais

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Programação em C Variáveis e Expressões DCA0800 Algoritmos e Lógica de Programação Heitor Medeiros Florencio

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

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

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

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/27 4 - INTROD. À ANÁLISE COMBINATÓRIA 4.1) Arranjos

Leia mais

Primeira Prova de Linguagens de Programação - DCC024B -

Primeira Prova de Linguagens de Programação - DCC024B - Primeira Prova de Linguagens de Programação - DCC024B - Ciência da Computação Nome: Eu dou minha palavra de honra que não trapacearei neste exame. Número de matrícula: As regras do jogo: A prova é sem

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

Layout. Módulos. Normalmente, cada módulo está armazenado num ficheiro com o mesmo nome do módulo. Exemplo.hs

Layout. Módulos. Normalmente, cada módulo está armazenado num ficheiro com o mesmo nome do módulo. Exemplo.hs Layout Ao contrário de quase todas as linguagens de programação, o Haskell não necessita de marcas para delimitar as diversas declarações que constituem um programa. Em Haskell a identação do texto (isto

Leia mais

FUNÇÃO SE. = SE ([condição]; [valor se verdadeiro]; [valor se falso]). A condição pode ser efetuada usando sinais matemáticos comparativos:

FUNÇÃO SE. = SE ([condição]; [valor se verdadeiro]; [valor se falso]). A condição pode ser efetuada usando sinais matemáticos comparativos: FUNÇÃO SE A função SE() é uma função especial que determina o valor da célula de acordo com um teste-lógico. Ela sempre contém uma condição, que definirá o valor da célula. Se a condição for verdadeira

Leia mais

Biblioteca de auxílio ao uso de elementos gráficos

Biblioteca de auxílio ao uso de elementos gráficos UFU Universidade Federal de Uberlândia Faculdade de Computação Biblioteca de auxílio ao uso de elementos gráficos Caio de Oliveira Campos Orientador: André Ricardo Backes Uberlândia Março de 2014 Introdução

Leia mais

CURSO de NIVELAMENTO INTRODUÇÃO À PROGRAMAÇÃO

CURSO de NIVELAMENTO INTRODUÇÃO À PROGRAMAÇÃO CURSO de NIVELAMENTO INTRODUÇÃO À PROGRAMAÇÃO Lógica de Programação Lógica de programação é a técnica de encadear pensamentos (instruções) para atingir determinado objetivo. Instruções Instruções são regras

Leia mais

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 4. Autômatos Finitos

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 4. Autômatos Finitos Curso: Ciência da Computação Turma: 6ª Série Aula 4 Autômatos Finitos Autômatos Finitos Não Determinísticos Um autômato finito não-determinístico (AFND, ou NFA do inglês) tem o poder de estar em vários

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

Professor Jefferson Chaves Jefferson de Oliveira Chaves - IFC Araquari

Professor Jefferson Chaves Jefferson de Oliveira Chaves - IFC Araquari Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Tipos de dados; Operadores; Arrays; Por vezes, será importante saber o tipo de dados; Quando dissemos ao usuário, digite sua idade, por

Leia mais

Probabilidade Condicional

Probabilidade Condicional 18 Probabilidade Condicional Sumário 18.1 Introdução....................... 2 18.2 Probabilidade Condicional............... 2 1 Unidade 18 Introdução 18.1 Introdução Nessa unidade, é apresentada mais uma

Leia mais

Programação em Lógica. UCPEL/CPOLI/BCC Lógica para Ciência da Computação Luiz A M Palazzo Maio de 2010

Programação em Lógica. UCPEL/CPOLI/BCC Lógica para Ciência da Computação Luiz A M Palazzo Maio de 2010 Programação em Lógica UCPEL/CPOLI/BCC Lógica para Ciência da Computação Luiz A M Palazzo Maio de 2010 Roteiro Introdução Conceitos Básicos Linguagens Lógicas Semântica de Modelos Semântica de Prova Programação

Leia mais

Lógica Computacional

Lógica Computacional Aula Teórica 22: Departamento de Informática 16 de Maio de 2011 Introdução Revisão do procedimento Exemplo em Primeira Ordem Considere-se o seguinte conjunto de cláusulas, assumindo as variáveis universalmente

Leia mais

Lógica Computacional

Lógica Computacional Lógica Computacional Aplicações da Lógica Verificação de Programas, Bases de Dados, Sistemas inteligentes Programação em Lógica Exemplos 27 Novembro 2013 Lógica Computacional 1 - Base de Conhecimentos:

Leia mais

Conceito de Linguagens de Programação - 1

Conceito de Linguagens de Programação - 1 Conceito de Linguagens de Programação - 1 Arthur Jovita, Thalles Silva November 1, 2011 1 Natureza das linguagens de Programação Linguagens Estáticas e Dinâmicas 2 Tipificação 3 4 Linguagens Estáticas

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

Tipos Algébricos. Programação Funcional. Capítulo 11. José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto

Tipos Algébricos. Programação Funcional. Capítulo 11. José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto Programação Funcional Capítulo 11 Tipos Algébricos José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2012.1 1/33 1 Tipos Algébricos 2/33 Tópicos 1 Tipos Algébricos 3/33

Leia mais

2 AULA. Conectivos e Quantificadores. lógicas. LIVRO. META: Introduzir os conectivos e quantificadores

2 AULA. Conectivos e Quantificadores. lógicas. LIVRO. META: Introduzir os conectivos e quantificadores 1 LIVRO Conectivos e Quantificadores Lógicos META: Introduzir os conectivos e quantificadores lógicos. OBJETIVOS: Ao fim da aula os alunos deverão ser capazes de: Compreender a semântica dos conectivos

Leia mais

Linguagem Lógica Prolog

Linguagem Lógica Prolog Linguagem Lógica Prolog Linguagens de Programação Departamento de Computação Universidade Federal de Sergipe Conteúdo O que é diferente na Programação Lógica Cláusulas, Fatos, Regras e Predicado Objetos

Leia mais

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

Prof. A. G. Silva. 31 de agosto de Prof. A. G. Silva Programação em Lógica 31 de agosto de / 1 Programação em Lógica Prof. A. G. Silva 31 de agosto de 2017 Prof. A. G. Silva Programação em Lógica 31 de agosto de 2017 1 / 1 Listas (revisão) Elementos separados por vírgulas entre colchetes: [a, b,

Leia mais

Linguagens Formais e Autômatos. Autômatos Finitos Determinísticos (AFD)

Linguagens Formais e Autômatos. Autômatos Finitos Determinísticos (AFD) Linguagens Formais e Autômatos Autômatos Finitos Determinísticos (AFD) Cristiano Lehrer, M.Sc. Linguagens Regulares A teoria da computação começa com uma pergunta: O que é um computador? É, talvez, uma

Leia mais

Aula 6: Dedução Natural

Aula 6: Dedução Natural Lógica para Computação Primeiro Semestre, 2015 DAINF-UTFPR Aula 6: Dedução Natural Prof. Ricardo Dutra da Silva Em busca de uma forma de dedução mais próxima do que uma pessoa costuma fazer, foi criado

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

Sistemas de Numeração. Tiago Alves de Oliveira

Sistemas de Numeração. Tiago Alves de Oliveira Sistemas de Numeração Tiago Alves de Oliveira Sumário Sistemas Numéricos Binário Octal Hexadecimal Representação Interna de Caracteres Sistemas Numéricos Sistemas numéricos Sistemas de notação usados para

Leia mais

Aula 7: Dedução Natural 2

Aula 7: Dedução Natural 2 Lógica para Computação Segundo Semestre, 2014 DAINF-UTFPR Aula 7: Dedução Natural 2 Prof. Ricardo Dutra da Silva -introdução Dada uma premissa A, nós podemos concluir A B para qualquer fórmula B. A justificativa

Leia mais

MCG114 Programação de Computadores I. Comandos de condição 3/26/18. Comando if. Comando if. Até agora... Comandos de Condição! Comandos de Condição

MCG114 Programação de Computadores I. Comandos de condição 3/26/18. Comando if. Comando if. Até agora... Comandos de Condição! Comandos de Condição 3/26/18 MCG114 Programação de Computadores I Profa. Comandos de condição 20:32:09 1 2 Até agora... Todos os programas têm fluxo de execução único As instruções que serão executadas são sempre as mesmas,

Leia mais

Material Teórico - Módulo Cônicas. Elipses. Terceiro Ano do Ensino Médio

Material Teórico - Módulo Cônicas. Elipses. Terceiro Ano do Ensino Médio Material Teórico - Módulo Cônicas Elipses Terceiro Ano do Ensino Médio Autor: Prof. Fabrício Siqueira Benevides Revisor: Prof. Antonio Caminha M. Neto 1 Introdução Conforme mencionamos na primeira aula

Leia mais

Matemática Discreta. Fundamentos e Conceitos da Teoria dos Números. Universidade do Estado de Mato Grosso. 4 de setembro de 2017

Matemática Discreta. Fundamentos e Conceitos da Teoria dos Números. Universidade do Estado de Mato Grosso. 4 de setembro de 2017 Matemática Discreta Fundamentos e Conceitos da Teoria dos Números Professora Dr. a Donizete Ritter Universidade do Estado de Mato Grosso 4 de setembro de 2017 Ritter, D. (UNEMAT) Matemática Discreta 4

Leia mais

Lógica Computacional. Normalização e Formas Normais. Literais, Cláusulas e Monómios; Formas Normais NNF, CNF e DNF. Algoritmos de Conversão

Lógica Computacional. Normalização e Formas Normais. Literais, Cláusulas e Monómios; Formas Normais NNF, CNF e DNF. Algoritmos de Conversão Lógica Computacional Normalização e Formas Normais Literais, Cláusulas e Monómios; Formas Normais NNF, CNF e DNF Algoritmos de Conversão 2 Outubro 2014 Lógica Computacional 1 Forma Normal Negativa - NNF

Leia mais

Fundamentos de Algoritmos

Fundamentos de Algoritmos Fundamentos de Algoritmos CIC/UFRGS 2006/1 Mais em definições auto-referenciáveis foi visto como definir árvores de ascendência, definindo dois campos do tipo nó que indicam os dois pais árvores de descendência

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

Aula 4 Estrutura Condicional

Aula 4 Estrutura Condicional Aula 4 Estrutura Condicional Relações e Exp. Booleanas Relações Operadores: >, =,

Leia mais

A semântica da Lógica Proposicional(Capítulo 2)

A semântica da Lógica Proposicional(Capítulo 2) A semântica da Lógica Proposicional(Capítulo 2) LÓGICA APLICADA A COMPUTAÇÃO Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Interpretação 2. Semântica dos conectivos 3. Exemplos 4. Questão desafio

Leia mais

Simbolização de Enunciados com Conectivos

Simbolização de Enunciados com Conectivos Lógica para Ciência da Computação I Lógica Matemática Texto 4 Simbolização de Enunciados com Conectivos Sumário 1 Conectivos: simbolização e sintaxe 2 2 Enunciados componentes 5 2.1 Observações................................

Leia mais

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Prof.ª Danielle Casillo Diferencia-se das máquinas de Turing e Post principalmente pelo fato de possuir a memória de entrada separada

Leia mais

Algoritmos e Lógica de Programação Introdução e formas de representação

Algoritmos e Lógica de Programação Introdução e formas de representação Algoritmos e Lógica de Programação Introdução e formas de representação Agostinho Brito Departamento de Engenharia da Computação e Automação Universidade Federal do Rio Grande do Norte 15 de agosto de

Leia mais

Linguagem com sintaxe e semântica precisas: lógica. Mecanismo de inferência: derivado da sintaxe e da

Linguagem com sintaxe e semântica precisas: lógica. Mecanismo de inferência: derivado da sintaxe e da istemas de Apoio à Decisão Clínica, 09-1 1 Linguagem com sintaxe e semântica precisas: lógica. Mecanismo de inferência: derivado da sintaxe e da semântica. Importante: distinguir entre os fatos e sua representação

Leia mais

Prova Final de Linguagens de Programação - DCC024 - Sistemas de Informação

Prova Final de Linguagens de Programação - DCC024 - Sistemas de Informação Prova Final de Linguagens de Programação - DCC024 - Sistemas de Informação Nome: Eu dou minha palavra de honra que não trapacearei neste exame. Número de matrícula: As regras do jogo: A prova é sem consulta.

Leia mais

Paradigmas. Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I

Paradigmas. Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I Paradigmas Paradigmas Tradicional Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I Paradigmas Tradicional Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I OO Simula-67, Smalltalk, C++, Eiffel, Object Pascal,

Leia mais