Sintaxe e Semântica de Programas Prolog
|
|
|
- Rosângela Pietra Álvaro Sousa
- 8 Há anos
- Visualizações:
Transcrição
1 Sintaxe e Semântica de Programas Prolog Esta aula trata da sintaxe e semântica de conceitos básicos em Prolog relacionados à manipulação de listas Lista é uma das estruturas mais simples em Prolog, muito comum em programação não numérica Ela é uma sequência ordenada de elementos Uma lista pode ter qualquer comprimento Inteligência Artificial José Augusto Baranauskas Departamento de Física e Matemática FFCLRP-USP Sala 228 Bloco P2 Fone (16) augusto@ffclrpuspbr URL: Por exemplo uma lista de elementos tais como ana, tênis, pedro pode ser escrita em Prolog como: [ana, tênis, pedro] 2 O uso de colchetes é apenas uma melhoria da notação, pois internamente listas são representadas como árvores, assim como todos objetos estruturados em Prolog Para entender a representação Prolog de listas, é necessário considerar dois casos: A lista é vazia, escrita como [ ] em Prolog Uma lista (não vazia) consiste: no primeiro item, chamado cabeça (head) da lista na parte restante da lista, chamada cauda (tail) No exemplo [ana, tênis, pedro] ana é a Cabeça da lista [tênis, pedro] é a Cauda da lista A cabeça de uma lista pode ser qualquer objeto (inclusive uma lista); a cauda precisa que ser uma lista A Cabeça e a Cauda são então combinadas em uma estrutura pelo functor especial (Cabeça, Cauda) Como a Cauda é uma lista, ela é vazia ou ela tem sua própria cabeça e sua cauda 3 4 Assim, para representar listas de qualquer comprimento, nenhum princípio adicional é necessário O exemplo [ana, tênis, pedro] é representando como o termo: (ana, (tênis, (pedro, []))) O programador pode escolher ambas notações ana tênis?- = [a,b,c], = (a,(b,(c,[]))) = [a, b, c] = [a, b, c]?- Hobbies1 = (tênis, (música,[])), Hobbies2 = [esqui, comida], L = [ana,hobbies1,pedro,hobbies2] Hobbies1 = [tênis,música] Hobbies2 = [esqui,comida] L = [ana, [tênis,música], pedro, [esqui,comida]] pedro [ ] 5 6 1
2 É possível tratar a cauda como um objeto simples Por exemplo, L = [a,b,c] pode ser escrito como Cauda = [b,c] L = (a,cauda) Para expressar isso, Prolog fornece uma notação alternativa, a barra vertical, que separa a cabeça da cauda L = [a Cauda] A notação é geral por permitir qualquer número de elementos seja seguido por e o restante da lista: [a,b,c] = [a [b,c]] = [a,b [c]] = [a,b,c [ ]] 7 8 Unificação em Unificação em 9 10 Unificação em Unificação em na
3 Unificação em Unificação em na na no issexto Z=[ ] no issexto Z=[ ] Não unifica Operações em Freqüentemente, é necessário realizar operações em listas, por exemplo, buscar um elemento que faz parte de uma lista Para isso, a recursão é o recurso mais amplamente empregado Para verificar se um nome está na lista, é preciso verificar se ele está na cabeça ou se ele está na cauda da lista Se o final da lista for atingido, o nome não está na lista Inicialmente, é necessário definir o nome do predicado que verifica se um elemento X pertence ou não a uma lista Y, por exemplo, pertence(x,y) A primeira condição especifica que um elemento X pertence à lista se ele está na cabeça dela: pertence(x,[x Z]) A segunda condição especifica que um elemento X pertence à lista se ele pertencer à sua cauda: pertence(x,[w Z]) :- pertence(x,z) Sempre que um programa recursivo é definido, deve-se procurar pelas condições limites (ou condições de parada) e pelo caso recursivo: pertence(elemento,[elemento Cauda]) pertence(elemento,[cabeca Cauda]) :- pertence(elemento,cauda) Após a definição do programa, é possível interrogá-lo Por exemplo:?- pertence(a,[a,b,c]) Yes?- pertence(d,[a,b,c]) no?- pertence(x,[a,b,c]) X = a ; X = b ; X = c ; no Entretanto, se as perguntas forem:?- pertence(a,x)?- pertence(x,y) Deve-se observar que cada uma delas tem infinitas respostas, pois existem infinitas listas que validam essas perguntas para o programa pertence/
4 Modo de Chamada de Predicados Para documentar como um predicado deve ser chamado, utiliza-se a notação (como comentário no programa): + o argumento é de entrada (deve estar instanciado) o argumento é de saída (não deve estar instanciado)? o argumento é de entrada e saída (pode ou não estar instanciado) O predicado pertence/2 documentado com o modo de chamada é: % pertence(?elemento, +Lista) pertence(e, [E _]) pertence(e, [_ Cauda]) :- pertence(e,cauda) Predicado Último Elemento de uma Lista 1 Se a lista tem apenas um elemento, este elemento é seu último elemento; 2 O último elemento de uma lista com mais de um elemento é o último da cauda da lista % ultimo(+l,?e) ultimo([e],e) ultimo([_ Cauda],E):- ultimo(cauda,e) Predicado Inserção Inserção na primeira posição O objetivo deste predicado consiste em concatenar um elemento E com uma lista L gerando L1 % insere(?/+e,?/+l,+/?l1) insere(e,l,[e L]) Inserção na última posição O objetivo deste predicado consiste em concatenar uma lista L com um elemento E gerando L1 % insere(?/+e,?/+l,+/?l1) insere(e,[],[e]) insere(e,[cab Cauda],[Cab Cauda1]) :- insere(e,cauda,cauda1) Predicado Elementos Consecutivos 1 Dois elementos E1 e E2 são consecutivos em uma lista, se forem o 1º e o 2º elementos ou 2 Se forem consecutivos na cauda da lista % consecutivos(?e1,?e2,+l) consecutivos(e1,e2,[e1,e2 _]) consecutivos(e1,e2,[_ Cauda]):- consecutivos(e1,e2,cauda)?- consecutivos(e1,e2,) Predicado Soma de Elementos Numéricos 1 Se a lista for vazia, a soma é zero ou 2 Se a lista for [Elem Cauda], a soma é a soma dos elementos da Cauda mais Elem % soma(+l,?s) (+L,-S) soma([],0) soma([elem Cauda],S):- soma(cauda,s1), S is S1+Elem Predicado Soma de Elementos Numéricos O que acontece se considerarmos o predicado abaixo? % soma(?l,+s) soma([],0) soma([elem Cauda],S):- S is S1+Elem, soma(cauda,s1) Prolog exige que S1 e Elem estejam instanciados e por isso ocorrerá um erro
5 Predicado N-ésimo Elemento de uma Lista 1 O primeiro elemento de uma lista é a cabeça ou 2 O n-ésimo elemento de uma lista é o (n-1)-ésimo elemento de sua cauda % n_esimo(?n,?e,+l) n_esimo(1,elem,[elem _]) n_esimo(n,elem,[_ Cauda]):- n_esimo(m,elem,cauda), N is M+1 Predicado Pegar elementos de uma Lista, dada a Lista de posições 1 Pegar nenhum elemento de uma lista é obter uma lista vazia ou 2 Seja a lista de posições [M N] e a lista de elementos L; pegar os elementos de L especificados na lista de posições significa pegar o M-ésimo elemento de L e os elementos especificados na cauda N da lista de posições % pegar(+lp,+le,?l) pegar([],_,[]) pegar([m N],L,):- n_esimo(m,x,l), pegar(n,l,y) Predicado de Concatenação (Exercício) Concatenar duas listas, formando uma terceira: 1 Se o primeiro argumento é a lista vazia, então o segundo e o terceiro argumentos devem ser o mesmo 2 Se o primeiro argumento é a lista não-vazia, então ela tem uma cabeça e uma cauda da forma [X L1], concatenar [X L1] com uma segunda lista L2 resulta na lista [X L3], onde L3 é a concatenação de L1 e L2 Predicado de Concatenação [X L1] X L1 L2 L3 X L3 [X L3] Exercícios 1 Definir uma nova versão do predicado último,que encontra o último elemento de uma lista, utilizando a concatenação de listas 2 Definir predicado penúltimo 3 Encontrar o comprimento de uma lista (Sugestão: A1 is A+1) 4 Retirar elementos de uma lista Slides baseados em: Bratko, I; Prolog Programming for Artificial Intelligence, 3rd Edition, Pearson Education, 2001 Clocksin, WF; Mellish, CS; Programming in Prolog, 5th Edition, Springer-Verlag, 2003 Programas Prolog para o Processamento de e Aplicações, Monard, MC & Nicoletti, MC, ICMC-USP, 1993 Material elaborado por José Augusto Baranauskas Adaptado por Huei Diana Lee
Listas em Prolog. Listas
Listas em Prolog Esta aula trata da estrutura de dados lista e programas Prolog para processamento de listas Inteligência Artificial 1 Listas Lista é uma das estruturas mais simples em Prolog, muito comum
UNIDADE ACADÊMICA: Faculdade de
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM SISTEMAS DE INFORMAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Programação Lógica ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GSI010 PERÍODO: 2
Listas em Haskell. Listas. Linguagem Haskell. Maria Adriana Vidigal de Lima. Faculdade de Computação - UFU. Setembro
em Haskell Linguagem Haskell Faculdade de Computação - UFU Setembro - 2009 em Haskell 1 em Haskell Noções sobre Construção de por Compreensão Funções Sobre Processamento de Fundamentos em Haskell Noções
Alfabeto, Cadeias, Operações e Linguagens
Linguagens de Programação e Compiladores - Aula 3 1 Alfabeto, Cadeias, Operações e Linguagens 1.Conjuntos Para representar um determinado conjunto é necessário buscar uma notação para representá-lo e ter
Aulas 10 e 11 / 18 e 20 de abril
1 Conjuntos Aulas 10 e 11 / 18 e 20 de abril Um conjunto é uma coleção de objetos. Estes objetos são chamados de elementos do conjunto. A única restrição é que em geral um mesmo elemento não pode contar
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
Capítulo 1: Alfabetos, cadeias, linguagens
Capítulo 1: Alfabetos, cadeias, linguagens Símbolos e alfabetos. Um alfabeto é, para os nossos fins, um conjunto finito não vazio cujos elementos são chamados de símbolos. Dessa maneira, os conceitos de
Matemática Básica Relações / Funções
Matemática Básica Relações / Funções 04 1. Relações (a) Produto cartesiano Dados dois conjuntos A e B, não vazios, denomina-se produto cartesiano de A por B ao conjunto A B cujos elementos são todos os
Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais
Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e
Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.
Variáveis e Entrada de Dados Marco André Lopes Mendes [email protected] [email protected] marcoandre.googlepages.com Algoritmos é a base Primeiro programa Este programa possui apenas uma
Veja exemplos de sequências finitas e infinitas: Sequência finita: (5, 7, 9, 11, 13, 15, 17, 19) Sequência infinita (3, 5, 7, 11, 13, 17,...
SEQUÊNCIAS NUMÉRICAS Sequência numérica é uma sequência ou sucessão que tem como contradomínio (conjunto de chegada) o conjunto dos números reais. As sequências numéricas podem ser finitas, quando é possível
Operações Fundamentais com Números
Capítulo 1 Operações Fundamentais com Números 1.1 QUATRO OPERAÇÕES Assim como na aritmética, quatro operações são fundamentais em álgebra: adição, subtração, multiplicação e divisão. Quando dois números
SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca
ÁRVORES SUMÁRIO Fundamentos Árvores Binárias Árvores Binárias de Busca 2 ÁRVORES Utilizadas em muitas aplicações Modelam uma hierarquia entre elementos árvore genealógica Diagrama hierárquico de uma organização
Conceitos de Linguagens de Programação
Conceitos de Linguagens de Programação Aula 09 Programação Funcional (Haskell) Edirlei Soares de Lima Programação Funcional A programação funcional modela um problema computacional
Listas Lineares Ordenadas
Listas Lineares Ordenadas Algoritmos e Estruturas de Dados I Nesta apresentação será apresentado o ADT lista linear ordenada Uma lista linear ordenada, ou simplesmente lista ordenada há uma ordem entre
Material Teórico - Módulo de Potenciação e Dízimas Periódicas. Números Irracionais e Reais. Oitavo Ano. Prof. Ulisses Lima Parente
Material Teórico - Módulo de Potenciação e Dízimas Periódicas Números Irracionais e Reais Oitavo Ano Prof. Ulisses Lima Parente 1 Os números irracionais Ao longo deste módulo, vimos que a representação
PARECER DOS RECURSOS
Associação Catarinense das Fundações Educacionais ACAFE PROCESSO SELETIVO ADMISSÃO DE PROFESSORES EM CARÁTER TEMPORÁRIO EDITAL Nº 15/ 2012/ SED PARECER DOS RECURSOS CARGO: Professor de Matemática 11) São
Curso destinado à preparação para Concursos Públicos e Aprimoramento Profissional via INTERNET RACIOCÍNIO LÓGICO AULA 05
RACIOCÍNIO LÓGICO AULA 05 NÚMEROS NATURAIS O sistema aceito, universalmente, e utilizado é o sistema decimal, e o registro é o indo-arábico. A contagem que fazemos: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, e assim
ESTRUTURA DE DADOS VETORES E LISTAS LINEARES
ESTRUTURA DE DADOS VETORES E LISTAS LINEARES Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer os vetores Compreender as Listas Sequenciais Implementar uma Lista Sequencial com Vetor GRUPOS? Até o fim
Pedro Vasconcelos DCC/FCUP. Programação Funcional 5 a Aula Definições recursivas
Programação Funcional 5 a Aula Definições recursivas Pedro Vasconcelos DCC/FCUP 2014 Definições usando outras funções Podemos definir funções usando outras previamente definidas (e.g. do prelúdio-padrão).
Notas de Aula Disciplina Matemática Tópico 03 Licenciatura em Matemática Osasco -2010
1. Funções : Definição Considere dois sub-conjuntos A e B do conjunto dos números reais. Uma função f: A B é uma regra que define uma relação entre os elementos de A e B, de tal forma que a cada elemento
INF1010 Lista de Exercícios 2
INF00 Lista de Exercícios 2 Árvores. Construir algoritmo para dada uma árvore n-ária, transformá-la em uma árvore binária. 2. Qual a maior e menor quantidade de nós que podem existir em uma árvore binária
Algoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I Prof. Daniel M. Martin ([email protected]) Aula 10 (Baseada nos slides do Prof. André Balan) Recursão Recursão Da wikipedia: A recursão é o processo pelo qual
Pedro Vasconcelos DCC/FCUP. Programação Funcional 14 a Aula Um verificador de tautologia
Programação Funcional 14 a Aula Um verificador de tautologias Pedro Vasconcelos DCC/FCUP 2014 Proposições lógicas Uma proposição lógica é construida apartir de: constantes T, F (verdade e falsidade) variáveis
Árvores. Algoritmos e Estruturas de Dados I. José Augusto Baranauskas Departamento de Física e Matemática FFCLRP-USP
Árvores lgoritmos e Estruturas de Dados I Nesta aula veremos conceitos e definições sobre árvores Diferentemente das estruturas de pilhas, filas e listas que são lineares, uma árvore é uma estrutura de
FUNDAMENTOS DA INFORMÁTICA. Sistemas de Numeração
FUNDAMENTOS DA INFORMÁTICA Sistemas de Numeração OBJETIVOS DA AULA Conhecer os sistemas de numeração antigos; Entender, compreender e usar um Sistema de Numeração; Relacionar os Sistemas de Numeração com
Lógica Proposicional Fórmulas e Precedência de Operadores
Lógica Proposicional Fórmulas e Precedência de Operadores Prof. Marcos A. Schreiner Disciplina de Introdução à Lógica 23 de março de 2015 Prof. Marcos A. Schreiner (UFPR) 23 de março de 2015 1 / 18 1 Introdução
INTRODUÇÃO À TEORIA DOS CONJUNTOS1
INTRODUÇÃO À TEORIA DOS CONJUNTOS1 TÓPICO Gil da Costa Marques 1.1 Elementos da Teoria dos Conjuntos 1.2 Introdução 1.3 Conceitos Básicos 1.4 Subconjuntos e Intervalos 1.5 Conjuntos Numéricos 1.5.1 O Conjunto
Textos de apoio às aulas práticas. Jaime Ramos, Francisco Miguel Dionísio
Computação e Programação Textos de apoio às aulas práticas Jaime Ramos, Francisco Miguel Dionísio DMIST, Dezembro de 2010 Parte I MATLAB 1 Capítulo 1 Exercícios preliminares 1. Defina a função conta divisores
Programação Funcional Aulas 5 & 6
Programação Funcional Aulas 5 & 6 Sandra Alves DCC/FCUP 2016/17 Definições usando outras funções Podemos definir funções usando outras previamente definidas (por exemplo: do prelúdio-padrão). Exemplo:
Programação: Vetores
Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia
Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k
Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material de Fernanda Passos
Lista de Figuras Figura 1 1: Figura 1 2: Figura 1 3: Figura 1 4: Figura 1 5: Figura 1 6: Figura 1 7: Figura 2 1: Figura 2 2: Figura 2 3: Figura 2 4:
Lista de Figuras Figura 1 1: Diagrama de Funcionamento do Laço while 34 Figura 1 2: Diagrama de Funcionamento do Laço do-while 35 Figura 1 3: Diagrama de Funcionamento do Laço for 36 Figura 1 4: Diagrama
CÁLCULO I. 1 Número Reais. Objetivos da Aula
CÁLCULO I Prof. Edilson Neri Júnior Prof. André Almeida EMENTA: Conceitos introdutórios de limite, limites trigonométricos, funções contínuas, derivada e aplicações. Noções introdutórias sobre a integral
DEPARTAMENTO DE MATEMÁTICA E INFORMÁTICA DISCIPLINA: Matemática (8º Ano) METAS CURRICULARES/CONTEÚDOS ANO LETIVO 2016/
DEPARTAMENTO DE MATEMÁTICA E INFORMÁTICA DISCIPLINA: Matemática (8º Ano) METAS CURRICULARES/CONTEÚDOS ANO LETIVO 2016/2017... 1º Período Metas/ Objetivos Conceitos/ Conteúdos Aulas Previstas Geometria
Conjunto Quociente e Classe de Equivalência (Alguns Exemplos e Definições)
Exemplos Definições Conjunto Quociente e Classe de Equivalência (Alguns Exemplos e Definições) Matemática Elementar - EAD Departamento de Matemática Universidade Federal da Paraíba 4 de setembro de 2014
MATEMÁTICA AULA 4 ÁLGEBRA CONJUNTOS. Conjunto é um conceito primitivo, e portanto, não tem definição.
1 - Conceito de Conjunto MATEMÁTICA AULA 4 ÁLGEBRA CONJUNTOS Conjunto é um conceito primitivo, e portanto, não tem definição. Representação O conjunto pode ser representado de três maneiras diferentes:
Conceitos Básicos. Vocabulário Cadeias Linguagens Problema
Conceitos Básicos Vocabulário Cadeias Linguagens Problema Alfabeto ou Vocabulário: Conjunto finito não vazio de símbolos. Símbolo é um elemento qualquer de um alfabeto. Ex: {A,B,C,.Z} alfabeto latino (maiúsculas)
Pedro Vasconcelos DCC/FCUP. Programação Funcional 8 a Aula Listas infinitas
Programação Funcional 8 a Aula Listas infinitas Pedro Vasconcelos DCC/FCUP 2014 Listas infinitas Podemos usar listas para sequências finitas, por ex.: [1,2,3,4] = 1:2:3:4:[] Nesta aula vamos ver que podemos
Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática
Linguagens Formais Aula 01 - Conceitos Básicos Prof. Othon Batista Mestre em Informática Sumário Introdução à Linguagem Alfabeto Cadeias de Símbolos, Palavras Tamanho de Palavra Prefixo, Sufixo ou Subpalavra
Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000)
Teoria da Computação Referência Teoria da Computação (Divério, 2000) 1 L={(0,1)*00} de forma que você pode usar uma Máquina de Turing que não altera os símbolos da fita e sempre move a direita. MT_(0,1)*00=({0,1},{q
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Prof.ª Danielle Casillo Proposta por Alan Turing em 1936; É universalmente conhecida e aceita como formalização de algoritmo; Teoria
DAINF - Departamento de Informática
DAINF - Departamento de Informática Algoritmos 2 - Árvore binária de busca Prof. Alex Kutzke ( http://alex.kutzke.com.br/courses ) 30 de Novembro de 2015 Slides adaptados do material produzido pelo Prof.
C.N.C. Programação Torno
C.N.C. Programação Torno Módulo I Aula 04 Plano Cartesiano Coordenadas Absolutas e Incrementais A reta numérica Um exemplo de reta numérica, com alguns números representados nela. Observe as distâncias
Trabalho Prático 2 Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas
Disciplina: Algoritmos e Estrutura de Dados I CIC / 9 Trabalho Prático Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas Valor:,5 pontos (5% da nota total) Documentação não-latex: -, pontos Impressão
Linguagens Formais e Autômatos
Linguagens Formais e Autômatos Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Introdução Problema: definir um conjunto de cadeias de símbolos; Prof. Yandre Maldonado - 2 Exemplo: conjunto
Teoria dos Grafos AULA 2
Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada [email protected], [email protected] AULA 2 Subgrafos, Operações com Grafos Preparado a partir
Números de Fibonacci. f n = f n 1 + f n 2. A condição inicial é de que há um par no primeiro mês e dois pares no segundo mês: f 1 = 1, f 2 = 2
Números de Fibonacci Leonardo Pisano Fibonacci nasceu por volta de 1170 e morreu por volta de 1250 em Pisa, atualmente pertencente à Itália. Durante sua vida ele viajou pela Europa e pelo Norte da África,
Teoria das Linguagens. Linguagens Formais e Autómatos (Linguagens)
Teoria das Lic. em Ciências da Computação Formais e Autómatos () Carla Mendes Dep. Matemática e Aplicações Universidade do Minho 2010/2011 Teoria das - LCC - 2010/2011 Dep. Matemática e Aplicações - Univ.
Teoria dos Grafos Aula 2
Teoria dos Grafos Aula 2 Aula passada Logística, regras Objetivos Grafos, o que são? Formando pares Encontrando caminhos Aula de hoje Outro problema real Definições importantes Algumas propriedades Grafo
Introdução à Informática
Introdução à Informática Sistemas Numéricos Ageu Pacheco e Alexandre Meslin Objetivo da Aula: Partindo da base, ver como operações aritméticas são efetuadas em outras bases; em especial a 2. Adição na
Linguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação - P. Blauth Menezes
Listas de Prioridade. Fonte de consulta: Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC.
Listas de Prioridade Fonte de consulta: Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC. Capítulo 6 Prioridade } Algumas aplicações precisam recuperar rapidamente um dado
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Prof.ª Danielle Casillo NORMA (NumberTheOreticRegisterMAchine) Possui como memória um conjunto infinito de registradores naturais e
Programação Lógica. A Linguagem Prolog. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia
Programação Lógica A Linguagem Prolog Paulo Henrique Ribeiro Gabriel [email protected] Faculdade de Computação Universidade Federal de Uberlândia 21 de agosto de 2015 Paulo H. R. Gabriel (FACOM/UFU) Programação
DISCIPLINA: MATEMÁTICA BÁSICA PROF. ELIONARDO ROCHELLY TEC. ALIMENTOS TEC. SISTEMAS INTERNET MATUTINO/VESPERTINO
DISCIPLINA: MATEMÁTICA BÁSICA PROF. ELIONARDO ROCHELLY TEC. ALIMENTOS TEC. SISTEMAS INTERNET MATUTINO/VESPERTINO Conjuntos A noção de conjunto em Matemática é praticamente a mesma utilizada na linguagem
Introdução à Programação Prolog (Tutorial) Introdução. Programação Lógica. Programação em Prolog. Programação Lógica. Definindo Relações por Fatos
Introdução à Programação Prolog (Tutorial) Inteligência Artificial Nesta aula são introduzidos conceitos básicos da linguagem de programação lógica Prolog Os conceitos são introduzidos através de um tutorial
Algoritmo. Conjunto finito de instruções que permitem a realização de uma tarefa. 2.1: Introdução 2. ALGORITMOS
2 - Algoritmo 2.1: Introdução 2. ALGORITMOS Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Antes de se utilizar uma linguagem de computador,
Linguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior.
LFA Aula 02 Linguagens regulares - introdução 28/09/2015 Celso Olivete Júnior [email protected] 1 Na aula passada... Visão geral Linguagens regulares expressões regulares autômatos finitos gramáticas
CAMINHOS DE RECOBRIMENTO QUE NÃO SE CRUZAM EM UMA REDE QUADRANGULAR 3 X 3 E 4 X 4
CAMINHOS DE RECOBRIMENTO QUE NÃO SE CRUZAM EM UMA REDE QUADRANGULAR 3 X 3 E 4 X 4 Grupo Geoplano de Estudo e Pesquisa GGEP 1 Resumo Na presente comunicação o Grupo Geoplano de Estudo e Pesquisa, GGEP,
2 - Conjunto: conceito primitivo; não necessita, portanto, de definição. Exemplo: conjunto dos números pares positivos: P = {2,4,6,8,10,12,... }.
ASSUNTO DE MATEMATICA=CONJUNTOS REAIS E ETC. 2 - Conjunto: conceito primitivo; não necessita, portanto, de definição. Exemplo: conjunto dos números pares positivos: P = {2,4,6,8,10,12,... }. Esta forma
1 Conjuntos, Números e Demonstrações
1 Conjuntos, Números e Demonstrações Definição 1. Um conjunto é qualquer coleção bem especificada de elementos. Para qualquer conjunto A, escrevemos a A para indicar que a é um elemento de A e a / A para
Professor conteudista: Renato Zanini
Matemática Professor conteudista: Renato Zanini Sumário Matemática Unidade I 1 OS NÚMEROS REAIS: REPRESENTAÇÕES E OPERAÇÕES... EXPRESSÕES LITERAIS E SUAS OPERAÇÕES...6 3 RESOLVENDO EQUAÇÕES...7 4 RESOLVENDO
AGRUPAMENTO de ESCOLAS Nº1 de SANTIAGO do CACÉM Ano Letivo 2013/2014 PLANIFICAÇÃO ANUAL
AGRUPAMENTO de ESCOLAS Nº1 de SANTIAGO do CACÉM Ano Letivo 2013/2014 PLANIFICAÇÃO ANUAL Documento(s) Orientador(es): Programa e Metas de Aprendizagem e manual adoptado 3º CICLO MATEMÁTICA 7ºANO TEMAS/DOMÍNIOS
Aula 19 Conjuntos disjuntos (Union-find)
MC3305 Algoritmos e Estruturas de Dados II Aula 19 Conjuntos disjuntos (Union-find) Prof. Jesús P. Mena-Chalco [email protected] 2Q-2015 1 Números de Ackermann 2 3 Ackermann A função de Ackermann
Pontifícia Universidade Católica do Rio de Janeiro / PUC-Rio Departamento de Engenharia Mecânica. ENG1705 Dinâmica de Corpos Rígidos.
Pontifícia Universidade Católica do Rio de Janeiro / PUC-Rio Departamento de Engenharia Mecânica ENG1705 Dinâmica de Corpos Rígidos (Período: 2016.1) Notas de Aula Capítulo 1: VETORES Ivan Menezes [email protected]
Pseudolinguagem. BC0501 Linguagens de Programação t2 Aula 11. Prof. Alysson Ferrari ufabc.edu.br
BC0501 Linguagens de Programação - 2008t2 Aula 11 Pseudolinguagem Prof. Alysson Ferrari alysson.ferrari @ ufabc.edu.br http://fma.if.usp.br/~alysson baseado em material elaborado por: Marcelo Zanchetta
Módulo de Números Naturais. Divisibilidade e Teorema da Divisão Euclideana. 8 ano E.F.
Módulo de Números Naturais. Divisibilidade e Teorema da Divisão Euclideana. 8 ano E.F. Módulo de Números Naturais. Divisibilidade e Teorema da Divisão Euclideana. 1 Exercícios Introdutórios Exercício 1.
Escola E.B. 2, 3 de Quarteira nº2 Teste de avaliação - Matemática
http://web.educom.pt/spedromar/moodle/ Escola E.B. 2, 3 de Quarteira nº2 Teste de avaliação - Matemática 9º Ano Turma Versão 2 Data: Setembro - 2008 Nome:. Nº: Enc. de Educação: Classificação:... Professora:.
Matemática em Libras. Parte 4 Quatro operações. Professora Surda Zanúbia Dada
Matemática em Libras Parte 4 Quatro operações Professora Surda Zanúbia Dada Campo Grande - MS 2015 Quatro Operações Profª Surda Zanúbia Dada 1 Ensinando os alunos surdos como fazer adição 4 + 5 = 9 6 +
Conceitos Básicos. Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem
Conceitos Básicos Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem Alfabeto ou Vocabulário: Conjunto finito não vazio de símbolos. Símbolo é um elemento qualquer de um alfabeto.
Análise de Sinais e Sistemas
Universidade Federal da Paraíba Departamento de Engenharia Elétrica Análise de Sinais e Sistemas Luciana Ribeiro Veloso [email protected] ANÁLISE DE SINAIS E SISTEMAS Ementa: Sinais contínuos
Linguagens de Programação Funcional
Linguagens de Programação Funcional Conceitos de Linguagens de Programação Pedro Libório Setembro de 2013 2 Roteiro Introdução Funções matemáticas Fundamentos das linguagens de programação funcionais A
Exercícios Obrigatórios
Exercícios Obrigatórios 1) (UFRGS/2015) Para fazer a aposta mínima na mega sena uma pessoa deve escolher 6 números diferentes em um cartão de apostas que contém os números de 1 a 60. Uma pessoa escolheu
Linguagens Formais e Autômatos 02/2016. LFA Aula 01 24/10/2016. Celso Olivete Júnior.
LFA Aula 01 Apresentação 24/10/2016 Celso Olivete Júnior [email protected] 1 Professor Celso Olivete Júnior Bacharelado em Ciência da Computação (Unoeste-2002) Mestrado e Doutorado em Engenharia Elétrica
Aula 5. Mapas de Karnaugh. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira
Aula 5 Mapas de Karnaugh EL 44 - istemas Digitais Prof. Dr. Marcelo Andrade da Costa Vieira . Mapa de KARNAUGH ou Mapa K l É uma exposição visual de produtos fundamentais necessários para um solução de
LINGUAGENS FORMAIS E AUTÔMATOS
LINGUGENS FORMIS E UTÔMTOS Introdução reve Histórico Em 1936, lan Turing (matemático) propôs a possibilidade de se construir um computador digital através da formalização de um procedimento em tempo finito.
Linguagens Regulares. Prof. Daniel Oliveira
Linguagens Regulares Prof. Daniel Oliveira Linguagens Regulares Linguagens Regulares ou Tipo 3 Hierarquia de Chomsky Linguagens Regulares Aborda-se os seguintes formalismos: Autômatos Finitos Expressões
Working 03 : Conceitos Básicos II
Universidade Federal do Espirito Santo Centro Tecnologico Working 03 : Conceitos Básicos II Objetivos: Dominar a construção de estruturas de seleção em C; Aperfeiçoarse na resolução de problemas, da primeira
Tipos Algébricos. Programação Funcional. Capítulo 11. José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto
Programação Funcional Capítulo 11 Tipos Algébricos José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2012.1 1/33 1 Tipos Algébricos 2/33 Tópicos 1 Tipos Algébricos 3/33
BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35
BCC 201 - Introdução à Programação Portugol Guillermo Cámara-Chávez UFOP 1/35 Introdução I Lógica A lógica é usada no dia a dia das pessoas que trabalham com computação para solucionar problemas de forma
Anatomia do motor de um programa de xadrez. Hugo Vinicius M. D. Santana Orientador: José Coelho de Pina
Anatomia do motor de um programa de xadrez Hugo Vinicius M. D. Santana Orientador: José Coelho de Pina Conteúdo Objetivo O que é um motor de xadrez? Arquitetura Entrada e saída Representação do tabuleiro
Pedro Vasconcelos DCC/FCUP. Programação Funcional 13 a Aula Definição de tipos
Programação Funcional 13 a Aula Definição de tipos Pedro Vasconcelos DCC/FCUP 2014 Declarações de sinónimos Podemos dar um nome novo a um tipo existente usando uma declaração de sinónimo. Exemplo (do prelúdio-padrão):
INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA
INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/30 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)
Linguagem Haskell. Riocemar S. de Santana
Linguagem Haskell Riocemar S. de Santana Haskell, o que é? É uma linguagem de programação puramente funcional, de propósito geral. Nomeada em homenagem ao matemático americano Haskell B. Curry (1900 1982).
Ordenação Externa. Ordenação Externa. Ordenação Externa. Ordenação Externa
Ordenação Externa Ordenação Externa Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação
INTRODUÇÃO À TEORIA DOS CONJUNTOS
1 INTRODUÇÃO À TEORIA DOS CONJUNTOS Gil da Costa Marques 1.1 Introdução 1.2 Conceitos básicos 1.3 Subconjuntos e intervalos 1.4 O conjunto dos números reais 1.4.1 A relação de ordem em 1.5 Intervalos 1.5.1
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO TEORIA DA COMPUTAÇÃO Aula 03 Programas (Monolítico e Iterativo) Prof.ª Danielle Casillo Programas, Máquinas e Computações Diferentes
Programação Aplicada à Engenharia
Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Programação Aplicada à Engenharia Aula 03: Algoritmos Silvio Fernandes 2009.1 1 Algoritmos Em uma receita de bolo, descrevem-se
Linguagens Formais e Autômatos (LFA)
Linguagens Formais e Autômatos (LFA) Aula de 19/08/2013 Símbolos, Cadeias, Linguagens Propriedades e Representações Formais de Interesse 1 Nota preliminar ( O conceito de decomposição e suas representações
INE Fundamentos de Matemática Discreta para a Computação
INE5403 - Fundamentos de Matemática Discreta para a Computação ) Fundamentos.1) Conjuntos e Sub-conjuntos.) Números Inteiros.3) Funções.4) Seqüências e Somas.5) Crescimento de Funções Seqüências Uma seqüência
8.º Ano. Planificação Matemática 16/17. Escola Básica Integrada de Fragoso 8.º Ano
8.º Ano Planificação Matemática 16/17 Escola Básica Integrada de Fragoso 8.º Ano Geometria e medida Números e Operações Domínio Subdomínio Conteúdos Objetivos gerais / Metas Dízimas finitas e infinitas
ESCOLA E B 2,3/S MIGUEL LEITÃO DE ANDRADA - AGRUPAMENTO DE ESCOLAS DE PEDRÓGÃO GRANDE DEPARTAMENTO DAS CIÊNCIAS EXATAS 2015/2016
ESCOLA E B 2,3/S MIGUEL LEITÃO DE ANDRADA - AGRUPAMENTO DE ESCOLAS DE PEDRÓGÃO GRANDE DEPARTAMENTO DAS CIÊNCIAS EXATAS 2015/2016 PLANIFICAÇÃO DE MATEMÁTICA 7ºANO 1º Período 2º Período 3º Período Apresentação,
Teoria da Computação. Unidade 1 Conceitos Básicos. Referência Teoria da Computação (Divério, 2000)
Unidade 1 Conceitos Básicos Referência (Divério, 2000) Conceitos Básicos Linguagem Conceito fundamental Forma precisa de expressar problemas Permite um desenvolvimento formal adequado ao estudo da computabilidade
Interpolação polinomial: Diferenças divididas de Newton
Interpolação polinomial: Diferenças divididas de Newton Marina Andretta ICMC-USP 16 de maio de 2012 Baseado no livro Análise Numérica, de R. L. Burden e J. D. Faires. Marina Andretta (ICMC-USP) sme0500
