Tipos Indutivos & Recursão (Primitiva)

Tamanho: px
Começar a partir da página:

Download "Tipos Indutivos & Recursão (Primitiva)"

Transcrição

1 Alfio Martini Clube de Lógica em Ciência da Computação Faculdade de Informática - PUCRS 2 de setembro de 2013

2 Sumário Objetivos Gerais 1 Objetivos Gerais 2 3 Funções Primitivas Recursivas sobre 4

3 Sumário Objetivos Gerais 1 Objetivos Gerais 2 3 Funções Primitivas Recursivas sobre 4

4 Objetivos Apresentar os princípios gerais que envolvem construções indutivas de tipos de dados: Princípio geral destas definições (Construtores) Definições de funções totais por recursão primitiva Esquema de indução para prova de propriedades

5 Sumário 1 Objetivos Gerais 2 3 Funções Primitivas Recursivas sobre 4

6 :Idéia Geral Uma definição indutiva de um conjunto S consiste sempre dos seguintes passos: Base Listar alguns elementos específicos (constantes) de S. Pelo menos um elemento deve ser listado. Indução Definir uma ou mais regras para a construção de novos elementos de S a partir dos elementos já existentes. Fecho Declarar que S consiste exatamente dos elementos produzidos pelos passos da base e indução.

7 Construtores de Dados Os construtores de um conjunto indutivo S são todos elementos listados no passo da base juntamente com todas as regras apresentadas no passo da indução.

8 Indutiva dos Naturais Os elementos do conjunto indutivo Nat são todos os valores gerados pelas seguintes regras: zero Nat NatZero x Nat suc x Nat NatSuc Nat é isomórfico à N, onde N = {0, 1, 2,...} suc : Nat Nat e zero : Nat (operadores)

9 Uma outra definição de Nat [NatZero] zero Nat. [NatSuc] Se x Nat, então suc x Nat. [Fecho] Nada mais está em Nat.

10 Linguagem Nat Termos zero suc zero suc (suc zero) suc (suc (suc zero)). suc k zero (k N).

11 Uma Gramática para Nat N : Nat ::= zero suc N (N Nat)

12 Naturais: Princípio de Indução Princípio de Indução Cada elemento em Nat tem a seguinte forma: zero Suc k, k Nat

13 Regra de Indução para Nat Conjunto Indutivo Nat x 0 : Nat, P(x 0 ). P zero. P(suc x 0 ) n : Nat.P n (x 0 arbitrária) IndNat

14 Indutiva de ListEmpty nil List(A) h A T List(A) ListCons h T List(A)

15 Linguagem List(A) Termos List(A) List(N) List(Nat) nil nil nil x nil 5 nil (suc zero) nil a b nil 2 0 nil zero (suc 3 zero)nil...

16 Uma Gramática para List(A) L : List(A) ::= nil h L (h A, L List(A))

17 : Princípio de Indução Princípio de Indução Cada elemento em List(A) tem a seguinte forma: nil h T, h A, T List(A)

18 Regra de Indução para List(A) Conjunto Indutivo List(A) e 0 : A, l 0 : List(A), P l 0. P nil. P (e 0 l 0 ) l : List(A). P l (e 0, l 0 arbitrárias) IndList

19 Indutiva da Lógica Proposicional Exercício...

20 Sumário Objetivos Gerais Funções Primitivas Recursivas sobre 1 Objetivos Gerais 2 3 Funções Primitivas Recursivas sobre 4

21 Funções Primitivas Recursivas sobre Funções Primitivas Recursivas: Visão Geral Idéia Geral Dada uma definição de um conjunto indutivo S, f : S... S S é definida por recursão da seguinte forma: Escolher um dos argumentos (posições) de entrada de S e, neste argumento: definir f para cada elemento do conjunto base (constantes) definir f para cada um dos construtores restantes (regras de construção)

22 Funções Computáveis (FC) Funções Primitivas Recursivas sobre Funções Recursivas (FR) A classe de FC é a classe de FR (Church) Classe FR primitivas é uma subclasse das FR FR Primitivas são todas funções TOTAIS

23 FR Primitivas Objetivos Gerais Funções Primitivas Recursivas sobre Construção Funções Básicas (zero, sucessor e projeções) Regra da Composição (Substituição) Regra da

24 Classe de Funções Primitivas Recursivas Funções Primitivas Recursivas sobre Funções Básicas A classe de funções primitivas recursivas sobre os números naturais N é definida pelas seguintes regras: Função Constante: a função constante zero z(x) = 0 é primitiva recursiva. Função Sucessor: a função sucessor Suc(x) = x + 1 é primitiva recursiva. Função de Projeção: para todo n 1 e 1 i n, a função n-ária de projeção Pi n que retorna o i-ésimo argumento, é primitiva recursiva. P n i (x 1,..., x n) = x i

25 Classe de Funções Primitivas Recursivas Funções Primitivas Recursivas sobre Regra de Composição f (x 1,..., x k ) y 1 = g 1(z 1,..., z m). y k = g k (z 1,..., z m) h(z 1,..., z m) = f (y 1,..., y k ) = f (g 1(z 1,..., z m),..., g k (z 1,..., z m)) h = Cn[f, g 1,..., g k ]

26 Classe de Funções Primitivas Recursivas Funções Primitivas Recursivas sobre h(x, 0) = f (x) h(x, Suc(y)) = g(x, y, h(x, y)) h = Pr[f, g]

27 Classe de Funções Primitivas Recursivas Funções Primitivas Recursivas sobre (Adição) x + 0 = x x + Suc(y) = Suc(x + y) sum(x, 0) = x sum(x, 0) = P 1 1 (x) sum(x, Suc(y)) = Suc(sum(x, y)) sum(x, Suc(y)) = Suc(P 3 3 (x, y, sum(x, y))) = Cn[Suc, P 3 3 ](x, y, sum(x, y)) sum Pr[P 1 1, Cn[Suc, P 3 3 ]]

28 Uma bijeção entre Nat e N Funções Primitivas Recursivas sobre Nat2nat : Nat N, onde Nat2nat zero = 0 Nat2nat (suc x) = Suc (Nat2nat x) (Nat2nat01) (Nat2nat02) 0 N Suc : N N tal que Suc x x + 1

29 Adição em Nat Objetivos Gerais Funções Primitivas Recursivas sobre add : Nat Nat Nat, onde add x 0 = x add x (suc y) = suc (add x y) (add01) (add02)

30 Concatenação em Funções Primitivas Recursivas sobre cat : List(A) List(A) List(A), onde cat nil l = l cat (h T ) l = h (cat T l) (cat01) (cat02)

31 Comprimento de Funções Primitivas Recursivas sobre length : List(A) N, onde length nil = 0 length (h T ) = (length T ) + 1 (len01) (len02)

32 Teoremas sobre add Objetivos Gerais Funções Primitivas Recursivas sobre x : Nat. y : Nat. z : Nat.add x (add y z) = add (add x y) z x : Nat. y : Nat.add x y = add y x x : Nat.add(Z, x) = x x : Nat. y : Nat.add x (suc y) = add (suc x) y) x : Nat. y : Nat.add (suc x) y) = suc (add x y) Th-add-01 Th-add-02 Th-add-03 Th-add-04 Th-add-05

33 (A) Funções Primitivas Recursivas sobre l 1 : List(A). l 2 : List(A). l 3 : List(A). cat l 1 (cat l 2 l 3 ) = cat (cat l 1 l 2 ) l 3 l 1 : List(A). l 2 : List(A).len (cat l 1 l 2 ) = add (len l 1 ) (len l 2 ) l : List(A).cat l nil = l l : List(A).rev (rev l) = l l 1 : List(A). l 2 : List(A). rev (cat l 1 l 2 ) = cat (rev l 2 ) (rev l 1 )) Th-cat-01 Th-cat-02 Th-cat-03 Th-rev-01 Th-rev-02

34 Sumário Objetivos Gerais 1 Objetivos Gerais 2 3 Funções Primitivas Recursivas sobre 4

35 Objetivos Gerais Tipos Indutivos são definidos por Construtores Tipos Indutivos podem ser equipados com Funções Funções são definidas por Tipos Indutivos + Funções = (Abstract) Datatypes Provas por Indução e definições de Funções são feitas sobre os Construtores do Tipo.

Nelma Moreira. Departamento de Ciência de Computadores da FCUP. Aula 17

Nelma Moreira. Departamento de Ciência de Computadores da FCUP. Aula 17 Fundamentos de Linguagens de Programação Nelma Moreira Departamento de Ciência de Computadores da FCUP Fundamentos de Linguagens de Programação Aula 17 Nelma Moreira (DCC-FC) Fundamentos de Linguagens

Leia mais

Matemática Discreta para Ciência da Computação

Matemática Discreta para Ciência da Computação Matemática Discreta para Ciência da Computação P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação

Leia mais

A integral também é conhecida como antiderivada. Uma definição também conhecida para integral indefinida é:

A integral também é conhecida como antiderivada. Uma definição também conhecida para integral indefinida é: Integral Origem: Wikipédia, a enciclopédia livre. No cálculo, a integral de uma função foi criada para originalmente determinar a área sob uma curva no plano cartesiano e também surge naturalmente em dezenas

Leia mais

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário

Leia mais

Estruturas Discretas INF 1631

Estruturas Discretas INF 1631 Estruturas Discretas INF 1631 Thibaut Vidal Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro Rua Marquês de São Vicente, 225 - Gávea, Rio de Janeiro - RJ, 22451-900, Brazil

Leia mais

Renata de Freitas e Petrucio Viana. IME, UFF 12 de março de 2015

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

Leia mais

Fundamentos de Matemática

Fundamentos de Matemática Fundamentos de Matemática Elaine Gouvêa Pimentel 12 de março de 2008 Resumo O presente texto visa descrever alguns aspectos da fundamentação da matemática, mostrando, a partir de uma visão histórica, como

Leia mais

Teoria da Computação I

Teoria da Computação I Licenciatura em Engenharia Informática e Computação João Mendes Moreira João Falcão e Cunha Teoria da Computação I 3º Ano 2001-2002 1ª Aula Prática Implementação de Funções Simples na Máquina URM 1.1.

Leia mais

Universidade Estadual de Santa Cruz. Departamento de Ciências Exatas e Tecnológicas. Especialização em Matemática. Disciplina: Estruturas Algébricas

Universidade Estadual de Santa Cruz. Departamento de Ciências Exatas e Tecnológicas. Especialização em Matemática. Disciplina: Estruturas Algébricas 1 Universidade Estadual de Santa Cruz Departamento de Ciências Exatas e Tecnológicas Especialização em Matemática Disciplina: Estruturas Algébricas Profs.: Elisangela S. Farias e Sérgio Motta Operações

Leia mais

Lista n 0 1 de Exercícios de Teoria da Computação

Lista n 0 1 de Exercícios de Teoria da Computação Lista n 0 1 de Exercícios de Teoria da Computação UFU-Curso de Bacharelado em Ciência da Computação - 7 0 período Profa. Sandra de Amo Exercícios de Revisão : Autômatos e Gramáticas 1. Mostre que a linguagem

Leia mais

Curso de C para Engenharias

Curso de C para Engenharias Aula 4 Cristiano Dalbem Dennis Balreira Gabriel Moreira Miller Biazus Raphael Lupchinski Universidade Federal do Rio Grande do Sul Instituto de Informática Grupo PET Computação Sintaxe Funções Exemplos

Leia mais

Acumuladores. Paradigma de Programação Funcional. Marco A L Barbosa

Acumuladores. Paradigma de Programação Funcional. Marco A L Barbosa Acumuladores Paradigma de Programação Funcional Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-func

Leia mais

Unidade IV: Ponteiros, Referências e Arrays

Unidade IV: Ponteiros, Referências e Arrays Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática

Leia mais

Lógica Computacional 117366. 2 Descrição do Projeto

Lógica Computacional 117366. 2 Descrição do Projeto Lógica Computacional 117366 Descrição do Projeto Formalização de Algoritmos para Ordenação com Heaps 24 de setembro de 2015 Prof. Mauricio Ayala-Rincón Prof. Flávio L. C. de Moura A estagiária de docência

Leia mais

Segunda Prova de Análise e otimização de Código - DCC888 -

Segunda Prova de Análise e otimização de Código - DCC888 - Segunda Prova de Análise e otimização de Código - DCC888 - Ciência da Computação Nome: Eu dou minha palavra de honra que não trapacearei neste exame. Número de matrícula: As regras do jogo: A prova é sem

Leia mais

MATEMÁTICA I AULA 07: TESTES PARA EXTREMOS LOCAIS, CONVEXIDADE, CONCAVIDADE E GRÁFICO TÓPICO 02: CONVEXIDADE, CONCAVIDADE E GRÁFICO Este tópico tem o objetivo de mostrar como a derivada pode ser usada

Leia mais

Lógica Computacional

Lógica Computacional Aula Teórica 3: Sintaxe da Lógica Proposicional António Ravara Simão Melo de Sousa Departamento de Informática, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa Departamento de Informática,

Leia mais

Exercícios de Teoria da Computação Autómatos finitos não deterministas

Exercícios de Teoria da Computação Autómatos finitos não deterministas Licenciatura em Engenharia Informática e de Computadores - LEIC Licenciatura em Engenharia de Redes de Comunicações - LERC Exercícios de Teoria da Computação Autómatos finitos não deterministas Secção

Leia mais

Ensino Fundamental II

Ensino Fundamental II Horário 2015 6º Ano A 07h15 REDAÇÃO INGLÊS CIÊNCIAS 08h05 ARTE INGLÊS CIÊNCIAS 08h55 10h05 10h55 CIÊNCIAS 11h45 INFORMÁTICA CIÊNCIAS Horário 2015 6º Ano B 07h15 INGLÊS ARTE CIÊNCIAS CIÊNCIAS 08h05 INGLÊS

Leia mais

ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa

ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa ARQUITETURA DE COMPUTADORES 1 Rogério Spindula Rosa 2 EXECUÇÃO DE PROGRAMAS PROGRAMA 3 4 INTRODUÇÃO Hoje é raro escrever um programa diretamente em linguagem de computador em virtude da enorme dificuldade

Leia mais

Algoritmo e Programação

Algoritmo e Programação Algoritmo e Programação Professor: José Valentim dos Santos Filho Colegiado: Engenharia da Computação Prof.: José Valentim dos Santos Filho 1 Ementa Noções básicas de algoritmo; Construções básicas: operadores,

Leia mais

Linguagens de Programação. Programação Funcional e Haskell Declarando Tipos Thiago Alves

Linguagens de Programação. Programação Funcional e Haskell Declarando Tipos Thiago Alves Linguagens de Programação Programação Funcional e Haskell Declarando Tipos Thiago Alves 1 Declarações de Tipos Em Haskell, um novo nome para um tipo existente pode ser definido usando uma declaração de

Leia mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

Introdução à Programação

Introdução à Programação Aula Teórica 1b: variáveis e tipo de dados em C Departamento de Informática, UBI Variáveis: conceito e pratica Variáveis e linguagens de programação A memoria A majoria dos linguagens de programação são

Leia mais

Teoria da Computação - Programação OCaml Ficha de exercícios

Teoria da Computação - Programação OCaml Ficha de exercícios Teoria da Computação - Programação OCaml Ficha de exercícios Simão Melo de Sousa Em parte, estes exercícios baseam-se nas fichas práticas retiradas do site OCaml Hump 1 Aritmética Exercício 1 (Fibbonacci)

Leia mais

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo. Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto

Leia mais

LIMITES e CONTINUIDADE de FUNÇÕES. : R R + o x x

LIMITES e CONTINUIDADE de FUNÇÕES. : R R + o x x LIMITES e CONTINUIDADE de FUNÇÕES Noções prévias 1. Valor absoluto de um número real: Chama-se valor absoluto ou módulo de um número real ao número x tal que: x se x 0 x = x se x < 0 Está assim denida

Leia mais

PLANO DE ENSINO. Período/ Fase: 1º Semestre: 1º Ano: 2011 Disciplina: Programação de Computadores I (PGC21) Carga Horária: 72 horas/aula

PLANO DE ENSINO. Período/ Fase: 1º Semestre: 1º Ano: 2011 Disciplina: Programação de Computadores I (PGC21) Carga Horária: 72 horas/aula PLANO DE ENSINO 1. DADOS DE IDENTIFICAÇÃO Instituição: Universidade Alto Vale do Rio do Peixe Curso: Sistemas de Informação Professores: Carlos Alberto Zorzo zorzo@uniarp.edu.br Período/ Fase: 1º Semestre:

Leia mais

Orientação a Objetos

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.

Leia mais

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código } Este documento tem o objetivo de demonstrar os comandos e sintaxes básicas da linguagem Java. 1. Alguns passos para criar programas em Java As primeiras coisas que devem ser abordadas para começar a desenvolver

Leia mais

ALP Algoritmos e Programação. . Linguagens para Computadores

ALP Algoritmos e Programação. . Linguagens para Computadores ALP Algoritmos e Programação Iniciação aos computadores. Linguagens para Computadores. Compiladores, Interpretadores. Ambientes de Programação 1 Linguagens para Computadores. Linguagem binária: Dispositivos

Leia mais

Funções Recursivas. Prof.: Edson Holanda Teoria da computação - Diverio e Menezes

Funções Recursivas. Prof.: Edson Holanda Teoria da computação - Diverio e Menezes Funções Recursivas Prof.: Edson Holanda edsonholanda@gmail.com Teoria da computação - Diverio e Menezes Tipos de Formalismos Operacional Define-se uma máquina abstrata, baseada em estados, em instruções

Leia mais

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48 Conteúdo 1 Princípios de Contagem e Enumeração Computacional Permutações com Repetições Combinações com Repetições O Problema do Troco Principio da Casa dos Pombos > Princípios de Contagem e Enumeração

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal

Leia mais

PLANO DE ENSINO. Ano: 2015 Semestre Letivo: ( ) Primeiro ( x ) Segundo Total de Créditos (se for o caso): 4 Carga Horária: 60 horas

PLANO DE ENSINO. Ano: 2015 Semestre Letivo: ( ) Primeiro ( x ) Segundo Total de Créditos (se for o caso): 4 Carga Horária: 60 horas UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO Rua Dom Manoel de Medeiros, s/n Dois Irmãos 52171-900 Recife-PE Fone: 0xx-81-332060-40 proreitor@preg.ufrpe.br PLANO DE ENSINO

Leia mais

CAP. I ERROS EM CÁLCULO NUMÉRICO

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

Leia mais

UNOCHAPECÓ - ÁREA DE CIÊNCIAS EXATAS E AMBIENTAIS ENGENHARIA MECÂNICA - P.I. PROF. EDERSON MOREIRA PAZ

UNOCHAPECÓ - ÁREA DE CIÊNCIAS EXATAS E AMBIENTAIS ENGENHARIA MECÂNICA - P.I. PROF. EDERSON MOREIRA PAZ UNOCHAPECÓ - ÁREA DE CIÊNCIAS EXATAS E AMBIENTAIS ENGENHARIA MECÂNICA - P.I. PROF. EDERSON MOREIRA PAZ PESQUISA DE MERCADO Alguns fatores específicos e relevantes para a confecção de uma proposta. CONSUMIDORES

Leia mais

Algumas Equivalencias do Axioma da Escolha

Algumas Equivalencias do Axioma da Escolha Algumas Equivalencias do Axioma da Escolha Elen Deise Assis Barbosa Orientador: Prof. Ms. Luís Roque Rodrigues de Jesus Universidade do Estado da Bahia UNEB 27 de outubro de 2009 1 / 14 Índice Postulados

Leia mais

Aula 03 Custos de um algoritmo e funções de complexidade

Aula 03 Custos de um algoritmo e funções de complexidade BC1424 Algoritmos e Estruturas de Dados I Aula 03 Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2015 1 Custo de um algoritmo e funções de complexidade

Leia mais

Laboratório de Sistemas e Sinais L1: Matrizes, Sons e Imagens

Laboratório de Sistemas e Sinais L1: Matrizes, Sons e Imagens Laboratório de Sistemas e Sinais L1: Matrizes, Sons e Imagens Luís Caldas de Oliveira Março de 2009 O objectivo deste laboratório é o de explorar a utilização de matrizes em Matlab e de usá-las para construir

Leia mais

RESULTADO DOS RECURSOS DA PROVA OBJETIVA EDITAL 02/2012.

RESULTADO DOS RECURSOS DA PROVA OBJETIVA EDITAL 02/2012. RESULTADO DOS RECURSOS DA PROVA OBJETIVA EDITAL 02/2012. LEGENDA DOS RESULTADOS Deferido: Recurso acatado Indeferido: Recurso não acatado Questão já anulada: Questão anulada por outro recurso analisado

Leia mais

Orientação a Objetos

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

Leia mais

Estrutura de Dados. Introdução a Ponteiros. Prof. Gerson Borges Estrutura de Dados I 1

Estrutura de Dados. Introdução a Ponteiros. Prof. Gerson Borges Estrutura de Dados I 1 Estrutura de Dados Introdução a Ponteiros Prof. Gerson Borges Estrutura de Dados I 1 Sumário è Explicação da importância do planejamento de ensino; è Métodos e técnicas que iremos trabalhar durante o semestre;

Leia mais

Linguagens Formais e Autômatos. Alfabetos, Palavras, Linguagens e Gramáticas

Linguagens Formais e Autômatos. Alfabetos, Palavras, Linguagens e Gramáticas Linguagens Formais e Autômatos Alfabetos, Palavras, Linguagens e Gramáticas Cristiano Lehrer, M.Sc. Introdução (1/3) A Teoria das Linguagens Formais foi originariamente desenvolvida na década de 1950 com

Leia mais

MANUTENÇÃO DE MICRO. Mário Gomes de Oliveira

MANUTENÇÃO DE MICRO. Mário Gomes de Oliveira MANUTENÇÃO DE MICRO Mário Gomes de Oliveira 1 IRQ Pedido de atenção e de serviço feito à CPU, para notificar a CPU sobre a necessidade de tempo de processamento. 2 IRQ (Interrupt Request line ou Linha

Leia mais

MD Teoria dos Conjuntos 1

MD Teoria dos Conjuntos 1 Teoria dos Conjuntos Renato Martins Assunção assuncao@dcc.ufmg.br Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br MD Teoria dos Conjuntos 1 Introdução O que os seguintes objetos têm em comum? um

Leia mais

1 Os números naturais, Axiomas de Peano

1 Os números naturais, Axiomas de Peano Capítulo IV Indução e Recursão 1 1 Os números naturais, Axiomas de Peano Os números naturais são bem conhecidos. Vamos considerar o 0 como fazendo parte dos números naturais. Portanto os números naturais

Leia mais

Alfabeto e palavras. Alfabeto conjunto finito de símbolos (Σ).

Alfabeto e palavras. Alfabeto conjunto finito de símbolos (Σ). Alfabeto e palavras Alfabeto conjunto finito de símbolos (Σ). {A,...,Z}, {α, β,... }, {a,b}, {0,1}, ASCII Palavra de Σ sequência finita de símbolos do alfabeto Σ Σ = {a, b} aabba a aaaaaaaa Comprimento

Leia mais

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas?

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas? Recorrências Muitas vezes não é possível resolver problemas de contagem diretamente combinando os princípios aditivo e multiplicativo. Para resolver esses problemas recorremos a outros recursos: as recursões

Leia mais

N, 1 i m, tal que f m é f e cada f i satisfaz uma das condições abaixo:

N, 1 i m, tal que f m é f e cada f i satisfaz uma das condições abaixo: 1. Funções recursivas A Teoria da Recursão é uma formalização da noção intuitiva de computável (e de algoritmo ). Faremos uma breve introdução ao assunto, ressaltando apenas o necessário para os assuntos

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 14 a Aula Tipos abstratos de dados

Pedro Vasconcelos DCC/FCUP. Programação Funcional 14 a Aula Tipos abstratos de dados Programação Funcional 14 a Aula Tipos abstratos de dados Pedro Vasconcelos DCC/FCUP 2012 Tipos concretos de dados Até agora definimos um novo tipo de dados listamos os seus construtores. data Bool = False

Leia mais

ESCOLA SUPERIOR ABERTA DO BRASIL - ESAB CURSO DE PÓS-GRADUAÇÃO LATO SENSU EM ENGENHARIA DE SISTEMAS JACK SUSLIK POGORELSKY JUNIOR

ESCOLA SUPERIOR ABERTA DO BRASIL - ESAB CURSO DE PÓS-GRADUAÇÃO LATO SENSU EM ENGENHARIA DE SISTEMAS JACK SUSLIK POGORELSKY JUNIOR ESCOLA SUPERIOR ABERTA DO BRASIL - ESAB CURSO DE PÓS-GRADUAÇÃO LATO SENSU EM ENGENHARIA DE SISTEMAS JACK SUSLIK POGORELSKY JUNIOR METODOLOGIA DA PESQUISA CIENTÍFICA VILA VELHA - ES 2012 ESCOLA SUPERIOR

Leia mais

Consequências Interessantes da Continuidade

Consequências Interessantes da Continuidade Consequências Interessantes da Continuidade Frederico Reis Marques de Brito Resumo Trataremos aqui de um dos conceitos basilares da Matemática, o da continuidade no âmbito de funções f : R R, mostrando

Leia mais

Relatório do 1ºProjecto. Gestão de uma Clínica Médica

Relatório do 1ºProjecto. Gestão de uma Clínica Médica Relatório do 1ºProjecto Gestão de uma Clínica Médica Cátia Cruz: ei08134@fe.up.pt Gaspar Furtado: ei08072@fe.up.pt Miao Sun: ei08162@fe.up.pt Grupo 5 Algoritmos e Estruturas de Dados Prof. Ana

Leia mais

Matemática Discreta - 03

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 jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav

Leia mais

Geração de Código em C para Simples

Geração de Código em C para Simples Geração de Código em C para Simples José de Oliveira Guimarães Departamento de Computação UFSCar - São Carlos, SP Brasil e-mail: jose@dc.ufscar.br December 1, 2004 Este artigo descreve a tradução dos programas

Leia mais

Exp e Log. Roberto Imbuzeiro Oliveira. 21 de Fevereiro de 2014. 1 O que vamos ver 1. 2 Fatos preliminares sobre espaços métricos 2

Exp e Log. Roberto Imbuzeiro Oliveira. 21 de Fevereiro de 2014. 1 O que vamos ver 1. 2 Fatos preliminares sobre espaços métricos 2 Funções contínuas, equações diferenciais ordinárias, Exp e Log Roberto Imbuzeiro Oliveira 21 de Fevereiro de 214 Conteúdo 1 O que vamos ver 1 2 Fatos preliminares sobre espaços métricos 2 3 Existência

Leia mais

Métodos Os métodos de uma classe podem ser classificados como construtores, destrutores, funções ou procedimentos.

Métodos Os métodos de uma classe podem ser classificados como construtores, destrutores, funções ou procedimentos. Métodos Os métodos de uma classe podem ser classificados como construtores, destrutores, funções ou procedimentos. Construtor: método executado por uma CLASSE (e não por um objeto, instância da classe)

Leia mais

Programação Orientada a Objeto

Programação Orientada a Objeto Programação Orientada a Objeto Classes, Atributos, Métodos e Objetos Programação de Computadores II Professor: Edwar Saliba Júnior 1) Java é uma linguagem orientada a objetos. Para que possamos fazer uso

Leia mais

Provas de. Manuel Ricou Departamento de Matemática Instituto Superior Técnico

Provas de. Manuel Ricou Departamento de Matemática Instituto Superior Técnico Provas de Introdução à Álgebra Manuel Ricou Departamento de Matemática Instituto Superior Técnico 19 de Janeiro de 2008 Conteúdo 1 Enunciados de Testes 3 1.1 1 o Teste: 12/4/2000.......................

Leia mais

Faculdade Pitágoras 24/10/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

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

Leia mais

Introdução às Tecnologias da Informação e da Comunicação Parte Teórica

Introdução às Tecnologias da Informação e da Comunicação Parte Teórica Comunicação Parte Teórica Prova de Exame de Equivalência à : Comunicação Parte Teórica Prova n.º 24 2011 9.º Ano de Escolaridade Decreto-Lei n.º 6/2001, de 18 de Janeiro 1. Introdução O presente documento

Leia mais

Computabilidade 2012/2013. Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto

Computabilidade 2012/2013. Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto Computabilidade 2012/2013 Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto Capítulo 1 Computabilidade 1.1 A noção de computabilidade Um processo de computação

Leia mais

PARTE 3. 3.1 Funções Reais de Várias Variáveis Reais

PARTE 3. 3.1 Funções Reais de Várias Variáveis Reais PARTE 3 FUNÇÕES REAIS DE VÁRIAS VARIÁVEIS REAIS 3. Funções Reais de Várias Variáveis Reais Vamos agora tratar do segundo caso particular de funções vetoriais de várias variáveis reais, F : Dom(F) R n R

Leia mais

CAPÍTULO 6 ARITMÉTICA DIGITAL

CAPÍTULO 6 ARITMÉTICA DIGITAL CAPÍTULO 6 ARITMÉTICA DIGITAL Introdução Números decimais Números binários positivos Adição Binária Números negativos Extensão do bit de sinal Adição e Subtração Overflow Aritmético Circuitos Aritméticos

Leia mais

Sistemas Computacionais II Professor Frederico Sauer

Sistemas Computacionais II Professor Frederico Sauer Sistemas Computacionais II Professor Frederico Sauer Livro-texto: Introdução à Organização de Computadores 4ª edição Mário A. Monteiro Livros Técnicos e Científicos Editora. Atenção: Este material não

Leia mais

Introdução às Linguagens de Programação

Introdução às Linguagens de Programação Introdução às Linguagens de Programação Histórico de Linguagens de Programação O computador não faz nada sozinho Precisamos informar, de forma clara, como ele deve executar as tarefas Ou seja, o computador

Leia mais

1.3. Componentes dum sistema informático HARDWARE SOFTWARE

1.3. Componentes dum sistema informático HARDWARE SOFTWARE 1.3. Componentes dum sistema informático Computador Sistema Informático HARDWARE SOFTWARE + Periféricos Sistema Operativo Aplicações HARDWARE - representa todos os componentes físicos de um sistema informático,

Leia mais

Números fuzzy interativos

Números fuzzy interativos Números fuzzy interativos Francielle Santo Pedro Orientador: Laécio Carvalho de Barros Instituto de Matemática, Estatística e Computação Científica- IMECC Unicamp - Campinas 29 de Agosto, 2013 Francielle

Leia mais

Capítulo 2: Introdução à Linguagem C

Capítulo 2: Introdução à Linguagem C Capítulo 2: Introdução à Linguagem C INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso

Leia mais

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

Leia mais

1 Máquina URM, comandos e programas URM

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

Leia mais

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária 1- Apresentação Binária Os computadores funcionam e armazenam dados mediante a utilização de chaves eletrônicas que são LIGADAS ou DESLIGADAS. Os computadores só entendem e utilizam dados existentes neste

Leia mais

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

Interpretação e Compilação de Linguagens de Programação Sintaxe e Semântica Interpretação e Compilação de Linguagens de Programação Sintaxe e Semântica 28 de Fevereiro de 2013 Nesta aula apresentam-se dois dos aspetos fundamentais das linguagens de programação, sintaxe e semântica.

Leia mais

A ideia de coordenatização (2/2)

A ideia de coordenatização (2/2) 8 a : aula (1h) 12/10/2010 a ideia de coordenatização (2/2) 8-1 Instituto Superior Técnico 2010/11 1 o semestre Álgebra Linear 1 o ano das Lics. em Engenharia Informática e de Computadores A ideia de coordenatização

Leia mais

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 04: Análise de Algoritmos (Parte 1) Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes

Leia mais

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

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 ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

Conhecimento e compreensão do tema produção mais limpa em cursos de especialização: um estudo de caso

Conhecimento e compreensão do tema produção mais limpa em cursos de especialização: um estudo de caso Conhecimento e compreensão do tema produção mais limpa em cursos de especialização: um estudo de caso Prof. Claudio Luis Crescente Frankenberg - PUCRS Pablo Gustavo de Oliveira - UFRGS Introdução A sustentabilidade

Leia mais

Aula 5 Microsoft PowerPoint 2003: Criando uma Apresentação

Aula 5 Microsoft PowerPoint 2003: Criando uma Apresentação Universidade de São Paulo/Faculdade de Saúde Pública Curso de Saúde Pública Disciplina: HEP 147 - Informática Aula 5 Microsoft PowerPoint 2003: Criando uma Apresentação 1 Introdução ao Microsoft PowerPoint

Leia mais

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS 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 SISTEMA GERENCIADOR

Leia mais

Carlos Humberto Soares Júnior

Carlos Humberto Soares Júnior Boletín de la Asociación Matemática Venezolana, Vol. X, No. 1 (2003) 15 Funções de classe C k Carlos Humberto Soares Júnior Abstract When we study the functions of class C k in the graduate courses, in

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ESTUDOS AVANÇADOS DE INFORMÁTICA APLICADA Ano Lectivo 2012/2013

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ESTUDOS AVANÇADOS DE INFORMÁTICA APLICADA Ano Lectivo 2012/2013 Programa da Unidade Curricular ESTUDOS AVANÇADOS DE INFORMÁTICA APLICADA Ano Lectivo 2012/2013 1. Unidade Orgânica Ciências Humanas e Sociais (2º Ciclo) 2. Curso MESTRADO EM COMUNICAÇÃO MULTIMÉDIA 3. Ciclo

Leia mais

Capítulo 2. Álgebra e imagens binárias. 2.1 Subconjuntos versus funções binárias

Capítulo 2. Álgebra e imagens binárias. 2.1 Subconjuntos versus funções binárias Capítulo 2 Álgebra e imagens binárias Em Análise de Imagens, os objetos mais simples que manipulamos são as imagens binárias. Estas imagens são representadas matematicamente por subconjuntos ou, de maneira

Leia mais

Monografia sobre R ser um Domínio de Fatoração Única implicar que R[x] é um Domínio de Fatoração Única.

Monografia sobre R ser um Domínio de Fatoração Única implicar que R[x] é um Domínio de Fatoração Única. Universidade Estadual de Campinas Instituto de Matemática, Estatística e Computação Científica Departamento de Matemática Monografia sobre R ser um Domínio de Fatoração Única implicar que R[x] é um Domínio

Leia mais

Prova de Aferição de Matemática

Prova de Aferição de Matemática PROVA DE AFERIÇÃO DO ENSINO BÁSICO A PREENCHER PELO ALUNO Nome A PREENCHER PELO AGRUPAMENTO Número convencional do Aluno Número convencional do Aluno A PREENCHER PELA U.A. Número convencional do Agrupamento

Leia mais

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. 1 Diagrama de Classes Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. Um dos objetivos do diagrama de classes é definir a base para

Leia mais

Cada elemento da EAP deve representar um resultado tangível e verificável; Todos os resultados principais devem estar explicitamente

Cada elemento da EAP deve representar um resultado tangível e verificável; Todos os resultados principais devem estar explicitamente EAP ou WBS EAP ou WBS Estrutura analítica do projeto (EAP) ou estrutura analítica do trabalho (WBS), é a base para o detalhamento do projeto e após elaborada passa a ser a base para a manutenção do escopo

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

A linguagem da Lógica Proposicional (Capítulo 1)

A linguagem da Lógica Proposicional (Capítulo 1) A linguagem da Lógica Proposicional (Capítulo 1) LÓGICA APLICADA A COMPUTAÇÃO Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Alfabeto 3. Fórmulas bem formadas (FBF) 4. Exemplos

Leia mais

Resumo. Leonel Fonseca Ivo. 17 de novembro de 2009

Resumo. Leonel Fonseca Ivo. 17 de novembro de 2009 Resumo Leonel Fonseca Ivo 17 de novembro de 2009 1 Teoria de Sistemas A Teoria de Sistemas (TS) é um ramo específico da Teoria Geral de Sistemas (TGS), cujo objetivo é produzir teorias e formulações conceituais

Leia mais

PROGRAMA DE DISCIPLINA

PROGRAMA DE DISCIPLINA PROGRAMA DE DISCIPLINA Disciplina: Introdução à Programação Carga horária total: 60 Carga horária teórica: 0 Carga horária prática: 60 Código da Disciplina: CCMP0041 Período de oferta: 2010.2 Turma: CA

Leia mais

Introdução a Java. Hélder Nunes

Introdução a Java. Hélder Nunes Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais

Leia mais

Algoritmos e Linguagem de Programação I

Algoritmos e Linguagem de Programação I Algoritmos e Linguagem de Programação I Roberto Ferreira roberto.ferreira@lapa.ifbaiano.edu.br 2014.1 Módulo I Aula 4 Introdução ao C Linguagem de Programação É um conjunto de regras sintáticas e semânticas

Leia mais

Roteiro do Programa e Entrada/Saída

Roteiro do Programa e Entrada/Saída Roteiro do Programa e Entrada/Saída c Professores de ALPRO I Faculdade de Informática PUCRS 03/2012 ALPRO I (FACIN) Roteiro do Programa e E/S 03/2012 1 / 32 Sumário 1 Relembrando 2 Programa Definição de

Leia mais

ELIPSES INSCRITAS NUM TRIÂNGULO

ELIPSES INSCRITAS NUM TRIÂNGULO ELIPSES INSCRITAS NUM TRIÂNGULO SERGIO ALVES IME-USP Freqüentemente apresentada como um exemplo notável de sistema dedutivo, a Geometria tem, em geral, seus aspectos indutivos relegados a um segundo plano.

Leia mais

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados. 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 INTRODUÇÃO Hoje é

Leia mais

Sergio da Silva Aguiar Universidade Estadual do Sudoeste da Bahia - I Seemat

Sergio da Silva Aguiar Universidade Estadual do Sudoeste da Bahia - I Seemat Introdução à Lógica Matemática Sergio da Silva Aguiar Universidade Estadual do Sudoeste da Bahia - I Seemat 1 Introdução O que é a Lógica? O que signi ca estudar Lógica? Qual a sua de nição? Ao iniciar

Leia mais