Linguagens de Programação

Slides:



Advertisements
Apresentações semelhantes
Introdução à Programação: uma Abordagem Funcional PD I – Engenharia Elétrica Prof.ª Claudia Boeres 2008/2.
Advertisements

Lógica de Predicados e Representação de Conhecimento
Introdução à Ciência da Computação Linguagens de Programação.
Programas e Microprogramas
3 Paradigmas e Linguagens de Programação
Lógica Matemática e Computacional 7 – Introdução à Programação Lógica
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
Programação Orientada aos Objectos Paulo Marques Departamento de Eng. Informática Universidade de Coimbra Set/2005 Uma Introdução Usando.
Elsa Carvalho 241 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Interpretação.
Elsa Carvalho 163 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Teoria dos Modelos.
O Essencial sobre Linguagens de Programação Luís Caires Maio 2005.
Bases de Dados 2 José Júlio Alferes Departamento de Informática
Software Básico Silvio Fernandes
Introdução à Programação Lógica
Resolução.
Teste em Esquemas de Dados Maria Cláudia Figueiredo Pereira Emer Universidade Federal do Paraná Departamento de Informática Seminário.
Programação em lógica e lógica
INTRODUÇÃO À PROGRAMAÇÃO
Curso Sistemas de Informação I Disciplina: Arquitetura de Software
Análise Sintática Ascendente
Luiz A. M. Palazzo Pelotas, maio de 2010
Tradutores de Linguagens
Programação em Lógica Augusto Marks Batista Guilherme dos Santos Fujiyoshi Marlon Bill Santos.
Linguagem de 1ª ordem da teoria de conjuntos
Cristina Ribeiro / Gabriel David
Conceitos Básicos.
Universidade do Vale do Rio dos Sinos
Sintaxe e Semântica do PROLOG.
Prolog Programação Lógica Ícaro A. Souza.
Conceitos de Linguagem de Programação
Habilidad lingüística comunicativa
Informática Teórica Engenharia da Computação
Capítulo 4 Métodos para determinação de propriedades semânticas de fórmulas da Lógica Proposicional
INQUER Interacção Pessoa-Máquina em Linguagem Natural
Programmation en logique. UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE Daniel Augusto da Costa Ambrósio Eduardo Agostinho Oliveira dos Santos Fernando.
Conceitos e Linguagens de Programação
Introdução a Programação
Linguagens lógicas 2013 – Luiz Mauricio Nascimento Silva
Formas Normais e Resolução
Lógica Proposicional Resolução.
Sistemas Especialistas
02/08/2011 Professor Leomir J. Borba- –
Conceitos Programas Programação Linguagens de Programação SQL.
Sistemas Especialistas Podem ser definidos como programas de computador desenvolvidos para representar o conhecimento humano num dado domínio específico.
Princípios da Programação em Prolog
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Projeto de Linguagens de Programação
Banco de Dados Aplicado ao Desenvolvimento de Software
INTRODUÇÃO À PROGRAMAÇÃO EM LÓGICA Profa. Joseluce de Farias Cunha
Lógica para Computação
1 TEORIA DA COMPUTAÇÃO Motivação Licenciatura em Ciência e Tecnologia da Computação Licenciatura em Engenharia Informática e de Computadores (Prep.)
Aula 1 – Profª Danielle Costa
Curso: PCS Fundamentos Lógicos da Inteligência Artificial Aluno: Alberto Yoshinobu Onoe (607768) Lógicas Paraconsistentes como um Formalismo para.
Programação Lógica com Prolog
Decidibilidade, Corretude, Completude, Consistência
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos Aquiles Burlamaqui UERN
Sumário 1 SQL Embutida 2 Processamento de Consultas
Os Formalismos de Representação do Conhecimento Primeiros estudos: Ontologia e Terminologia.
Elsa Carvalho 262 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Negação Com os.
Departamento de Informática
J. M. Barreto UFSC-INE Lógica de Primeira Órdem R ecordação.
1 Teoria de 1ª Ordem Def. 18  Dado um conjunto A, dizemos que um subconjunto A’ de A é decidível se e somente se existir um procedimento efetivo (um algoritmo)
Computabilidade e Linguagens Formais
Elsa Carvalho 1 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Conceitos Prolog.
1 Linguagens de Programação Pedro Lopes 2010/2011.
ALGORITMOS.
Módulo II Capítulo 1: Orientação a Objetos
Paradigmas das Linguagens de Programação - História
PESQUISA - Ação de propor um projeto de conhecimento e empreender atividades que conduzam a esse conhecimento - Dispor-se a conhecer cientificamente alguma.
COMPILADORES 02 Prof. Marcos. COMPILADORES Do Programa à Execução Computadores das mais variadas arquiteturas têm funcionamento:
Transcrição da apresentação:

Linguagens de Programação Linguagem de Programação é um sistema formal de regras de descrição, com sintaxe e semântica bem definidas, capaz de representar um programa de computador. Classificação por níveis: Linguagens de muito alto nível (SQL, PROLOG, Haskell) Linguagens de alto nível (Pascal, Fortran, C, C++, Java,...) Linguagens de baixo nível (linguagem máquina e assembly)

Motivação

PROGRAMAÇÃO DECLARATIVA o programador limita-se a fornecer uma teoria, i.e. a exprimir directamente o seu conhecimento sobre o domínio da aplicação, sem se preocupar em descrever como esse conhecimento deve ser utilizado para responder às interrogações do utilizador. Kowalski: Algorithm = Logic + Control Paradigma Lógico: Um programa é um conjunto de afirmações e regras (cláusulas - fórmulas da lógica de 1ª ordem modificadas), que descrevem o conhecimento dos objectos e relações entre eles num determinado domínio, sobre o qual são introduzidas questões e, recorrendo à técnica de pesquisa por retrocesso (backtracking), são fornecidas respostas (consequências lógicas) (PROLOG, CTL, etc.).

LÓGICA ? linguagem (família de alfabetos + gramática) relação de consequência ( ) (conjunto de fórmulas fórmula) PROGRAMA teoria <alfabeto, conjunto de fórmulas> (conhecimento sobre determinado domínio) "EXECUTAR" P sobre uma interrogação (fórmula) Q é determinar se P Q Exemplo: A empresa Leite&Ca foi chamada a desenvolver um sistema para apurar os benefícios resultantes do novo esquema de isenção e redução de propinas. Para tal, socorreu-se da legislação em vigor.

Exemplo

Algorithm = Logic + Control O controlo é deixado, neste caso, ao processador lógico. Mas veremos que o conhecimento sobre como o processador lógico funciona permite optimizar programas, conduzindo a estilos de representação – técnicas de programação – que complementam o carácter declarativo da programação. Propriedades do processador: correcção só se obtêm respostas correctas? completude/adequação obtêm-se todas as respostas possíveis?

P e ¬Q – redução ao absurdo QUE LÓGICAS ? Idealmente, a escolha da lógica é feita consoante o tipo de conhecimento que queremos representar. Mas a definição de processadores lógicos não é trivial... Os sistemas de programação em lógica existentes baseiam-se essencialmente em fragmentos da lógica de 1ª ordem. PROLOG P e ¬Q cláusulas de Horn execução é uma refutação (construtiva): derivação de uma contradição a partir de P e ¬Q – redução ao absurdo Mas existem outros sistemas (e.g. lógica modal – MOLOG)

ALGUMA CRONOLOGIA: 1965: J.Alan Robinson publica o princípio de resolução 1972: R. Kowalski formula a interpretação procedimental da lógica clausal 1973: Alain Colmerauer et al implementam o primeiro sistema Prolog 1976: Primeira conferência internacional sobre Programação em Lógica 1977: Keith Clark publica resultados sobre a negação (regra da falha finita) 1981: Anúncio do projecto japonês sobre sistemas de quinta geração que identifica a Programação em Lógica como tecnologia chave 1984 Inicia-se a publicação do Journal of Logic Programming 1984: John Lloyd publica o primeiro livro sobre os fundamentos teóricos da PL