Paradigmas de Linguagens de Programação



Documentos relacionados
Linguagem Lógica Prolog

Roteiro de Aula Prática

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Universidade Estadual do Oeste do Paraná CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Colegiado de Informática. Curso de Bacharelado em Informática

Acrescentando regras à Base de Conhecimento

Linguagem algorítmica: Portugol

Práticas de Programação em Lógica. José Romildo Malaquias

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Introdução a linguagem C Estruturas de decisão

Orientação a Objetos com Java

Capítulo 5. ARQUIVOS E FUNÇÕES MATEMÁTICAS INTRÍNSECAS

Paradigmas de Linguagens de Programação

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa

Introdução a Computação

public void setdata(data d) { data = d;

Relatório de Genealogia para RAMO C - SANTO ANDRE - MARIGO MARTINS - MARIA ANTONIA E GIUSEPPE DESCONHECIDO

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira

Capítulo 8 de B&A: Soluções dos Exercícios

Plano de Trabalho Docente Ensino Técnico

PIM. CST em Análise e Desenvolvimento de Sistemas. Projeto Integrado Multidisciplinar. 4º/3º Períodos 2010/2 UNIVERSIDADE PAULISTA CURSO

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Computação Eletrônica

PROGRAMA DE DISCIPLINA

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Planilhas Eletrônicas (Calc) Aula 01

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

Recursão PROGRAMAÇÃO EM LÓGICA. Recursão. Sonho Recursivo. Recursão. Recursão. Linguagem Prolog Parte IV

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Programação Funcional. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2015.

Algoritmos em Javascript

Departamento: Matemática Curso: Eng a Madeiras Ano: 1 o Semestre: 2 o Ano Lectivo: 2006/2007. Aula prática n o 1 - Introdução ao MATLAB

Laboratório de Programação I

Vetores, Matrizes e Gráficos

PROGRAMA DE DISCIPLINA

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

INF 1771 Inteligência Artificial

Componentes da linguagem C++

Oficina de ShellScript

3. Tipos de Dados, Constantes e Variáveis.

Objetos Estruturados Listas Recursão Exercícios. Inteligência Artificial

Aula prática de Cálculo I Gnuplot: Parte I

Plano de Trabalho Docente Ensino Técnico

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

e à Linguagem de Programação Python

Plano de Trabalho Docente Ensino Técnico

Conceitos Básicos de C

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO - TIC 10º C. Planificação de. Curso Profissional de Técnico de Secretariado

EMENTA DO CURSO DE BROFFICE

Programação Funcional. Capítulo 13. Mônadas. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2013.

Curso Técnico em Redes

Programação de Computadores III

PHP AULA1. Prof. Msc. Hélio Esperidião

AMBIENTE DE PROGRAMAÇÃO PYTHON

ENG1000 Introdução à Engenharia

Introdução ao HTML 5 e Implementação de Documentos

Etapas da Elaboração de um Projeto de Banco de Dados

COMPUTADOR SIMPLIFICADO E COMPUTADOR DIGITAL. Algoritmos e Programação APG0001

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

JavaScript (Funções, Eventos e Manipulação de Formulários)

Manual das funcionalidades Webmail AASP

Plano de Trabalho Docente Ensino Técnico

O que é o JavaScript?

Plano de Aula MATEMÁTICA. Juntando minha família

Tutorial de Consultas no Access Parte 2

Linguagens de programação

Implementando uma Classe e Criando Objetos a partir dela

Minicurso de Python Aula 1. Raphael Lupchinski Marcelo Millani

Linguagem de Programação II

Linguagem Matemática e as Artes

Dadas a base e a altura de um triangulo, determinar sua área.

Probabilidade e Estatística I Antonio Roque Aula 8. Introdução ao Excel

PROGRAMANDO EM C# ORIENTADO A OBJETOS

Ficha Prática 1. José Creissac Campos, António Nestor Ribeiro {jose.campos, PPIII (LESI) 2002/03

ESTRATÉGIAS /ACTIVIDADES. Fazer uma abordagem teórica e simples

Introdução à Lógica de Programação

Autarquia Educacional do Vale do São Francisco AEVSF Faculdade de Ciências Aplicadas e Sociais de Petrolina FACAPE Ciência da Computação

Especificação do 3º Trabalho

Administração Central Unidade de Ensino Médio e Técnico CETEC. Ensino Técnico

Exercícios de Fixação Pseudocódigo e Estruturas Básicas de Controle

Uma aplicação distribuída

Introdução aos cálculos de datas

Treinamento Excel 2010

Um Pequeno Manual. Adelmo Ribeiro de Jesus

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

O objetivo desta prática é ensinar como usar a máquina chamada computador visível ou vc0, um simulador de computador de von Neumann escrito em Java.

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

LP2 Laboratório de Programação 2 Ciência da Computação. Problema proposto

FundamentosemInformática

Plano de Aula - Excel cód Horas/Aula

Informática I. Aula 6. Aula 6-12/09/2007 1

Processamento Numérico

1. PROLOGO ==========

Estruturas de Repetição

Tutorial do Iniciante. Excel Básico 2010

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: Prof. Dr. Raimundo Moura

Sumário Introdução Fundamentos Introdução ao IDE Delphi A Linguagem Projetos e Configurações do Ambiente...

Interpretação e Compilação de Linguagens de Programação Sintaxe e Semântica

Interação Humano-Computador Golfos e Execução e Avaliação PROFESSORA CINTIA CAETANO

Transcrição:

Paradigmas de Linguagens de Programação Faculdade Nova Roma Cursos de Ciências da Computação (6 Período) Prof. Adriano Avelar - Site: www.adrianoavelar.com Email: edson.avelar@yahoo.com.br

PROGRAMAÇÃO LÓGICA

Na última aula vimos.. Lógica Proposicional Lógica de Predicados Lógica de 1 Ordem Cláusulas de HORN Introdução ao Prolog fatos regras consultas.

Árvore genealógica Relação progenitor.

Passos Passo 1: Definir fatos Maria é do sexo feminino, João é progenitor de José etc. "José é o progenitor de Íris? "Quem é progenitor de quem? "Quem são os avós de Jorge? Quem é progenitor de Jorge? (Por exemplo, Y) e Quem é progenitor de Y? (Por exemplo, X)» progenitor(x,jorge),progenitor(y,x) "Quem é neto de João? progenitor(joao,x),progenitor(x,y).

Passos Passo 2: Definir Regras Relação avô: X,Y,W [ avo(x,y) sexo(x,masculino) progenitor(w,y) progenitor(x,w)] Relação filho: "Para todo X e Y, se X é progenitor de Y, então Y é filho de X". Relação mãe: A mãe de alguém é uma mulher progenitora desse alguém. Relação irmã

Construções recursivas Relação antepassado. Para todo X e Z, X é antepassado de Z se X é progenitor de Z.

Construções recursivas Antepassados diretos antepassado(x, Z) :-progenitor(x, Z). Antepassados Indiretos antepassado(x, Z) :- progenitor(x, Y), progenitor(y, Z). antepassado(x, Z) :- progenitor(x, Y1), progenitor(y1, Y2), progenitor(y2, Z). antepassado(x, Z) :- progenitor(x, Y1), progenitor(y1, Y2), progenitor(y2, Y3), progenitor(y3, Z).... etc.

Construções recursivas Usando recursividade Para todo X e Z X é antepassado de Z se existe um Y tal que X é progenitor de Y e Y é antepassado de Z. Caso Base Passo Recursivo antepassado(y,z) :- progenitor(y,z). antepassado(x,z) :- progenitor(x,y),antepassado(y,z).

Aritmética em Prolog ( 2,5 )+ 2+5 é representado internamente como Ativação das funções por meio do predicado is: X is <expressão aritmética>, onde X é uma variável Calcula a expressão e instancia a variável X com o resultado

Aritmética em Prolog? - X is 1+3.? - X is 4*3+10/2.? - X is abs((15-30)//2).? - X is 10^2. Outros operadores: X+Y X-Y X*Y X/Y ( inteira X//Y (divisão ( exponenciação ) X^Y -X X mod Y

Aritmética em Prolog Qual a raiz quadrada de 144?? - X is sqrt(144).? - sqrt(144,x). Outros operadores: ( abs(x ( exp(x ( ln(x ( log(x ( sin(x ( cos(x ( sqrt(x

Operadores Relacionais? - 2+1 < 6-2.? - 7-3 > 4+2.? - 1+2 =:= 2+1? - 1+2 = 2+1? - 1+2 =:= X.

Comparação de Termos Verificação de termos idênticos: predicado == Sintaxe: Termo1 == Termo2 Retorna sucesso se os termos Termo1 e Termo2 são idênticos:?- nome == nome.?- X == X.?- X == 5

Comparação de Termos Verificação de termos não idênticos: predicado \== Sintaxe: Termo1 \== Termo2 Retorna sucesso se os termos Termo1 e Termo2 não são idênticos:?- nome \== nome..?- X \== Y.

Exercício Crie uma base de dados Prolog, que representa um calculadora. A base deve conter as seguintes regras: soma substracao multiplicacao quociente calculartudo Dada dois número calcula todas as operações acima. Executar com trace habilitado.

Entrada e Saida Obter um número do usuário e verificar se o número está compreendido entre 10 e 100. main :- write('digite um número.\n'), read(n),n > 10,N < 100. Pede ao usuário um número N e imprime na * símboloovezesntela

GUI :- use_module(library(pce)). alo_mundo :- % criacao da janela new(d, window('minha primeira janela')), % redefine o tamanho da janela send(d, size, size(250, 100)), % cria um texto na janela new(t, text('hello World!')), % mostra o texto na posicao desejada send(d, display, T, point(80, 40)), % mostra a janela send(d, open).

GUI :- use_module(library(pce)). ask_name(name) :- new(d, dialog('register')), send(d, append(new(nameitem, text_item(name)))), send(d, append(new(nameitem, text_item(name)))), send(d, append(button(ok, message(d, return, NameItem?selection)))), send(d, append(button(cancel, message(d, return, @nil)))), send(d, default_button(ok)), get(d, confirm, Rval), free(d), Rval \== @nil, Name = Rval.

GUI Usando o exemplo anterior pegue o nome do usuário e imprima. Seja Bem vindo ao sistema Sr(a). NomeDoUsuário.

Trabalho Final 70% da P2. Explicar uma linguagem de programação. História da linguagem Quem criou? porquê criou? Paradigmas que ela segue Sintaxe e Semântica Mercado Comparando brevemente com outras linguagens. Apresentar um programa feito nessa linguagem. Apresentação oral com slides. Duração de 15 a 20 minutos. Data: 02/12 (Todos apresentarão na mesma data)

Trabalho Final 1 - Objective-C 2 - Ruby 3 - Erlang 4 - C# 5 - ActionScript 6 - Perl 7 - Haskell 8 - LUA 9 - JavaScript 10- ShellScript 1 - Edson 2 - Valter 3 - Matheus 4 - Otavio 5 - Irenildo 6 - Duanny 7 - Geraldo 8 - Elton 9 - Peter 10-