Linguagem Prolog. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo
|
|
- Tânia das Neves di Azevedo
- 6 Há anos
- Visualizações:
Transcrição
1 Linguagem Prolog Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo
2 Introdução Prolog (Programming in in Logic) é uma uma linguagem de de programação declarativa para para processamento simbólico. consultas respostas interface motor de inferência base de conhecimento usuário Essencialmente, a programação em Prolog consiste em: identificar os objetos em um contexto de discurso identificar relações (ou predicados) de interesse entre estes objetos declarar fatos e regras a respeito destas relações consultar o sistema acerca das relações declaradas Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 2
3 Elementos básicos fato regra consulta
4 Fato Um Um fato fato estabelece um um relacionamento incondicional entre entre objetos de de um um contexto. Alguns fatos no contexto ao lado são: mulher(ana ana homem(bob casal(ana ana,bob gerou(ana ana,clô gerou(bob,clô irmão(rui,rai rai tio(ra raí,bia bia Ana Bob Clô Bia Eva Ivo Rui Raí Devemos evitar declarar fatos fatos que que podem ser ser deduzidos de de outros! Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 4
5 Regra Uma Uma regra regra estabelece um um relacionamento condicional entre entre objetos de de um um contexto. Algumas regras no contexto ao lado são: Ana Bob Eva Ivo casal(x,y) :- gerou(x,z), gerou(y,z), X\=Y. mãe(x,y) :- mulher(x), gerou(x,y filho(x,y) :- homem(x), gerou(y,x Clô Rui Raí avó(x,y) :- mãe(x,z), gerou(z,y Bia Regras são são definidas em em termos de de fatos fatos e regras já jádefinidos! Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 5
6 Regra Um Um grafo grafo de de relacionamento permite visualizar graficamente uma uma regra, facilitando a sua sua definição/codificação. casal X Y Ana Bob Eva Ivo gerou gerou Z Clô Rui Raí casal(x,y) :- gerou(x,z), gerou(y,z), X\=Y. conclusão condições Bia Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 6
7 Programa Um Um programa é um um conjunto de de fatos fatos e regras. % gerou(x,y) : X gerou Y gerou(ana,clô gerou(bob,clô gerou(eva,rui gerou(eva, (eva,ra raí gerou(ivo ivo,rui gerou(ivo ivo,ra raí gerou(clô,bia gerou(rui,bia % casal(x,y) : X e Y formam um casal casal(x,y) :- gerou(x,z), gerou(y,z), X\=Y. Ana Bob Eva Ivo Clô Rui Raí Bia Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 7
8 Consulta Uma Uma consulta permite obter obter informações que que podem ser ser deduzidas de de um um programa. Algumas consultas que poderíamos fazer:?- gerou(ana,clô?- gerou(ana,rui no?- gerou(q,clô Q = ana ; Q = bob?- gerou(clô,q Q = bia Ana Bob Eva Ivo Clô Rui Raí Bia Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 8
9 Consulta Uma Uma variável compartilhada permite propagar objetos entre entre literais de de uma uma consulta.?- gerou(x,y), gerou(y,z X = ana, Y = clô, Z = bia ; X = bob, Y = clô, Z = bia ; X = eva, Y = rui, Z = bia ; X = ivo, Y = rui, Z = bia ; Ana Bob Eva Ivo no Clô Rui Raí Bia Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 9
10 Consulta Uma Uma variável anônima (indicada pelo pelo sinal sinal de de sublinha) permite indicar objetos cujos cujos valores são são irrelevantes para para obtenção de de uma uma resposta. % Ana gerou alguém??- gerou(ana, _ Ana Bob Eva Ivo % Bia gerou alguém??- gerou(bia, _ no Clô Rui Raí % Quem é avô/avô de Bia??- gerou(q, _ ), gerou( _, raí Q = ana <= ERRO Bia Cada Cada ocorrência da da variável anônima é distinta e, e, portanto, não não compartilhada! Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 10
11 Eliminação de respostas duplicadas Predicados predefinidos em em Prolog findall(r,c,l): encontra todas todas respostas R da da consulta C e as as guarda na na lista lista L sort(l,s) sort(l,s) (L,S): ordena a lista lista L, L, removendo duplicatas, e devolve o resultado em em S?- irmão(rui,r R = raí ; R = raí ; no?- findall(r, irmão(rui,r),, L L = [raí, raí]?- findall(r, irmão(rui,r),, L), sort(l,s L = [raí, raí] S = [raí] Ana Bob Clô Bia Eva Ivo Rui Raí Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 11
12 Exercício Exercício Genealogia Com Com base base no no contexto ao ao lado, lado, defina as as relações a seguir e consulte o sistema. homem mãe mulher pai Ana Ivo gerou avó casal avô filha tia Bia Ary Eva Rui filho tio irmão irmã prima primo Noé Clô Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 12
13 Exercício Exercício Carona Ana Ana e Raí Raímoram em em Santana, Bia Bia mora mora no no Tatuapé, Edu Edu mora mora no no Mandaqui, Gil Gil mora mora na na Penha Penha e Eva Eva mora mora na na Vila Vila Carrão. Carrão. Santana e Mandaqui ficam ficam na na zona zona norte norte e Tatuapé, Penha Penha e Vila Vila Carrão Carrão ficam ficam na na zona zona leste. leste. Ana Ana e Gil Gil têm têm carro. carro. Uma Uma pessoa pessoa pode pode dar dar carona carona à outra outra se se ela ela tem tem carro carro e ambas ambas moram moram em em bairros bairros que que ficam ficam na na mesma mesma zona. zona. Represente estas informações, usando os predicados a seguir: mora_em(pessoa,bairro) fica_na_zona(bairro,zona) tem_carro(pessoa) pode_dar_carona_a(pessoa,pessoa) Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 13
14 Exercício Exercício Negação por por falha falha finita finita pessoa(ana pessoa(bia baixa(ana alta(x) alta(x) :- :- not(baixa(x) baixa(x)),, pessoa(x Considerando o programa acima: O que o sistema Prolog responde à consulta:?- alta(r Que modificação é necessária para que a consulta seja respondida corretamente? Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 14
15 Processamento numérico cálculo aritmética comparação
16 Operadores aritméticos Embora Prolog seja especialmente voltado para processamento simbólico, ele também oferece algumas facilidades para processamento numérico, por meio do predicado predefinido is/2.?- X = X = 1+3?- X is X = 4?- X is 7 // 2. X = 3?- X is 4 ^ 0.5. X = 2 Operação aritmética Soma Subtração Multiplicação Divisão real Divisão inteira Resto da divisão inteira Potenciação Operador + - * / // mod ^ Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 16
17 Operadores relacionais Para realizar comparações entre expressões aritméticas, podemos usar os operadores relacionais listados na tabela a lado.?- 1+3 = 3+1. no?- 1+3 =:= 3+1.?- X = 2+3, Y = 1+4, X =< Y. X = 2+3 Y = 1+4?- amélia lia. Comparação Igual Diferente Menor Menor ou igual Maior Maior ou igual Operador =:= =\= < =< > >= Para Para comparar valores alfanuméricos, usamos ==, ==, Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 17
18 Exercício Exercício Área Área do do imóvel medida(cozinha, 2.0, 2.0, medida(sala, 4.0, 4.0, medida(quarto, 3.0, 3.0, medida(banheiro,1.5, Complemente o programa acima com a definição do predicado tamanho(cômodo,área) e faça as seguintes consultas: Qual área da cozinha? Que cômodos são maiores que a cozinha? Que cômodos são menores que a cozinha? É verdade que o tamanho da cozinha é o dobro do tamanho do banheiro? É verdade que a sala é o maior cômodo da casa? Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 18
19 Exercício Exercício Área Área e população dos dos países (em (em milhões) % país(nome, s(nome,áreakm2,popula reakm2,população ão país(brasil, 8, 8, país(china, 9, 9, país( país( s(eua s(eua eua, eua, 9, 9, país( país( s(índia, ndia, 3, 3, Com base no programa acima, faça as seguintes consultas: Qual o número de habitantes dos EUA? Qual a densidade demográfica do Brasil? Qual a diferença entre as populações da China e da Índia? Que países são maiores que o Brasil? Que países são menos populosos que a Índia? Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 19
20 Modelo relacional tabela consulta
21 Modelo relacional O modelo relacional de banco de dados (BD) Representa os dados em um BD usando um conjunto de tabelas. As linhas das tabelas são denominadas tuplas e suas colunas, atributos. As consultas são representadas em termos de operações da álgebra relacional (projeção, seleção, etc. Programação em lógica é uma poderosa extensão do modelo relacional. Um conjunto de fatos para um predicado corresponde a uma tabela. Fatos representam tuplas e seus argumentos representam atributos da tabela. Uma regra corresponde a uma vista no modelo relacional, isto é, uma tabela virtual que reúne atributos já armazenados em outras tabelas. As operações de álgebra relacional podem ser representadas por meio de consultas (ou regras Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 21
22 Modelo relacional: tabelas Primeira Forma Normal (1FN) Todos os os atributos devem ser ser atômicos. Dados Funcionários Dependentes Código Nome Salário Dependentes Código Nome Salário Código Nome 107 Ana 5.500,00 Bia, Lia 107 Ana 5.500, Bia 290 Rui 7.850,00 Raí 290 Rui 7.850, Lia 368 Eva 2.390, Eva 2.390, Raí 405 Ivo 4.700,00 Clô, Ary, Noé 405 Ivo 4.700, Clô 405 Ary 405 Noé Dados na 1FN Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 22
23 Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 23 Modelo relacional: tabelas Tabelas representadas em Prolog Tabelas representadas em Prolog % (C (C (C (Código,Nome,Sal digo,nome,sal digo,nome,sal digo,nome,salário) rio) rio) rio) (107, (107, (107, (107,ana ana ana ana,5500,5500,5500,5500 (290,rui,7850 (290,rui,7850 (290,rui,7850 (290,rui,7850 (368, (368, (368, (368,eva eva eva eva,2390,2390,2390,2390 (405, (405, (405, (405,ivo ivo ivo ivo,4700,4700,4700,4700 % (C (C (C (Código,Nome) digo,nome) digo,nome) digo,nome) (107,bia (107,bia (107,bia (107,bia (107,lia (107,lia (107,lia (107,lia (290, (290, (290, (290,ra ra ra raí (405, (405, (405, (405,clô clô clô clô (405, (405, (405, (405,ary ary ary ary (405,no (405,no (405,no (405,noé % (C (C (C (Código,Nome,Sal digo,nome,sal digo,nome,sal digo,nome,salário) rio) rio) rio) (107, (107, (107, (107,ana ana ana ana,5500,5500,5500,5500 (290,rui,7850 (290,rui,7850 (290,rui,7850 (290,rui,7850 (368, (368, (368, (368,eva eva eva eva,2390,2390,2390,2390 (405, (405, (405, (405,ivo ivo ivo ivo,4700,4700,4700,4700 % (C (C (C (Código,Nome) digo,nome) digo,nome) digo,nome) (107,bia (107,bia (107,bia (107,bia (107,lia (107,lia (107,lia (107,lia (290, (290, (290, (290,ra ra ra raí (405, (405, (405, (405,clô clô clô clô (405, (405, (405, (405,ary ary ary ary (405,no (405,no (405,no (405,noé Funcionários 4.700,00 Ivo ,00 Eva ,00 Rui ,00 Ana 107 Salário Nome Código Dependentes Ary 405 Lia 107 Noé 405 Clô 405 Raí 290 Bia 107 Nome Código
24 Modelo relacional: consultas Projeção Seleciona um um conjunto de de atributos (colunas) de de uma uma tabela. Exemplo: Quais os nomes e salários dos ionários??- (_,N,S N = ana, S = 5500 ; N = rui, S = 7850 ; N = eva, S = 2390 ; N = ivo, S = 4700?- forall((_,n,s) (_,N,S),, writeln([n,s]) [ana, 5500] [rui, 7850] [eva, 2390] [ivo, 4700] Código Funcionários Nome Salário Ana 5.500,00 Rui 7.850,00 Eva 2.390,00 Ivo 4.700,00 Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 24
25 Modelo relacional: consultas Seleção Seleciona um um conjunto de de tuplas (linhas) de de uma uma tabela, de de acordo com com uma uma condição Exemplo: Quem recebe salário entre 3 e 6 mil reais??- (C,N,S), S>=3000, S=<6000. C = 107, N = ana, S = 5500 ; C = 405, N = ivo, S = 4700?- forall(((c,n,s), (C,N,S), S>=3000, S=<6000), writeln([c,n,s]) Funcionários Código Nome Salário 107 Ana 5.500, Rui 7.850, Eva 2.390, Ivo 4.700,00 [107, ana, 5500] [405, ivo, 4700] Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 25
26 Modelo relacional: consultas Funcionários Um Um relacionamento entre entre tabelas É estabelecido com com o uso uso variáveis compartilhadas. Código Nome Ana Rui Salário 5.500, , Eva 2.390, Ivo 4.700,00 Exemplo: Quem são os endentes de Ivo? Dependentes?- forall((( ((C,ivo,_), (C,N)),N)),, writeln(n) clô ary noé Código Nome Bia Lia Raí Clô Ary Noé Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 26
27 Exercício Exercício Funcionários % (C (Código,Nome,Sal digo,nome,salário) rio) (107, (107,ana ana,5500 (290,rui,7850 (368, (368,eva eva,2390 (405, (405,ivo ivo,4700 % (C (C (Código,Nome) (107,bia (107,lia (290, (290,ra raí raí (405, (405,clô clô clô (405, (405,ary ary ary (405,no (405,noé Com base no programa a lado, faça as seguintes consultas: Qual o salário de Eva? Qual o código do Rui? Quem é endente de Ana? De quem Raí é endente? Quem não tem endente? Quem recebe salário de no máximo R$ 5.500,00? Quem ende de ionário com salário de no máximo R$ 5.500,00? Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 27
28 Fim
Linguagem Prolog. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo
Linguagem Prolog Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Introdução Prolog (Programming in Logic) é uma linguagem de programação declarativa
Raciocínio Automatizado
Raciocínio Automatizado Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Introdução Raciocínio automatizado simula raciocínio lógico por meio
CONCEITOS DE ALGORITMOS
CONCEITOS DE ALGORITMOS Fundamentos da Programação de Computadores - 3ª Ed. 2012 Editora Prentice Hall ISBN 9788564574168 Ana Fernanda Gomes Ascênsio Edilene Aparecida Veneruchi de Campos Algoritmos são
Noções de algoritmos - Aula 1
Noções de algoritmos - Aula 1 Departamento de Física UFPel Definição de algoritmo Sequência ordenada e finita de operações para a realização de uma tarefa. Tarefa: Experimento de Física I. Passo 1: Reunir
Raciocínio Automatizado
Raciocínio Automatizado Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Introdução Raciocínio automatizado simula raciocínio lógico por por
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
Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO
Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO Dados em Algoritmos Quando escrevemos nossos programas, trabalhamos com: Dados que nós fornecemos ao programa Dados
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
Algoritmos: Conceitos Fundamentais. Slides de autoria de Rosely Sanches e Simone Senger de Souza
Algoritmos: Conceitos Fundamentais Slides de autoria de Rosely Sanches e Simone Senger de Souza DADOS E EXPRESSÕES Uso da Informação Computador manipula informações contidas em sua memória. Classificadas
Lógica de Programação I. Gilson de Souza Carvalho
Gilson de Souza Carvalho gaucho.gilson@hotmail.com 1. Estruturas básicas Apresentaremos um resumo com os comandos estudados para criação de algoritmos. Para utilizar estes comandos, usaremos uma sintaxe
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
Constantes, Variáveis, tipos de dados e expressões
FTC Faculdade de Tecnologia e Ciências Engenharia Civil 1º Semestre Constantes, Variáveis, tipos de dados e expressões Rafael Barbosa Neiva rafael@prodados.inf.br Variáveis Como referenciar e recuperar
5. Expressões aritméticas
5. Expressões aritméticas 5.1. Conceito de Expressão O conceito de expressão em termos computacionais está intimamente ligado ao conceito de expressão (ou fórmula) matemática, onde um conjunto de variáveis
Fábio Rodrigues / Israel Lucania
Fábio Rodrigues / Israel Lucania Variável é um local na memória principal, isto é, um endereço que armazena um conteúdo. Em linguagem de alto nível nos é permitido dar nomes a esse endereço, facilitando
Universidade Federal do ABC Programação Estruturada Fabrício Olivetti França Lista de Exercícios 01
1 Objetivos da lista Universidade Federal do ABC Programação Estruturada Fabrício Olivetti França Lista de Exercícios 01 Esta lista de exercícios tem como objetivo introduzir os conceitos básicos da linguagem
CURSO BÁSICO DE PROGRAMAÇÃO AULA 3. Revisão Estrutura de Decisão Se Então
CURSO BÁSICO DE PROGRAMAÇÃO AULA 3 Revisão Estrutura de Decisão Se Então Revisão da aula anterior 1. Variáveis 2. Estrutura de um Algoritmo 3. Operadores 4. Portugol Studio Variável Revisão da aula anterior
INFORMÁTICA APLICADA AULA 03 ALGORITMOS
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 03 ALGORITMOS Profª ª Danielle Casillo LINEARIZAÇÃO DE EXPRESSÕES Para a construção de algoritmos
Grupo de Usuários Java do Noroeste Paulista. Tópicos Avançados em Java
Grupo de Usuários Java do Noroeste Paulista Tópicos Avançados em Java Aula 1 Objetivos Programa exemplo; Programação Orientada a Objetos. Conceitos Orientada a Objetos Mundo real Conceitos Orientada a
Introdução à Computação
Your Logo Here Prof. Bruno de Jesus bruno.jesus@ic.ufal.br Introdução à Computação Tipos de dados, variáveis e expressões Conteúdo de hoje... Tipos de dados Dados numéricos Inteiro Real Dados literais
ÁLGEBRA E CÁLCULO RELACIONAL
UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO ÁLGEBRA E CÁLCULO RELACIONAL MARINGÁ 2014 SUMÁRIO SUMÁRIO...1 1 INTRODUÇÃO...2 1.1
Álgebra Relacional. Linguagem de consultas procedural Conjunto de operações que usam uma ou duas relações como entrada e geram uma relação de saída
Algebra Relacional Adaptado de Karine Reis Ferreira karine@dpi.inpe.br Gilberto Câmara gilberto@dpi.inpe.br Gilberto Ribeiro de Queiroz gribeiro@dpi.inpe.br Álgebra Relacional Linguagem de consultas procedural
BANCO DE DADOS. Araújo Lima. Ago / Araújo
BANCO DE DADOS Lima Ago / 2017 1 Índice 3.Modelos de dados Modelo Conceitual Modelo Lógico Modelo Físico Classificação de Bancos de Dados Hierárquico Rede Relacional 4.Modelo Relacional Introdução Conceitos
Algoritmos e Programação I
Algoritmos e Programação I Operadores Relacionais, Lógicos e Aritméticos Prof. Fernando Maia da Mota mota.fernandomaia@gmail.com CPCX/UFMS Fernando Maia da Mota 1 Expressões Uma expressão relacional, ou
Modelo Relacional - Manipulação
Modelo Relacional - Manipulação Duas categorias de linguagens formais álgebra relacional e cálculo relacional comerciais (baseadas nas linguagens formais) SQL Linguagens formais - Características orientadas
CURSO BÁSICO DE PROGRAMAÇÃO AULA 3. Revisão Estrutura de Decisão Se Então
CURSO BÁSICO DE PROGRAMAÇÃO AULA 3 Revisão Estrutura de Decisão Se Então Revisão da aula anterior 1. Variáveis 2. Estrutura de um Algoritmo 3. Operadores 4. Visualg Variável Revisão da aula anterior É
UNIDADE 2 ALGORITMOS E PSEUDOCÓDIGO
1 UNIDADE 2 ALGORITMOS E PSEUDOCÓDIGO 2.1 INTRODUÇÃO Um algoritmo é uma seqüência ordenada, finita de operações bem definidas e eficazes que, quando executadas por um computador operando sobre dados caracterizando
Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados
Métodos Computacionais Operadores, Expressões Aritméticas e Entrada/Saída de Dados Tópicos da Aula Hoje aprenderemos a escrever um programa em C que pode realizar cálculos Conceito de expressão Tipos de
ALGORITMOS 3ª Aula. 3. Introdução Tipos de dados, variáveis e operadores Tipos de dados
3. Introdução Segundo alguns especialistas, qualquer programa de computador pode ser escrito utilizando apenas três estruturas básicas: Seqüência, Condição e Repetição. Isto significa que, na construção
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
Banco de Dados I Álgebra Relacional
Banco de Dados I Álgebra Relacional Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Álgebra Relacional Álgebra Relacional: conjunto de operações que podem
Variável. Expressões. Atribuição. Tipos básicos Declaração. Aritméticas Lógicas. Professor Leandro Augusto Frata Fernandes
Programação de Computadores III Aula 3 Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2011.1/tcc-03.063 Roteiro da Aula
Banco de Dados I 3 Modelagem de Dados Lógico e Físico
Banco de Dados I 3 Modelagem de Dados Lógico e Físico Grinaldo Lopes de Oliveira (grinaldo( grinaldo@gmail.com) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas * Material com créditos
Programação de Computadores:
Instituto de C Programação de Computadores: Introdução a Algoritmos (Parte II) Luis Martí Instituto de Computação Universidade ederal luminense lmarti@ic.uff.br - http://lmarti.com Roteiro da Aula de Hoje
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
Estrutura Sequencial. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo
Estrutura Sequencial Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Fundamentos Tipo de dados especifica um conjunto de valores e operações
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
INTRODUÇÃO À COMPUTAÇÃO - EPET006 -
INTRODUÇÃO À COMPUTAÇÃO - EPET006 - Heleno Pontes Bezerra Neto - helenopontes@lccv.ufal.br Introdução ao MATLAB Tipos Primitivos 3. TÓPICOS PRELIMINARES Tipos Primitivos - ATÉ AGORA TRABALHAMOS NO MATLAB
Pseudocódigo. Regras para nomear um algoritmos: Variáveis. Exemplo: Exemplo: Exemplo: O valor do dolar; O peso de uma pessoa;
Pseudocódigo Português estruturado Mais formal e estruturado Facilidade de compreensão /* Algoritmo que descreve os passos para trocar uma lâmpada */ comentário Algoritmo TrocaLampada nome do algoritmo
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:
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA. DIM0320 Algoritmos e Programação de Computadores
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA DIM0320 Algoritmos e Programação de Computadores #CONTROLE DE FLUXO #CONDICIONAIS #EXPRESSÕES LÓGICAS E L I
Álgebra Relacional e SQL
Álgebra Relacional e SQL Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Álgebra Relacional Maneira teórica de se manipular o banco de dados relacional Linguagem de consulta procedural usuários
Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho
Laboratório de Banco de Dados II Aula 04 Prof. Érick de Souza Carvalho 1 SQL (Structured Query Language ) Prof. Érick de Souza Carvalho 2 SQL Structured Query Language - Introdução É uma Linguagem para
!" # Modelos de dados. 1ª geração. 2ª geração. 3ª geração. Modelo Hierárquico Modelo Rede. Modelo Relacional
Nuno Melo e Castro !" # Modelos de dados 1ª geração Modelo Hierárquico Modelo Rede 2ª geração Modelo Relacional 3ª geração Extensões ao modelo relacional Modelo lógico-dedutivo Modelo orientado a objectos
Apêndice A. Pseudo-Linguagem
Apêndice A. Pseudo-Linguagem Apostila de Programação I A.1 Considerações Preliminares Os computadores convencionais se baseiam no conceito de uma memória principal que consiste de células elementares,
Graduado em Analises e Desenvolvimento de Sistemas Analista de Sistemas (Seplag) Instrutor(Egp-Ce) Professor(CEPEP)
Professor: Venicio Paulo Mourão Saldanha Site: www.veniciopaulo.com Graduado em Analises e Desenvolvimento de Sistemas Analista de Sistemas (Seplag) Instrutor(Egp-Ce) Professor(CEPEP) INTRODUÇÃO AO EXCEL
BANCO DE DADOS. Araújo Lima. Fev / Araújo
BANCO DE DADOS Lima Fev / 2016 1 Aula 3 3.Modelos de dados Modelo Conceitual Modelo Lógico Modelo Físico Classificação de Bancos de Dados Hierárquico Rede Relacional 2 MODELOS DE DADOS... Ferramenta usada
Introdução à Pseudo-código PROGRAMAÇÃO I (COM06842) LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)
Introdução à Pseudo-código PROGRAMAÇÃO I (COM06842) LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039) F REDDY BRASILEIRO www.inf.ufes.br/~fbrasileiro fbrasileiro@inf.ufes.br Conteúdo 4. Elementos fundamentais
Introdução a Programação. Curso: Sistemas de Informação Programação I José R. Merlin
Introdução a Programação Curso: Sistemas de Informação Programação I José R. Merlin Programas Programas são instruções para o computador executar uma tarefa Estas instruções seguem uma lógica Lógica: modo
TIPOS DE DADOS E VARIÁVEIS
AULA 3 TIPOS DE DADOS E VARIÁVEIS 3.1 Tipos de dados Os dados manipulados por um algoritmo podem possuir natureza distinta, isto é, podem ser números, letras, frases, etc. Dependendo da natureza de um
ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)
Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Até o momento da disciplina vimos comandos de entrada, processamento e saída
Introdução à Programação uma Abordagem Funcional
Universidade Federal do Espírito Santo Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres boeres@inf.ufes.br CT VII - Sala 34 Departamento de Informática Centro Tecnológico
ESTRUTURA CONDICIONAL E SELEÇÃO
Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ESTRUTURA CONDICIONAL E SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE OU DECISÃO) Até o momento da disciplina vimos algoritmos e programas
Conceitos Básicos. Professor: Juliano Lucas Gonçalves.
Conceitos Básicos Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br Agenda Revisão Algoritmos Memória, variáveis e constantes Estrutura básica de um algoritmo em pseudocódigo 2 O que já
TABELA ENTIDADE LINHA OCORRÊNCIA DA ENTIDADE COLUNA ATRIBUTO DA ENTIDADE
TABELA ENTIDADE LINHA OCORRÊNCIA DA ENTIDADE COLUNA ATRIBUTO DA ENTIDADE CARACTERISTICA DE UMA TABELA: NÃO EXISTEM DUAS LINHAS IGUAIS A ORDEM DAS LINHAS É INSIGNIFICANTE A ORDEM DAS COLUNAS É INSIGNIFICANTE
O Modelo e a Álgebra Relacional
O Modelo e a Álgebra Relacional O Modelo Relacional Modelo de dados, que se baseia no princípio em que todos os dados estão guardados em tabelas Baseado em lógica de predicados e na teoria de conjuntos.
PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA
PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA SUMÁRIO Introdução Conceitos básicos Formato básico Tipos primitivos Variáveis Constantes Operadores Operações
Definições de Algoritmos. Algoritmos e Programação I. Conceitos Básicos de Algoritmos. Relação entre Algoritmos e Programação
Definições de Algoritmos Algoritmos e Programação I Aula 2 Prof a. Márcia Cristina Moraes mmoraes@inf.pucrs.br Prof a. Sílvia M.W. Moraes silvia@inf.pucrs.br Algoritmo é um conjunto finito de regras, bem
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
BANCO DE DADOS. SQL Select. Engenharia da Computação. Aula 20. Vamos considerar a tabela EMP para os exemplos a seguir. SELECT colunas FROM tabelas;
Engenharia da Computação BANCO DE DADOS Aula SQL Select SELECT - recupera informação do Banco de Dados. Formato mais simples: SELECT colunas FROM tabelas; Vamos considerar a tabela EMP para os exemplos
COBOL DB2- CICS. Prof. Maromo [Aula 5]
COBOL DB2- CICS Prof. Maromo [Aula 5] Operadores em Cobol Operadores Cálculos aritméticos A linguagem Cobol possui rotinas que auxiliam o programador a efetuar cálculos aritméticos, são eles: ADD, SUBTRACT,
7 Operadores e Expressões
7 Operadores e Expressões 7.1 Definição de operador, expressão e operando Um operador é um símbolo utilizado para identificar que uma determinada operação deve ser realizada sobre um ou mais parâmetros,
BCD29008 Banco de dados
BCD29008 Banco de dados Linguagem SQL Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 21 de agosto de 2017
Algoritmo e Programação. Capítulo 2 Tópicos Preliminares
Algoritmo e Programação Capítulo 2 Tópicos Preliminares Tópicos Preliminares Neste capítulo Tipos Primitivos Variáveis Expressões Aritméticas, Lógicas e Relacionais Comandos de Entrada e Saída Blocos Tópicos
Português Estruturado (VISUALG)
Português Estruturado (VISUALG) Estrutura do programa Exemplo: algoritmo "Ola mundo" // Função : Mostrar na tela uma saudação // Autor : Christianne Dalforno // Data : 09/03/2016
Introdução a Computação
Edirlei Soares de Lima Introdução a Computação Aula 02 Lógica de Programação Lógica de Programação Lógica de Programação é a técnica de criar sequências lógicas de ações para atingir
Noções de algoritmos - Aula 1
Noções de algoritmos - Aula 1 Departamento de Física UFPel Definição de algoritmo Sequência ordenada e finita de operações para a realização de uma tarefa. Tarefa: Experimento de Física I. Passo 1: Reunir
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,
Variáveis, Expressões Aritméticas e Entrada e Saída de Dados
Escola de Ciências e Tecnologia UFRN Variáveis, Expressões Aritméticas e Entrada e Saída de Dados ECT1103 INFORMÁTICA FUNDAMENTAL Manter o telefone celular sempre desligado/silencioso quando estiver em
Aula 4 Estruturas Condicionais
Departamento de Sistemas de Computação Universidade de São Paulo SSC 600 Introdução a Ciência de Computação I Aula 4 Estruturas Condicionais Seiji Isotani, Rafaela V. Rocha sisotani@icmc.usp.br rafaela.vilela@gmail.com
Modelo Relacional. Banco de Dados 2º trimestre Prof. Patrícia Lucas
Modelo Relacional Banco de Dados 2º trimestre Prof. Patrícia Lucas Composição de um BD Relacional Um banco de dados relacional é composto de tabelas ou relações. Tabelas = Relações Tabelas Umatabelaéumconjuntonãoordenadodelinhas
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
Expressões, Atribuições, Entrada e Saída. Givanaldo Rocha
Expressões, Atribuições, Entrada e Saída Givanaldo Rocha givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.br/givanaldorocha Expressões Expressão: em termos computacionais, está ligado ao conceito de
Operadores. Tipo de operadores. Aritméticos. Relacionais. Lógicos. Bit a bit. Cálculos aritméticos: soma, subtracção, multiplicação, divisão, etc.
Operadores Tipo de operadores Aritméticos Cálculos aritméticos: soma, subtracção, multiplicação, divisão, etc. Relacionais Comparação entre entidades. Lógicos Bit a bit 1 Operadores Aritméticos Operadores
Introdução ao Matlab V.Lobo, EN 2002
Introdução Matlab Introdução Matlab Objectivos: 1- Ficar com uma ideia do que é 2- Ficar com uma ideia das suas potencialidades 3- Ser capaz de fazer manipulação simples de matrizes 4- Ser capaz de facilmente
Algoritmo e Programação Matemática
Algoritmo e Programação Matemática Fundamentos de Algoritmos Parte 1 Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais Dados A funcionalidade principal de um computador
INFORMÁTICA APLICADA AULA 03 LINGUAGEM DE PROGRAMAÇÃO C++
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 03 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo OPERADORES Um operador é um símbolo
Lógica para programação II Seção 1 - Histórico e Introdução Primeiros Programas
Lógica para programação II Seção 1 - Histórico e Introdução Primeiros Programas Prof. Me. Hélio Esperidião Ferreira Objetivos: (Entender os principais conceitos atuais e históricos sobre o desenvolvimento
LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO
LÓGICA DE PROGRAMAÇÃO PROFª. M.Sc. JULIANA H Q BENACCHIO Primeiro programa em C #include int main() { int num1, num2, result; scanf("%d",&num1); scanf("%d",&num2); result = num1 + num2; printf("%d",
WEBDESIGN. Professor: Paulo Marcos Trentin - Escola CDI de Videira
WEBDESIGN Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira Introdução ao JavaScript É uma linguagem client-side que possui diversas aplicações,
Curso: Banco de Dados I. Conceitos Iniciais
Curso: Conceitos Iniciais Discussão inicial O que são Bancos de Dados? Quais os programas de Bancos de Dados mais conhecidos no mercado? Quais as vantagens do uso de Bancos de Dados nas empresas? Como
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
Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013
Linguagem de Manipulação de Dados (DML) Estudo Dirigido A Linguagem SQL Preparação Criar um banco de dados denominado Escola ; Criar a tabela, como especificado abaixo: # RA Numeric(8) Nome Serie Turma
Lógica de Programação: aula 2. Dariel Mazzoni Maranhão. Uninove: Universidade Nove de Julho. 22 de agosto de 2010
Uninove: Universidade Nove de Julho 22 de agosto de 2010 Tipos de Dados Primitivos São informações manipuladas pelos usuários. Classificam-se em quatro tipos: Inteiro; Tipos de Dados Primitivos São informações
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 Conteúdo ALGORITMOS Conceitos e características; Formas de representação; Diretrizes para criação de algoritmos; Fluxogramas; Pseudocódigo
Conceitos básicos de algoritmos
Conceitos básicos de algoritmos Operadores Aritméticos Unários: +, - Exemplos: +1-5.9... var a: inteiro... a
Tipos de Dados. Profa. Renata de Matos Galante
Tipos de Dados Profa. Renata de Matos Galante Introdução Notação para algoritmos e procedimentos: Linguagem descritiva Ênfase em tipos Delimitação de valores e operações Tipos Primitivos Tipo Inteiro (int)
Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 3ª Parte Prof. Sandra Pais Soares
Curso Profissional de Gestão e Programação de Sistemas Informáticos Programação e Sistemas de Informação Módulo 1 3ª Parte Prof. Sandra Pais Soares Fundamentos de Programação 1. Palavras Reservadas 2.
Teoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM.
Teoria da Computação e Algoritmos Introdução à Linguagem Pascal 1 Estrutura de um programa INÍCIO FIM. PROGRAM END.
UTFPR - Universidade Tecnológica Federal do Paraná. Processamento e otimização de consultas
UTFPR - Universidade Tecnológica Federal do Paraná Processamento e otimização de consultas Leyza Baldo Dorini 04/Nov/2009 Programação da aula Introdução: processamento e otimização de consultas Etapas:
ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)
Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Já vimos entrada, processamento e saída, que compõem os algoritmos puramente
Prof. Fabiano Taguchi
BANCO DE DADOS Prof. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com OPERAÇÕES LÓGICAS AND (E) Avalia as condições e devolve um valor verdadeiro caso ambas condições forem
Introdução à Computação (IC) Algoritmos: Expressões lógicas
Introdução à Computação (IC) Algoritmos: Expressões lógicas Prof.ª Dr.ª Symone Gomes Soares Alcalá Universidade Federal de Goiás (UFG) Regional Goiânia (RG) Campus Aparecida de Goiânia (CAP) Faculdade
Tipos Abstratos de Dados
Tipos Abstratos de Dados Prof. Rui Jorge Tramontin Jr. UDESC - Rui J. Tramontin Jr. 1 Índice Introdução Definição de Tipos Abstratos de Dados Exemplos de TADs Implementação de TADs Implementação em C Exemplo
Sistemas de Numeração. Exemplos de Sistemas de Numeração (1) Exemplos de Sistemas de Numeração (2) Sistemas de Numeração
Sistemas de Numeração Sistemas de Numeração (Aula Extra) Sistemas de diferentes bases Álgebra Booleana Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 27/2 Um sistema de numeração
Circuitos Lógicos Aula 22
Circuitos Lógicos Aula 22 Aula passada Armazenamento e transferência Paralela x Serial Divisão de frequência Contador Microprocessador Aula de hoje Aritmética binária Representação binária com sinal Complemento
2 Lógica Fuzzy. 2 Lógica Fuzzy. Sintaxe da linguagem
2 Lógica Fuzzy 2.1 Cálculo proposicional (lógica proposicional) 2.2 Lógica de Predicados 2.3 Lógica de múltiplos valores 2.4 Lógica Fuzzy Proposições fuzzy Inferência a partir de proposições fuzzy condicionais
Capítulo 2 Operadores. A função scanf()
Capítulo 2 Operadores A função scanf() A função scanf() é outra das funções de E/S implementadas em todos os compiladores e nos permite ler dados formatados da entrada padrão (teclado). Sintaxe: scanf(
Aula de hoje. Expressões. Expressões. Expressões. Exemplos. Programa em Python. SCC Introdução à Programação para Engenharias
SCC 124 - Introdução à Programação para Engenharias Expressões Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto Menezes Aula de
SUMÁRIO. Introdução Modelo de Dados Esquema Geral de Modelagem de BD; ME-R: Conceitos gerais; DE-R Representação e exemplos.
BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SUMÁRIO Introdução
Sistemas de Banco de Dados
Sistemas de Banco de Dados Fundamentos em Bancos de Dados Relacionais Wladmir Cardoso Brandão www.wladmirbrandao.com Departamento de Ciência da Computação (DCC) Instituto de Ciências Exatas e Informática