Linguagem Lógica Prolog
|
|
|
- Nathalia Estrada Monteiro
- 10 Há anos
- Visualizações:
Transcrição
1 Linguagem Lógica Prolog Linguagens de Programação Departamento de Computação Universidade Federal de Sergipe
2 Conteúdo O que é diferente na Programação Lógica Cláusulas, Fatos, Regras e Predicado Objetos e suas Relações Consultas Tuplas, Átomos, Variáveis e Aridade Regras Comparação de Termos Recursividade Disjunção e Conjunção Linguagens de Programação 2
3 O que é diferente na Prog. Lógica Num algoritmo qualquer identificamos dois principais componentes: lógica - o que solucionar (problema) controle - como solucionar (solução). Na programação em lógica o programador deve descrever somente o componente lógico. O controle é exercido pelo sistema usado. Linguagens de Programação 3
4 O que é diferente na Prog. Lógica Um programa não é a descrição de um procedimento para se obter a solução do problema. Somente descreve o que solucionar. O responsável pelo procedimento a ser adotado na execução da solução é o sistema usado no processamento dos programas. Linguagens de Programação 4
5 O que é diferente na Prog. Lógica Um programa em lógica (programação declarativa) é a representação de determinado problema através de um conjunto finito de sentenças lógicas denominadas cláusulas. As cláusulas componentes dos programas em PROLOG podem ser fatos ou regras. Linguagens de Programação 5
6 O que é diferente na Prog. Lógica A programação declarativa engloba também a programação funcional (LISP e Haskell, por exemplo). Programar em uma linguagem funcional consiste em construir funções, expressas obedecendo a princípios matemáticos, para resolver um problema dado. Linguagens de Programação 6
7 Cláusulas, Fatos, Regras e Predicado Cláusulas são as sentenças lógicas componentes dos programas. Um fato denota uma verdade incondicional. As regras definem as condições a serem satisfeitas para que uma certa declaração seja considerada verdadeira. O conjunto completo de cláusulas (fatos e regras) empregados para descrever uma relação, é denominado predicado. Linguagens de Programação 7
8 Objetos e suas Relações A programação em lógica reforça a tese de que a lógica é um formalismo conveniente para representar e processar conhecimento. Para tanto faz-se necessário identificar nos problemas objetos (entidades) relação entre estes, compondo os fatos (verdades incondicionais) Linguagens de Programação 8
9 Objetos e suas Relações É possível definir, entre os objetos (indivíduos) uma relação chamada progenitor. progenitor(jo, ze). progenitor(iris, gal). Gil Tel Linguagens de Programação 9
10 Objetos e suas Relações Cláusula: progenitor(jo, ze). Sendo: progenitor(jo, ze). RELAÇÃO ARGUMENTOS Gil Tel Linguagens de Programação 10
11 Objetos e suas Relações Cláusulas: progenitor(jo, ze). progenitor(jo, ana). progenitor(ze, beth). Gil Tel Estas constituem três cláusulas que denotam três fatos acerca da relação progenitor. Linguagens de Programação 11
12 Objetos e suas Relações Cláusulas: progenitor(jo, ze). progenitor(jo, ana). progenitor(ze, beth). Exercício 1: Usando o compilador SWI-ProLog, Gil Tel implementar a árvore ao lado. Linguagens de Programação 12
13 Consultas Ao submeter cláusulas a um sistema PROLOG, ele é capaz de responder questões consultas sobre essas relações Essas são denotadas por?-. Exemplo: é progenitor de? Gil Tel?- progenitor(jo, ze). Linguagens de Programação 13
14 Consultas Considerando que há no programa um fato declarando que é progenitor de, o sistema responde yes. Exemplo: é progenitor de? Gil Tel?- progenitor(jo, ze). yes Linguagens de Programação 14
15 Consultas é progenitor de Tel??-progenitor(jo, tel). no Importante observar que e Tel, por tratarem-se de constantes, são escritos, em ProLog, com letras minúsculas. Exercício 2: Elaborar 3 consultas relativas à árvore Gil Tel dada, cujas respostas sejam negativas. Linguagens de Programação 15
16 Consultas É possível também formular consultas usando variáveis V (iniciadas com letras maiúsculas) dentre os argumentos. Neste caso o sistema busca valores para V que tornem a assertiva dada verdadeira. Exemplo: Quem é o progenitor de Tel? Gil Tel?- progenitor(pai, tel). Pai = lipe Linguagens de Programação 16
17 Consultas Exemplo: Quem são os filhos de??- progenitor(jo, Filho). Filho = ze; Filho = ana; no. Respondendo à consulta, o sistema fornece o 1 valor e aguarda (;) para continuar a pesquisa. Gil Tel Importante atentar para a necessidade de usar nomes significativos para as variáveis. Linguagens de Programação 17
18 Consultas Exercício 3: Sobre a cláusula dada a seguir responda: progenitor(x, X). a) a que consulta corresponde? b) em que situação tem resposta? Exercício 4: Elabore cláusula cuja resposta corresponda a todas as relações existentes na Gil Tel árvore genealógica trabalhada. Linguagens de Programação 18
19 Consultas É possível elaborar consultas por múltiplas chamadas à(s) regra(s) trabalhadas. Exemplo: Quem é a avó Gil Tel de Gil??- progenitor(avo, Pai), progenitor(pai, gil). Avo = ana Pai = lipe Linguagens de Programação 19
20 Consultas A resolução desta é efetuada em dois passos: (1) quem é o progenitor Y de Gil? e (2) quem é o progenitor X de Y? Exemplo: Quem é a avó Gil Tel de Gil??- progenitor(avo, Pai), progenitor(pai, gil). Avo = ana Pai = lipe Linguagens de Programação 20
21 Consultas A ordem de composição da consulta não altera o seu significado lógico. Gil Tel Exemplo: Quem é a avó de Gil??- progenitor(avo, Pai), progenitor(pai, gil). Avo = ana Pai = lipe EQUIVALENTE A?- progenitor(pai, gil), progenitor(avo, Pai). Avo = ana Pai = lipe Linguagens de Programação 21
22 Consultas Considerando a consulta:?- progenitor(jo, X), progenitor(x, Y). Como resolução obtém-se: (1) definição de X - filhos de (2) definição de Y - filhos de X - netos de. Assim sendo, esta consulta corresponde a: Quem são os netos de? Gil Tel?-progenitor(jo, Filho), progenitor(filho, Neto). Linguagens de Programação 22
23 Consultas É possível ainda consultar, por exemplo, se dois indivíduos são irmãos.?- progenitor(pai, gil), progenitor(pai, tel). Exercício 5: Consultar se dois indivíduos são primos. Gil Tel Linguagens de Programação 23
24 Tuplas, Átomos, Variáveis e Aridade A definição de relações em ProLog é efetuada pelo estabelecimento de tuplas de objetos que as satisfazem. Os argumentos das relações podem ser objetos concretos átomos objetos genéricos - variáveis. progenitor é uma relação binária, pois é definida entre dois objetos. Linguagens de Programação 24
25 Tuplas, Átomos, Variáveis e Aridade Um exemplo de relação unária é a que define o sexo dos indivíduos da árvore genealógica, ex: masculino(ze), feminino(gal). Outra forma de se declarar a informação relativa ao sexo dos indivíduos da árvore genealógica é: sexo(ana, feminino), sexo(ze, masculino). O número de argumentos que uma relação possui é denominado aridade. Assim, a aridade de masculino é 1 e a de sexo é 2. Exercício 6: Qual o significado da consulta??-masculino(macho). Linguagens de Programação 25
26 Regras Havendo necessidade de definição da relação filho, uma opção é (re)definir as relações progenitor como segue: filho(ana, jo). filho(ze, jo). filho(gil, lipe). Gil Tel Entretanto, é possível definir filho por meio de uma regra. Linguagens de Programação 26
27 Regras A regra para definição da relação filho, pode ser: filho(filho, Pai) :- progenitor(pai, Filho). Gil Tel Um fato é sempre verdadeiro, enquanto regras especificam algo que pode ser verdadeiro se algumas condições forem satisfeitas. Linguagens de Programação 27
28 Regras Nas regras, identificam-se: filho(filho, Pai) :- progenitor(pai, Filho). conclusão ou cabeça se condição ou corpo Elaborada a consulta: filho(tel, lipe) Dizemos que as variáveis Filho e Pai (da regra filho) foram instanciadas. Exercício 7: Elabore consultas de forma a testar a aplicação da regra que define a relação filho. filho(filho, Pai) :- progenitor(pai, Filho). Linguagens de Programação 28
29 Regras Para definir a regra mãe, fazemos uso da conjunção. mae(mae, Filho):- progenitor(mae, Filho), feminino(mae). Em ProLog a conjunção é denotada por vírgula. Gil Tel Exercício 8: Elabore regras para definir as relações: (a) avó e (b) irmã. Linguagens de Programação 29
30 Comparação de Termos Para definir a regra primo, temos: primo(primo1, Primo2):- progenitor(pai1, Primo1), progenitor(pai2, Primo2), progenitor(pai, Pai1), progenitor(pai, Pai2). Gil Tel Entretanto, obtemos como resposta, por exemplo, que é primo dele mesmo, assim como e Iris. Para evitarmos isto, podemos fazer uso de operadores de comparação de termos. Para dizermos que um termo é deferente de outros, usamos \== Linguagens de Programação 30
31 Comparação de Termos Então, redefinindo a regra primo, temos: primo(primo1, Primo2):- progenitor(pai1, Primo1), progenitor(pai2, Primo2), progenitor(pai, Pai1), progenitor(pai, Pai2), Primo1 \== Primo2, Pai1 \== Pai2. Gil Tel Ver @=< Linguagens de Programação 31
32 Recursividade Antepassado direto: antepassado(antepassado, Individuo):- progenitor(antepassado, Individuo). Antepassado indireto: antepassado(antepassado, Individuo1) :- progenitor(antepassado, Individuo2), antepassado(individuo2, Individuo1). Antepassados: antepassado(antepassado, Individuo1) :- progenitor(antepassado, Individuo1); progenitor(antepassado, Individuo2), antepassado(individuo2, Individuo1). Linguagens de Programação 32
33 Disjunção e Conjunção A disjunção (OU) é representada por ponto e vírgula. A conjunção (E) por uma vírgula. Para definição da relação antepassado, ambas foram usadas. Linguagens de Programação 33
34 Sugestões de Leitura The Art of Prolog (Leon Sterling / Ehud Shapiro) Concepts of Programming Languages (Robert Sebesta) Capítulo 16 Programming Language Design Concepts (David Watt) Capítulo 15 Linguagens de Programação 34
Práticas de Programação em Lógica. José Romildo Malaquias
Práticas de Programação em Lógica José Romildo Malaquias 9 de março de 2010 2 Sumário 1 Execução de programas em Prolog 1-1 1.1 Objetivos........................................ 1-1 1.2 Conceitos........................................
Paradigmas de Linguagens de Programaçã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: [email protected] PROGRAMAÇÃO
Roteiro de Aula Prática
UNIVERSIDADE FEDERAL DE UBERLÂNDIA Disciplina: Programação Lógica Curso: Sistemas de Informação Professores: Elaine Ribeiro de Faria Créditos Roteiro de Aula Prática O material a seguir consiste de adaptações
Expressões. Prof. Alberto Costa Neto [email protected]. Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe
Linguagens de Programação Departamento de Computação Universidade Federal de Sergipe Expressão é uma frase de um programa que ao ser avaliada retorna um valor Tipos Literais Agregados Chamadas de Função
Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis
1. TIPOS DE DADOS Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser classificadas em dois tipos: As instruções, que
Programação Funcional. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2015.
Programação Funcional Capítulo 1 Introdução José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2015.1 1/13 1 Paradigmas de programação 2 Programação funcional 3 A Crise
Faculdade Pitágoras 24/10/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet
Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan Unidade 6.1 Álgebra Relacional -Conceitos - Seleção - Projeção
AULA 6 LÓGICA DOS CONJUNTOS
Disciplina: Matemática Computacional Crédito do material: profa. Diana de Barros Teles Prof. Fernando Zaidan AULA 6 LÓGICA DOS CONJUNTOS Intuitivamente, conjunto é a coleção de objetos, que em geral, tem
Renata de Freitas e Petrucio Viana. IME, UFF 12 de março de 2015
Definições por indução e por recursão Renata de Freitas e Petrucio Viana IME, UFF 12 de março de 2015 Sumário Lógica formal e principais sistemas lógicos Definições indutivas Definições recursivas Exercícios
ALGORITMOS PARTE 01. Fabricio de Sousa Pinto
ALGORITMOS PARTE 01 Fabricio de Sousa Pinto Algoritmos: Definição 2 É uma sequência de instruções finita e ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. Algoritmos 3
FUNÇÃO COMO CONJUNTO R 1. (*)= ou, seja, * possui duas imagens. b) não é uma função de A em B, pois não satisfaz a segunda condição da
FUNÇÃO COMO CONJUNTO Definição 4.4 Seja f uma relação de A em B, dizemos que f é uma função de A em B se as duas condições a seguir forem satisfeitas: i) D(f) = A, ou seja, o domínio de f é o conjunto
Capítulo 1. x > y ou x < y ou x = y
Capítulo Funções, Plano Cartesiano e Gráfico de Função Ao iniciar o estudo de qualquer tipo de matemática não podemos provar tudo. Cada vez que introduzimos um novo conceito precisamos defini-lo em termos
Algoritmos não se aprendem: Copiando algoritmos Estudando algoritmos Algoritmos só se aprendem: Construindo algoritmos Testando algoritmos
1. INTRODUÇÃO A ALGORITMOS O uso de algoritmos é quase tão antigo quanto a matemática. Com o passar do tempo, entretanto, ele foi bastante esquecido pela matemática. Com o advento das máquinas de calcular
INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO
Capítulo 1 INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO 1.1 Histórico de Linguagens de Programação Para um computador executar uma dada tarefa é necessário que se informe a ele, de uma maneira clara, como ele
Orientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
¹CPTL/UFMS, Três Lagoas, MS,Brasil, [email protected]. ²CPTL/UFMS, Três Lagoas, MS, Brasil.
Encontro de Ensino, Pesquisa e Extensão, Presidente Prudente, 22 a 25 de outubro, 2012 36 INTRODUÇÃO A CRIPTOGRAFIA RSA Rafael Lima Oliveira¹, Prof. Dr. Fernando Pereira de Souza². ¹CPTL/UFMS, Três Lagoas,
Matemática - UEL - 2010 - Compilada em 18 de Março de 2010. Prof. Ulysses Sodré Matemática Essencial: http://www.mat.uel.
Matemática Essencial Equações do Segundo grau Conteúdo Matemática - UEL - 2010 - Compilada em 18 de Março de 2010. Prof. Ulysses Sodré Matemática Essencial: http://www.mat.uel.br/matessencial/ 1 Introdução
)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR
6LPXODomR GH6LVWHPDV )HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR #5,6. Simulador voltado para análise de risco financeiro 3RQWRV IRUWHV Fácil de usar. Funciona integrado a ferramentas já bastante conhecidas,
EXERCÍCIOS LÓGICA DE PRIMEIRA ORDEM - MODELOS
EXERCÍCIOS LÓGICA DE PRIMEIRA ORDEM - MODELOS Lógica Prof. Tacla (UTFPR/Curitiba) assuntos: expressividade LP x LPO; modelos Conceituais 1. Explique a diferença em expressividade da Lógica Proposicional
Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Geração de código intermediário. Novembro 2006
Geração de código intermediário Novembro 2006 Introdução Vamos agora explorar as questões envolvidas na transformação do código fonte em uma possível representação intermediária Como vimos, nas ações semânticas
1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO
1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO Desde o seu surgimento, o manuseio da computação é baseado em linguagens de programação. Ela permite que sejam construídos aplicativos
Introdução à Engenharia de Computação
Introdução à Engenharia de Computação Tópico: O Computador como uma Multinível José Gonçalves - Introdução à Engenharia de Computação Visão Tradicional Monitor Placa-Mãe Processador Memória RAM Placas
Algoritmos e Estrutura de Dados III. Árvores
Algoritmos e Estrutura de Dados III Árvores Uma das mais importantes classes de estruturas de dados em computação são as árvores. Aproveitando-se de sua organização hierárquica, muitas aplicações são realizadas
Estruturas de Repetição
Estruturas de Repetição Lista de Exercícios - 04 Algoritmos e Linguagens de Programação Professor: Edwar Saliba Júnior Estruturas de Repetição O que são e para que servem? São comandos que são utilizados
VisuALG Estruturas de Repetição. Professores: Vilson Heck Junior [email protected] Felipe Schneider Costa [email protected].
VisuALG Estruturas de Repetição Professores: Vilson Heck Junior [email protected] Felipe Schneider Costa [email protected] O Problema. Estruturas de Repetição: Introdução; Repita ate; Exemplo;
Só Matemática O seu portal matemático http://www.somatematica.com.br FUNÇÕES
FUNÇÕES O conceito de função é um dos mais importantes em toda a matemática. O conceito básico de função é o seguinte: toda vez que temos dois conjuntos e algum tipo de associação entre eles, que faça
AULA 12 FUNÇÕES Disciplina: Algoritmos e POO Professora: Alba Lopes [email protected] http://docente.ifrn.edu.br/albalopes
AULA 12 FUNÇÕES Disciplina: Algoritmos e POO Professora: Alba Lopes [email protected] http://docente.ifrn.edu.br/albalopes FUNÇÕES E PROCEDIMENTOS Também chamados de subalgoritmos São trechos de algoritmos
O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.
O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador. Linguagem de Programação Uma linguagem de programação é um método padronizado para expressar
Python Funções. Introdução à Programação SI1
Python Funções Introdução à Programação SI1 Conteúdo Funções Conceitos Objetivos Modularização Exemplos Exercícios 2 Funções O que são? Qual a função de uma função? 3 Imagine o código 4 Imagine o código
CAP. I ERROS EM CÁLCULO NUMÉRICO
CAP. I ERROS EM CÁLCULO NUMÉRICO 0. Introdução Por método numérico entende-se um método para calcular a solução de um problema realizando apenas uma sequência finita de operações aritméticas. A obtenção
1 Máquina URM, comandos e programas URM
1 Máquina URM, comandos e programas URM Definição 1 : Máquina URM (Unlimited Register Machine) Uma máquina URM é constituída por uma sucessão de registos 2 < R i > i IN. Cada registo pode conter um valor
UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula
Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)
Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados) Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior implementação
Estruturas de entrada e saída
capa Estruturas de entrada e saída - A linguagem C utiliza de algumas funções para tratamento de entrada e saída de dados. - A maioria dessas funções estão presentes na biblioteca . - As funções
Aritmética Binária e. Bernardo Nunes Gonçalves
Aritmética Binária e Complemento a Base Bernardo Nunes Gonçalves Sumário Soma e multiplicação binária Subtração e divisão binária Representação com sinal Sinal e magnitude Complemento a base. Adição binária
Complexidade de Algoritmos. Edson Prestes
Edson Prestes Um problema pode ser resolvido através de diversos algoritmos; O fato de um algoritmo resolver um dado problema não significa que seja aceitável na prática. Na maioria das vezes, a escolha
Dadas a base e a altura de um triangulo, determinar sua área.
Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação [email protected] Conceitos Preliminares
Orientação a Objetos
Orientação a Objetos 1. Sobrecarga (Overloading) Os clientes dos bancos costumam consultar periodicamente informações relativas às suas contas. Geralmente, essas informações são obtidas através de extratos.
Objetos Estruturados Listas Recursão Exercícios. Inteligência Artificial
Prolog Objetos Estruturados Objetos Estruturados Listas Recursão Exercícios Inteligência Artificial Exercícios Relembrando a introdução: 1. Escreva um programa Prolog para representar: João nasceu em Campos
Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante
Cálculo Numérico Aula : Computação numérica. Tipos de Erros. Aritmética de ponto flutuante Computação Numérica - O que é Cálculo Numérico? Cálculo numérico é uma metodologia para resolver problemas matemáticos
Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação
Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação LP: Laboratório de Programação Apontamento 7 Prof. ISVega Março de 2004 Controle de Execução: Seleção Simples CONTEÚDO
EQUAÇÕES E INEQUAÇÕES DE 1º GRAU
1 EQUAÇÕES E INEQUAÇÕES DE 1º GRAU Equação do 1º grau Chamamos de equação do 1º grau em uma incógnita x, a qualquer expressão matemática que pode ser escrita sob a forma: em que a e b são números reais,
Algoritmos Computacionais ( Programas )
Algoritmos Computacionais ( Programas ) A partir deste tópico, consideramos a utilização do universo Computacional na solução de problemas. Para tanto devemos lembrar que a transposição de problemas do
INF 1771 Inteligência Artificial
INF 1771 Inteligência Artificial Aula 09 Introdução ao Prolog Edirlei Soares de Lima Introdução O Prolog é uma linguagem de programação baseada em lógica de primeira ordem. Não é
Algumas vantagens da Teoria das Descrições Definidas (Russel 1905)
Textos / Seminário de Orientação - 12 de Março de 2005 - Fernando Janeiro Algumas vantagens da Teoria das Descrições Definidas (Russel 1905) Assume-se que o objecto de uma teoria semântica é constituído
A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.
INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,
3. Tipos de Dados, Constantes e Variáveis.
3. Tipos de Dados, Constantes e Variáveis. O computador realiza a sua tarefa trabalhando as informações contidas em sua memória, essas podem ser classificadas em dois tipos básicos: as instruções e os
Universidade da Beira Interior Cursos: Engenharia Informática, Ensino da Informática, Matemática Aplicada e Matemática /Informática
Modelos de Dados 1 - Introdução 2 - Modelo Relacional 2.1. Estrutura de Dados Relacional 2.1.1. Modelo Conceptual de Dados Um modelo conceptual de dados é a representação de um conjunto de objectos e das
O que é a estatística?
Elementos de Estatística Prof. Dr. Clécio da Silva Ferreira Departamento de Estatística - UFJF O que é a estatística? Para muitos, a estatística não passa de conjuntos de tabelas de dados numéricos. Os
Álgebra Relacional. OBS: as operações Seleção e Projeção são operações unárias porque atuam em relações únicas.
Álgebra Relacional Álgebra Relacional é o conjunto básico de operações para o Modelo Relacional. Essas operações permitem a um usuário especificar as solicitações básicas de recuperação. O resultado de
SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 3 - ÁLGEBRA BOOLEANA 1. Introdução O ponto de partida para o projeto sistemático de sistemas de processamento digital é a chamada Álgebra de Boole, trabalho de um matemático inglês que, em um livro
Programação II. Aula 2
Programação II Aula 2 Introdução Para que serve programação? Resolver algum problema computacionalmente. Desenvolver um programa de computador (solução) cuja execução leve a um resultado (aceitável) de
Introdução à Lógica de Programação
Sistemas Operacionais e Introdução à Programação Introdução à Lógica de Programação 1 Estruturas de dados Representação computacional das informações do problema ser resolvido Informações podem ser de
Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi
5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem
Construção de tabelas verdades
Construção de tabelas verdades Compreender a Lógica como instrumento da ciência e como estrutura formal do pensamento, conhecendo e compreendendo as operações com os principais conceitos proposicionais
Disciplina: Unidade III: Prof.: E-mail: Período:
Encontro 08 Disciplina: Sistemas de Banco de Dados Unidade III: Modelagem Lógico de Dados Prof.: Mario Filho E-mail: [email protected] Período: 5º. SIG - ADM Relembrando... Necessidade de Dados Projeto
TÉCNICAS DE PROGRAMAÇÃO
TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente
ROTEIRO PARA ELABORAÇÃO DE PROJETOS
APRESENTAÇÃO ROTEIRO PARA ELABORAÇÃO DE PROJETOS Breve histórico da instituição seguido de diagnóstico e indicadores sobre a temática abrangida pelo projeto, especialmente dados que permitam análise da
CAPÍTULO 2. Grafos e Redes
CAPÍTULO 2 1. Introdução Um grafo é uma representação visual de um determinado conjunto de dados e da ligação existente entre alguns dos elementos desse conjunto. Desta forma, em muitos dos problemas que
Introdução a Informática. Prof.: Roberto Franciscatto
Introdução a Informática Prof.: Roberto Franciscatto APRESENTAÇÃO Os computadores chegaram aos diversos níveis das organizações Nestes contexto: Que linguagem entendem? Que produtos podem usar? Dúvidas
LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto
LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto Conceitos de Linguagens de Roteiro: Apresentação do plano de ensino; Apresentação do plano de
Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Introdução à Computação A Informação e sua Representação (Parte III) Prof.a Joseana Macêdo Fechine Régis de Araújo [email protected]
Representação do Conhecimento
Representação do Conhecimento Representação do Conhecimento Qual a importância de representar um mundo real no computador? 2 Representação do Conhecimento Qual a importância de representar um mundo real
Sociedade Brasileira de Matemática Mestrado Profissional em Matemática em Rede Nacional. n=1
Sociedade Brasileira de Matemática Mestrado Profissional em Matemática em Rede Nacional MA Números e Funções Reais Avaliação - GABARITO 3 de abril de 203. Determine se as afirmações a seguir são verdadeiras
Banco de Dados. Álgebra Relacional. Prof. Enzo Seraphim
Banco de Dados Álgebra Relacional Prof. Enzo Seraphim Introdução A álgebra relacional é composta por um conjunto de operações utilizadas para manipular Relações como um todo Toda Operação Relacional é
OTIMIZAÇÃO VETORIAL. Formulação do Problema
OTIMIZAÇÃO VETORIAL Formulação do Problema Otimização Multiobjetivo (também chamada otimização multicritério ou otimização vetorial) pode ser definida como o problema de encontrar: um vetor de variáveis
Resolução de problemas e desenvolvimento de algoritmos
SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Resolução de problemas e desenvolvimento de algoritmos Prof. Vanderlei Bonato Prof. Cláudio Fabiano Motta Toledo Sumário Análise e solução de
Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.
3. Tabelas de Hash As tabelas de hash são um tipo de estruturação para o armazenamento de informação, de uma forma extremamente simples, fácil de se implementar e intuitiva de se organizar grandes quantidades
Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,...
Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,... 0) O que veremos na aula de hoje? Um fato interessante Produtos notáveis Equação do 2º grau Como fazer a questão 5 da 3ª
Programação: Estruturas de seleção
Programação de Computadores I Aula 07 Programação: Estruturas de seleção José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/53 Valores booleanos Os valores booleanos
ALGORITMOS E FLUXOGRAMAS
ALGORITMOS E FLUXOGRAMAS Prof. André Backes INTRODUÇÃO Computadores = cérebros eletrônicos? Computadores são máquinas e, por si sós, não podem ser inteligentes. Alguém as projetou e deu a ela todas as
Sistema de Gestão de Freqüência. Manual do Usuário
Serviço Público Federal Universidade Federal da Bahia Centro de Processamento de Dados Divisão de Projetos / SGF Sistema de Gestão de Freqüência Sistema de Gestão de Freqüência Manual do Usuário Descrição
Disciplina de Banco de Dados Introdução
Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.
Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB
Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha
1. Sistemas de numeração
1. Sistemas de numeração Quando mencionamos sistemas de numeração estamos nos referindo à utilização de um sistema para representar uma numeração, ou seja, uma quantidade. Sistematizar algo seria organizar,
ATENÇÃO: * Arquivos com tamanho superior a 500 KB NÃO SERÃO ACEITOS * SOMENTE serão aceitos documentos do formato: PDF
TUTORIAL DE DIGITALIZAÇÃO DIRIGIDO AO USO DO PROCESSO ELETRÔNICO Adaptado do tutorial elaborado pelo colega MAICON FALCÃO, operador de computador da subseção judiciária de Rio Grande. Introdução Este tutorial
Sistemas de Representação e Raciocínio
Sistemas de Representação e Raciocínio Introdução à Inteligência Artificial Profa. Josiane Baseado no material de David Poole, Alan Mackworth e Randy Goebel Abril/2007 Inteligência Artificial Objetivo
Conceito de pesquisa
Conceito de pesquisa A pesquisa e uma atividade voltada para a solução de problemas, através do emprego de procedimentos científicos. Seus elementos são: 1. Problema ou dúvida 2. Metodo científico 3. Resposta
Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo
INF01040 Introdução à Programação Introdução à Lógica de Programação s Seqüenciais Sumário Elaboração de um programa/algoritmo Formas de representação de um algoritmo Elementos manipulados em um programa/algoritmo
SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
SQL Linguagem de Manipulação de Dados Banco de Dados SQL DML SELECT... FROM... WHERE... lista atributos de uma ou mais tabelas de acordo com alguma condição INSERT INTO... insere dados em uma tabela DELETE
Diagrama de transição de Estados (DTE)
Diagrama de transição de Estados (DTE) O DTE é uma ferramenta de modelação poderosa para descrever o comportamento do sistema dependente do tempo. A necessidade de uma ferramenta deste tipo surgiu das
Matemática Discreta - 03
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta - 03 Prof. Jorge Cavalcanti [email protected] www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
Português- Prof. Verônica Ferreira
Português- Prof. Verônica Ferreira 1 Com relação a aspectos linguísticos e aos sentidos do texto acima, julgue os itens a seguir. No trecho que podemos chamar de silenciosa (l.15-16), o termo de silenciosa
2. Representação Numérica
2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos
Prof.: Clayton Maciel Costa [email protected]
Programação com acesso a BD Prof.: Clayton Maciel Costa [email protected] 1 Agenda Estrutura Básica de consultas SQL: A cláusula SELECT; A cláusula FROM; A cláusula WHERE. Operação com cadeias
Problemas insolúveis. Um exemplo simples e concreto
Surge agora uma outra questão. Viemos buscando algoritmos para resolver problemas. No entanto, será que sempre seria possível achar esses algoritmos? Colocando de outra forma: será que, para todo problema,
Introdução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis
Ciência da Computação Arq. e Org. de Computadores Máquinas Multiníveis Prof. Sergio Ribeiro Computador digital máquina que resolve problemas executando uma série de instruções. Programa conjunto de instruções
Engenharia de Requisitos Estudo de Caso
Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este
SQL consulta com operadores
A empresa Virtual Data Comunication Ltda. Deseja fazer uma simulação de aumento de salário em R$ 100,00 sobre o salário de cada funcionário SELECT NOME, SALARIO + 100 FROM cadfun; Esta forma de apresentação
Contagem. Prof. Dr. Leandro Balby Marinho. Matemática Discreta. Fundamentos Inclusão/Exclusão Princípio da Casa dos Pombos Permutações Combinações
Contagem Prof. Dr. Leandro Balby Marinho Matemática Discreta Prof. Dr. Leandro Balby Marinho 1 / 39 UFCG CEEI Motivação Contagem e combinatória são partes importantes da matemática discreta. Se resumem
Programação Orientada a Objetos Classes Abstratas Técnico em Informática. Prof. Marcos André Pisching, M.Sc.
Classes Abstratas Técnico em Informática, M.Sc. Classes Abstratas 2 Classes Abstratas Abstração Devemos considerar as qualidades e comportamentos independentes dos objetos a que pertencem, isolamos seus
Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN
Análise e Projeto Orientados a Objetos Aula IV Requisitos Prof.: Bruno E. G. Gomes IFRN 1 Introdução Etapa relacionada a descoberta e descrição das funcionalidades do sistema Parte significativa da fase
- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação
Programação 1I Prof. Osório Árvores Binárias Pag.: 1 - UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação Programação II Disciplina: Linguagem
Algoritmos com VisuAlg
Algoritmos com VisuAlg Prof Gerson Volney Lagemann Depto Eng de Produção e Sistemas UDESC - CCT Algoritmos com VisuAlg Introdução A linguagem VisuAlg é simples, seu objetivo é disponibilizar um ambiente
Linguagem algorítmica: Portugol
Programação de Computadores I Aula 03 Linguagem algorítmica: Portugol José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/34 Introdução I Lógica A lógica é usada
Leia o texto abaixo para resolver as questões sobre população e amostra.
Leia o texto abaixo para resolver as questões sobre população e amostra. População e amostra População e amostra referem-se ao conjunto de entes cujas propriedades desejamos averiguar. População estatística
