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

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

Linguagens de Programação

Apresentações semelhantes


Apresentação em tema: "Linguagens de Programação"— Transcrição da apresentação:

1 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)

2 Motivação

3 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.).

4 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.

5 Exemplo

6 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?

7 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)

8 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


Carregar ppt "Linguagens de Programação"

Apresentações semelhantes


Anúncios Google