Matemática Discreta para Computação e Informática

Documentos relacionados
1 introdução e conceitos básicos

Aula1 Noções de matemática Discreta Técnicas de Demonstração. Prof. Dr. Ricardo Luis de Azevedo da Rocha

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

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

Linguagens Formais e Autômatos P. Blauth Menezes

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

Universidade Federal do Pampa - UNIPAMPA

1 TEORIA DOS CONJUNTOS

Teoria da Computação Aula 01 Revisão de Conjuntos

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Teoria da Computação Aula 02 Introdução

Linguagens Formais e Autômatos P. Blauth Menezes

1 INTRODUÇÃO E CONCEITOS BÁSICOS

Disciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof. Jefferson Morais

Alfabeto, Cadeias, Operações e Linguagens

Introdução. Matemática Discreta. Prof Marcelo Maraschin de Souza

Linguagens Formais e Autômatos P. Blauth Menezes

sumário 1 introdução e conceitos básicos 1 2 noções de lógica e técnicas de demonstração introdução à matemática discreta...

LINGUAGENS FORMAIS E AUTÔMATOS

Definição: Todo objeto parte de um conjunto é denominado elemento.

Linguagens Formais e Problemas de Decisão

1 introdução. capítulo. O que é uma solução computável? Quais são os limites do que pode ser computado? Existem problemas sem solução computacional?

IBM1088 Linguagens Formais e Teoria da

Fundamentos de Matemática

MDI0001 Matemática Discreta Aula 04 Álgebra de Conjuntos

Um alfabeto é um conjunto de símbolos indivisíveis de qualquer natureza. Um alfabeto é geralmente denotado pela letra grega Σ.

Linguagens Formais e Autômatos P. Blauth Menezes

TEORIA DOS CONJUNTOS. Professor: Marcelo Silva Natal - RN, agosto de 2013.

Teoria dos Conjuntos. Teoria dos Conjuntos. Teoria dos Conjuntos. Teoria dos Conjuntos. Teoria dos Conjuntos. Teoria dos Conjuntos

MATEMÁTICA. Aula 2 Teoria dos Conjuntos. Prof. Anderson

Já falamos que, na Matemática, tudo se baseia em axiomas. Já estudamos os números inteiros partindo dos seus axiomas.

Teoria dos Conjuntos. Matemática Discreta. Teoria dos Conjuntos - Parte I. Profa. Sheila Morais de Almeida DAINF-UTFPR-PG.

Linguagens Regulares. Prof. Daniel Oliveira

Curso: Ciência da Computação Disciplina: Matemática Discreta 3. CONJUNTOS. Prof.: Marcelo Maraschin de Souza

Prof. Adriano Maranhão COMPILADORES

Instituto de Matemática e Estatística, UFF Março de 2011

Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais

Teoria de Conjuntos. Matemática Discreta I. Rodrigo Ribeiro. 6 de janeiro de 2013

Resolução Exe 2.12 Monolítico Recursivo

Linguagens Formais e Autômatos P. Blauth Menezes

MATEMÁTICA Conjuntos. Professor Marcelo Gonzalez Badin

LINGUAGENS FORMAIS Definições. Desenvolveram-se na História em função da necessidade dos grupos humanos que as empregavam

Conceitos básicos de Teoria da Computação

Conjuntos Contáveis e Não Contáveis / Contagem

Lista de Exercícios sobre Conjuntos

Conceitos Básicos. Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem

Universidade do Estado de Santa Catarina - UDESC Centro de Ciências Tecnológicas - CCT Licenciatura em Matemática

Centro de Informática UFPE

Teoria da Computação. Unidade 1 Conceitos Básicos. Referência Teoria da Computação (Divério, 2000)

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Lógica e Matemática Discreta

LFA. Aula 04. Sintaxe e Semântica. Conceitos Básicos Alfabeto Palavra Linguagem

Matemática I Conjuntos Conjuntos Numéricos. Prof.: Joni Fusinato 1

I.2 Introdução a Teoria da Computação

LINGUAGEM LIVRE DE CONTEXTO GRAMÁTICA LIVRE DE CONTEXTO

Linguagens Formais e Autômatos

COMPILADORES. Revisão Linguagens formais Parte 01. Geovane Griesang

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Gramáticas Livres de Contexto Parte 1

Histórico e motivação

Notas sobre Sequências e Cardinalidade (1)

Definição: Um ou mais elementos que tenham características iguais ou atendam a uma regra que lhes permitam fazer parte de um mesmo meio.

Por meio de uma figura fechada, dentro da qual podem-se escrever seus elementos. Diagrama de Venn-Euler.

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior.

Matemática Discreta - 07

Curso de Matemática Aplicada.

MDI0001 Matemática Discreta Aula 01

Teoria da Computação. Máquinas Universais Máquina com Pilhas

Introdução Definição Conceitos Básicos de Linguagem

PC Polícia Civil do Estado de São Paulo PAPILOSCOPISTA

Teoria Ingênua dos Conjuntos (naive set theory)

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens

Matemática Discreta - 07

15/03/2018. Professor Ariel da Silva Dias Aspectos sintáticos e semânticos básicos de linguagens de programação

INE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação

Compiladores. Análise lexical. Plano da aula. Motivação para análise lexical. Vocabulário básico. Estrutura de um compilador

Conjuntos. Ou ainda por diagrama (diagrama de Venn-Euler):

Problema A Codificação Símbolos Dado um inteiro n, n é N representação de inteiros 0,1,...,b - 1 numa base b Dado um grafo G, G é conexo?

Linguagens Formais e Autômatos P. Blauth Menezes

Expressões e Gramáticas Regulares e Autómatos Finitos

Notas de aula de MAC0329 Álgebra Booleana e Aplicações

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Máquinas Universais. Máquina de Turing. Celso Olivete Júnior.

INTRODUÇÃO À TEORIA DOS CONJUNTOS1

Lista de Exercícios CT-200 Primeiro Bimestre Carlos Henrique Quartucci Forster Estagiário: Wesley Telles. Revisão de Teoria de Conjuntos

Universidade Federal Fluminense ICEx Volta Redonda Introdução a Matemática Superior Professora: Marina Sequeiros

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 2. Conceitos Básicos da Teoria da Computação

Exercícios Associados à Aula 02 (14/08/2013)

Teoria Elementar dos Conjuntos

Teoria dos conjuntos

Teoria Elementar dos Conjuntos

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Linguagens Formais e Autômatos P. Blauth Menezes

Construção de Compiladores

Transcrição:

Matemática Discreta para Computação e Informática P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Computação e Informática - P. Blauth Menezes 1

Matemática Discreta para Computação e Informática P. Blauth Menezes 1 Introdução e Conceitos Básicos 2 Noções de Lógica e Técnicas de Demonstração 3 Álgebra de Conjuntos 4 Relações 5 Funções Parciais e Totais 6 Endorrelações, Ordenação e Equivalência 7 Cardinalidade de Conjuntos 8 Indução e Recursão 9 Álgebras e Homomorfismos 10 Reticulados e Álgebra Booleana 11 Conclusões Matemática Discreta para Computação e Informática - P. Blauth Menezes 2

1 Introdução e Conceitos Básicos 1.1 Introdução 1.2 Conceitos Básicos de Teoria dos Conjuntos 1.2.1 Conjuntos 1.2.2 Pertinência 1.2.3 Alguns Conjuntos Importantes 1.2.4 Conjuntos Finitos e Infinitos 1.2.5 Alfabetos, Palavras e Linguagens 1.2.6 Subconjunto e Igualdade de Conjuntos 1.2.7 Conjuntos nas Linguagens de Programação Matemática Discreta para Computação e Informática - P. Blauth Menezes 3

1.1 Introdução QQ estudo em Ciência da Computação, teórico ou aplicado pré-requisito: conhecimentos de diversos tópicos de Matemática tal fato é explicitado na maioria dos livros de CC alguns possuem um capítulo específico tópicos são brevemente/resumidamente introduzidos Matemática Discreta para Computação e Informática - P. Blauth Menezes 4

Diretrizes Curriculares do MEC para Cursos de Computação e Informática [MEC 2002] A formação básica tem por objetivo introduzir as matérias necessárias ao desenvolvimento tecnológico da computação. O principal ingrediente desta área é a ciência da computação que caracteriza o egresso como pertencente à área de computação. A maioria das matérias tecnológicas são aplicações da ciência da computação. São matérias de formação básica dos cursos da área de computação: a ciência da computação, a matemática, a física e eletricidade e a pedagogia. Matemática Discreta para Computação e Informática - P. Blauth Menezes 5

Especificamente em relação à Matéria Matemática A matemática, para a área de computação, deve ser vista como uma ferramenta a ser usada na definição formal de conceitos computacionais (linguagens, autômatos, métodos etc.). Os modelos formais permitem definir suas propriedades e dimensionar suas instâncias, dadas suas condições de contorno. Matemática Discreta para Computação e Informática - P. Blauth Menezes 6

Matemática Discreta seleção de tópicos de Matemática essenciais para o estudo da Ciência da Computação na Formação Básica e Tecnológica Considerando que a maioria dos conceitos computacionais pertencem ao domínio do discreto, a matemática discreta (ou também chamada álgebra abstrata) é fortemente empregada Matemática Discreta para Computação e Informática - P. Blauth Menezes 7

Não cobre todos os tópicos de Matemática Discreta Análise Combinatória Probabilidade Discreta Teoria dos Grafos (brevemente introduzida) Questão importante origem do termo Matemática Discreta Qq sistema computador possui limitações finitas tamanho da memória número de intruções que pode executar número de diferentes símbolos que pode tratar, portanto, o estudo dos conjuntos finitos é fundamental. Matemática Discreta para Computação e Informática - P. Blauth Menezes 8

Limitações finitas não implicam em limitação ou préfixação de tamanhos máximos por exemplo, unidades auxiliares como discos removíveis, fitas, etc Portanto, para um correto entendimento da computação freqüentemente não é possível pré-fixar limites implica tratar tais questões em um contexto infinito Entretanto, qq conjunto de recursos computacionais é contável ou discreto (em oposição ao termo continuo) pode ser enumerados ou seqüenciado (segundo algum critério) não existe um elemento entre quaisquer dois outros Matemática Discreta para Computação e Informática - P. Blauth Menezes 9

Exemplo conjunto dos números naturais é contável Contra-exemplo conjunto dos números reais o qual é não-contável ou não-discreto Conclusão existem conjuntos infinitos contáveis e não-contáveis Matemática Discreta para Computação e Informática - P. Blauth Menezes 10

Matemática Discreta estudos baseados em conjuntos contáveis finitos ou infinitos Matemática do Continuum estudos baseados em conjuntos não-contáveis exemplo: Cálculo Diferencial e Integral Matemática Discreta para Computação e Informática - P. Blauth Menezes 11

1 Introdução e Conceitos Básicos 1.1 Introdução 1.2 Conceitos Básicos de Teoria dos Conjuntos 1.2.1 Conjuntos 1.2.2 Pertinência 1.2.3 Alguns Conjuntos Importantes 1.2.4 Alfabetos, Palavras e Linguagens 1.2.5 Conjuntos Finitos e Infinitos 1.2.6 Subconjunto e Igualdade de Conjuntos 1.2.7 Conjuntos nas Linguagens de Programação Matemática Discreta para Computação e Informática - P. Blauth Menezes 12

1.2 Conceitos Básicos de Teoria dos Conjuntos Conceitos básicos relativos à Teoria dos Conjunto possivelmente, do conhecimento da maioria revisão e exemplos exercícios! ênfase nos exemplos voltados para Ciência da Computação Matemática Discreta para Computação e Informática - P. Blauth Menezes 13

1 Introdução e Conceitos Básicos 1.1 Introdução 1.2 Conceitos Básicos de Teoria dos Conjuntos 1.2.1 Conjuntos 1.2.2 Pertinência 1.2.3 Alguns Conjuntos Importantes 1.2.4 Conjuntos Finitos e Infinitos 1.2.5 Alfabetos, Palavras e Linguagens 1.2.6 Subconjunto e Igualdade de Conjuntos 1.2.7 Conjuntos nas Linguagens de Programação Matemática Discreta para Computação e Informática - P. Blauth Menezes 14

1.2.1 Conjuntos Conceito de conjunto é fundamental praticamente todos os conceitos em CC e os correspondentes resultados são baseados em conjuntos ou construções sobre conjuntos Conjunto estrutura que agrupa objetos constitui uma base para construir estruturas mais complexas Matemática Discreta para Computação e Informática - P. Blauth Menezes 15

Informalmente, um conjunto coleção, sem repetições e sem qualquer ordenação, de objetos denominados elementos elemento: pode designar um objeto concreto ou abstrato elemento: entidade básica, não é definida formalmente Def: Conjunto Coleção de zero ou mais objetos distintos, chamados Elementos do conjunto os quais não possuem qualquer ordem associada Matemática Discreta para Computação e Informática - P. Blauth Menezes 16

Exp: Conjuntos As vogais a, e, i, o, e u O par de sapatos preferido Os dígitos 0, 1, 2, 3, 4, 5, 6, 7, 8, e 9 Todos os brasileiros Os números pares 0, 2, 4, 6, O personagem Snoopy, a letra a, a baía da Guanabara e o Pelé Conjunto pode ser definido listando todos os seus elementos por propriedades declaradas um conjunto não necessariamente é constituído por objetos que compartilham mesmas características/propriedades Matemática Discreta para Computação e Informática - P. Blauth Menezes 17

Denotação por extensão definição listando todos os seus elementos em qualquer ordem separados por vírgulas entre chaves Vogais = { a, e, i, o, u } Vogais denota o conjunto { a, e, i, o, u } Matemática Discreta para Computação e Informática - P. Blauth Menezes 18

Denotação por compreensão definição por propriedades Pares = { n n é número par } o conjunto de todos os elementos n tal que n é número par forma geral de definição de um conjunto por propriedades { x p(x) } a é elemento do conjunto: p(a) é verdadeira B = { x x é brasileiro } Pelé é elemento de B e Bill Gates não é elemento de B Matemática Discreta para Computação e Informática - P. Blauth Menezes 19

QQ conjunto pode ser definido por compreensão Freqüentemente é conveniente especificar de outra forma Dígitos = { 0, 1, 2, 3,, 9 } Pares = { 0, 2, 4, 6, } elementos omitidos podem ser facilmente deduzidos do contexto Exp: Conjuntos Dias da Semana = { seg, ter, qua, qui, sex, sab, dom } Seqüências de duas Vogais = { aa, ae, ai, ao, au, ea, ee, ei, eo, eu,,ua, ue, ui, uo, uu } { x x = y 2 sendo que y é número inteiro } corresponde ao conjunto { 1, 4, 9, 16, } Matemática Discreta para Computação e Informática - P. Blauth Menezes 20

1 Introdução e Conceitos Básicos 1.1 Introdução 1.2 Conceitos Básicos de Teoria dos Conjuntos 1.2.1 Conjuntos 1.2.2 Pertinência 1.2.3 Alguns Conjuntos Importantes 1.2.4 Conjuntos Finitos e Infinitos 1.2.5 Alfabetos, Palavras e Linguagens 1.2.6 Subconjunto e Igualdade de Conjuntos 1.2.7 Conjuntos nas Linguagens de Programação Matemática Discreta para Computação e Informática - P. Blauth Menezes 21

1.2.2 Pertinência a é elemento do conjunto A Caso contrário a A a pertence ao conjunto A a A a não pertence ao conjunto A Exp: Pertence, Não-Pertence Vogais = { a, e, i, o, u } B = { x x é brasileiro } a Vogais Pelé B h Vogais Bill Gates B Matemática Discreta para Computação e Informática - P. Blauth Menezes 22

1 Introdução e Conceitos Básicos 1.1 Introdução 1.2 Conceitos Básicos de Teoria dos Conjuntos 1.2.1 Conjuntos 1.2.2 Pertinência 1.2.3 Alguns Conjuntos Importantes 1.2.4 Conjuntos Finitos e Infinitos 1.2.5 Alfabetos, Palavras e Linguagens 1.2.6 Subconjunto e Igualdade de Conjuntos 1.2.7 Conjuntos nas Linguagens de Programação Matemática Discreta para Computação e Informática - P. Blauth Menezes 23

1.2.3 Alguns Conjuntos Importantes Conjunto vazio especialmente importante conjunto sem elementos { } Exp: Conjunto Vazio Conjunto de todos os brasileiros com mais de 300 anos Conjunto de todos os números simultaneamente pares e ímpares Matemática Discreta para Computação e Informática - P. Blauth Menezes 24

Conjunto unitário quase tão importante como o vazio constituído por um único elemento existem infinitos conjuntos unitários para muitas aplicações, pode-se usar qualquer conjunto unitário importante é que o conjunto possui um único elemento irrelevante qual é o elemento conjunto unitário fixado: usualmente denotado por 1 Exp: Conjunto Unitário Conjunto constituído pelo jogador de futebol Pelé Conjunto de todos os números simultaneamente pares e primos 1 = { * } Matemática Discreta para Computação e Informática - P. Blauth Menezes 25

Alguns Conjuntos importantes na Matemática e na CC N Conjunto dos Números Naturais Z Conjunto dos Números Inteiros Q Conjunto dos Números Racionais I Conjunto dos Números Irracionais R Conjunto dos Números Reais Matemática Discreta para Computação e Informática - P. Blauth Menezes 26

1 Introdução e Conceitos Básicos 1.1 Introdução 1.2 Conceitos Básicos de Teoria dos Conjuntos 1.2.1 Conjuntos 1.2.2 Pertinência 1.2.3 Alguns Conjuntos Importantes 1.2.4 Conjuntos Finitos e Infinitos 1.2.5 Alfabetos, Palavras e Linguagens 1.2.6 Subconjunto e Igualdade de Conjuntos 1.2.7 Conjuntos nas Linguagens de Programação Matemática Discreta para Computação e Informática - P. Blauth Menezes 27

1.2.4 Conjuntos Finitos e Infinitos Um conjunto pode possuir um número finito ou infinito de elementos definição formal de conjunto finito e infinito: adiante Conjunto finito pode ser denotado por extensão listando exaustivamente todos os elementos Conjunto infinito caso contrário Matemática Discreta para Computação e Informática - P. Blauth Menezes 28

Exp: Conjunto Finito { ε } Vogais = { a, e, i, o, u } Dígitos = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } { snoopy, a, baía da Guanabara, Pelé } A = { x N x > 0 e x < 4 } B = { x x é brasileiro } Matemática Discreta para Computação e Informática - P. Blauth Menezes 29

Exp: Conjunto Infinito Z R { x Z x 0 } Pares = { y y = 2x e x N } Matemática Discreta para Computação e Informática - P. Blauth Menezes 30

1 Introdução e Conceitos Básicos 1.1 Introdução 1.2 Conceitos Básicos de Teoria dos Conjuntos 1.2.1 Conjuntos 1.2.2 Pertinência 1.2.3 Alguns Conjuntos Importantes 1.2.4 Conjuntos Finitos e Infinitos 1.2.5 Alfabetos, Palavras e Linguagens 1.2.6 Subconjunto e Igualdade de Conjuntos 1.2.7 Conjuntos nas Linguagens de Programação Matemática Discreta para Computação e Informática - P. Blauth Menezes 31

1.2.5 Alfabetos, Palavras e Linguagens Linguagem um dos conceitos mais fundamentais em Ciência da Computação definida a partir da noção de conjunto Para a definição de linguagem, é necessário conceitos de alfabeto conceitos de cadeia de caracteres Estudo de linguagens e conceitos correlatos Linguagens Formais Compiladores Matemática Discreta para Computação e Informática - P. Blauth Menezes 32

Def: Alfabeto Um conjunto finito elementos são usalmente denominados de símbolos ou caracteres Portanto conjunto vazio é um alfabeto qualquer conjunto infinito não é um alfabeto Matemática Discreta para Computação e Informática - P. Blauth Menezes 33

Def: Palavra, Cadeia de Caracteres, Sentença Sobre um alfabeto seqüência finita de símbolos justapostos Cadeia sem símbolos ε cadeia vazia, palavra vazia ou sentença vazia Conjunto de todas as palavras sobre um alfabeto * Matemática Discreta para Computação e Informática - P. Blauth Menezes 34

Exp: Alfabeto, Palavra e { a, b, c } são alfabetos N não é um alfabeto ε é uma palavra sobre { a, b, c } ε é uma palavra sobre a, e, i, o, u, ai, oi, ui, aeiou são palavras sobre Vogais 1, 001 são palavras distintas sobre Digitos { a, b }* = { ε, a, b, aa, ab, ba, bb, aaa, } * = { ε } Matemática Discreta para Computação e Informática - P. Blauth Menezes 35

Def: Linguagem Formal Ou simplesmente Linguagem um conjunto de palavras sobre um alfabeto Exp: Linguagem Formal: alfabeto = { a, b } { ε } obviamente, { ε } conjunto de palíndromos Palíndromos = { ε, a, b, aa, bb, aaa, aba, bab, bbb, aaaa, } mesma leitura da esquerda para a direita e vice-versa linguagem sempre infinita? Matemática Discreta para Computação e Informática - P. Blauth Menezes 36

Exp: Linguagens de Programação Linguagens de programação como Pascal, C e Java linguagens sobre o alfabeto constituído por letras digitos símbolos especiais (como espaço, parenteses, pontuação, etc) cada programa na linguagem corresponde uma palavra sobre o alfabeto Pascal, C e Java definidas por todos os seus programas possíveis são conjuntos infinitos pois, existem infinitos programas Matemática Discreta para Computação e Informática - P. Blauth Menezes 37

Obs: Compilador Pertinência à Linguagem Compilador de uma LP (linguagem de programação) software que traduz programa escrito na LP (linguagem fonte) para um código executável (linguagem objeto). Estrutura de um compilador análise: léxica, sintática e semântica síntese: geração e otimização de código executável análise p L? verifica se um dado programa fonte p é programa válido para a linguagem L Matemática Discreta para Computação e Informática - P. Blauth Menezes 38

1 Introdução e Conceitos Básicos 1.1 Introdução 1.2 Conceitos Básicos de Teoria dos Conjuntos 1.2.1 Conjuntos 1.2.2 Pertinência 1.2.3 Alguns Conjuntos Importantes 1.2.4 Conjuntos Finitos e Infinitos 1.2.5 Alfabetos, Palavras e Linguagens 1.2.6 Subconjunto e Igualdade de Conjuntos 1.2.7 Conjuntos nas Linguagens de Programação Matemática Discreta para Computação e Informática - P. Blauth Menezes 39

1.2.6 Subconjunto e Igualdade de Conjuntos Contido conceito fundamental da Teoria dos Conjuntos permite introduzir os conceitos subconjunto igualdade de conjuntos Matemática Discreta para Computação e Informática - P. Blauth Menezes 40

Todos elementos de A também são elementos de B A está contido em B A B A não está contido em B B contém A A B B A Matemática Discreta para Computação e Informática - P. Blauth Menezes 41

A é subconjunto de B A B ou B A A é subconjunto próprio de B A está contido propriamente em B A B e existe b B tal que b A (não contido propriamente) A B (A B) B contém propriamente A B A Matemática Discreta para Computação e Informática - P. Blauth Menezes 42

Exp: Contido, Subconjunto { a, b } { b, a } { a, b } { a, b, c } { a, b } { a, b, c } { 1, 2, 3 } N { 1, 2, 3 } N N Z N Z { a, b, c } { a, b, c } N N Matemática Discreta para Computação e Informática - P. Blauth Menezes 43

Conjunto Universo conjunto especial e importante contém todos os conjuntos considerados define o contexto de discussão portanto, não é um conjunto fixo normalmente denotado por U definido o conjunto universo, para qq conjunto A A U Matemática Discreta para Computação e Informática - P. Blauth Menezes 44

Conjuntos iguais A e B são conjuntos iguais sse possuem os mesmos elementos A = B se e somente se A B e B A Exp: Igualdade de Conjuntos { 1, 2, 3 } = { x N x > 0 e x < 4 } N = { x Z x 0 } { 1, 2, 3 } = { 3, 3, 3, 2, 2, 1 } { 1, 2, 3 } { 3, 3, 3, 2, 2, 1 } { 3, 3, 3, 2, 2, 1 } { 1, 2, 3 } Matemática Discreta para Computação e Informática - P. Blauth Menezes 45

Exp: Pertinência Contido É importante distinguir claramente entre pertinência e contido Considere o conjunto A = { 1, 2, 3,, {a}, {b, c} } { 1 } A A { a } A { b, c } A { 1, 2, 3 } A A { 1 } A { 1, 2, 3 } A Matemática Discreta para Computação e Informática - P. Blauth Menezes 46

Obs: Linguagem Conjunto de Todas as Palavras Definição alternativa para linguagem formal sobre um alfabeto L é qualquer subconjunto de * L * Matemática Discreta para Computação e Informática - P. Blauth Menezes 47

1 Introdução e Conceitos Básicos 1.1 Introdução 1.2 Conceitos Básicos de Teoria dos Conjuntos 1.2.1 Conjuntos 1.2.2 Pertinência 1.2.3 Alguns Conjuntos Importantes 1.2.4 Conjuntos Finitos e Infinitos 1.2.5 Alfabetos, Palavras e Linguagens 1.2.6 Subconjunto e Igualdade de Conjuntos 1.2.7 Conjuntos nas Linguagens de Programação Matemática Discreta para Computação e Informática - P. Blauth Menezes 48

1.2.7 Conjuntos nas Linguagens de Programação Conceitos da MD implementações em LP aplicação que será constantemente explorada conhecimentos de linguagem de programação não é pré-requisito exemplificação ilustrativa não detalhada informal Centrado na linguagem Pascal entendimento crescente e coerente Matemática Discreta para Computação e Informática - P. Blauth Menezes 49

Por que Pascal? desenvolvida para o ensino de programação formalmente bem definida (facilita o estudo matemático) inspirou diversas linguagens de programação comerciais disponível em diversos tipos de sistemas computadores freqüentemente adotada como primeira LP em cursos de computação e informática Matemática Discreta para Computação e Informática - P. Blauth Menezes 50

Tipo de dados conceito necessário para exemplificar conjuntos em LP informalmente e resumidamente conjunto de objetos (dados) e operações sobre estes objetos Considerando limitações dos computadores e objetivando a portabilidade do software algumas linguagens especificam limites dos valores do tipo de dados como os valores devem ser armazenados como as operações devem ser processadas Matemática Discreta para Computação e Informática - P. Blauth Menezes 51

A maioria das LP possui tipos de dados predefinidos Real ou Ponto Flutuante Inteiro Caractere Booleano ou Lógico Tipos Real e Inteiro implementam um subconjunto próprio de R e Z operações como adição, multiplicação Tipos Caractere e Lógico implementa os caracteres usuais como letras e dígitos implementa os valores lógicos verdadeiro e falso operações especiais (estudadas ao longo da disciplina) Matemática Discreta para Computação e Informática - P. Blauth Menezes 52

Muitas LP não possuem facilidades adequadas para definir e operar conjuntos Pascal oferece algum tratamento de conjuntos Definição de tipos baseados em conjuntos finitos cores set of (amarelo, vermelho, azul, branco, preto) dias_semana set of (seg, ter, qua, qui, sex, sab, dom) letras set of a.. z Matemática Discreta para Computação e Informática - P. Blauth Menezes 53

Definição de constantes de um tipo conjunto [vermelho, amarelo, azul] [ ] [seg..dom] [seg..sex] [ a, e, i, o, u ] Correspondem aos seguintes conjuntos { vermelho, amarelo, azul } { seg, ter, qua, qui, sex, sab, dom } { seg, ter, qua, qui, sex } { a, e, i, o, u } Matemática Discreta para Computação e Informática - P. Blauth Menezes 54

Definição de variáveis de um tipo conjunto quais nomes (das variáveis) correspondem a quais tipos cores_primarias: cores feriado, semana, trabalho: dias_semana vogais: letras Matemática Discreta para Computação e Informática - P. Blauth Menezes 55

Trechos de programas em Pascal cores_primarias := [vermelho, amarelo, azul] feriado := [ ] semana := [seg..dom] trabalho := [seg..sex] vogais := [ a, e, i, o, u ] Interpretação cores_primarias = { vermelho, amarelo, azul } feriado = semana = { seg, ter, qua, qui, sex, sab, dom } trabalho = { seg, ter, qua, qui, sex } vogais = { a, e, i, o, u } Matemática Discreta para Computação e Informática - P. Blauth Menezes 56

Atribuição Teste de igualdade := para associar a variável ao seu valor = para verificar uma igualdade Distinção? objetiva facilitar a construção do compilador Matemática Discreta para Computação e Informática - P. Blauth Menezes 57

Igualdade cores_primarias = [vermelho, amarelo, azul] feriado = trabalho Interpretação cores_primarias = { vermelho, amarelo, azul } feriado = trabalho verdadeiro falso Matemática Discreta para Computação e Informática - P. Blauth Menezes 58

Subconjunto (continência) trabalho <= semana [sab, dom] <= trabalho Interpretação trabalho semana verdadeiro { sab, dom } trabalho falso Matemática Discreta para Computação e Informática - P. Blauth Menezes 59

Pertinência a in vogais dom in trabalho Interpretação a vogais dom trabalho verdadeiro falso Matemática Discreta para Computação e Informática - P. Blauth Menezes 60

Matemática Discreta para Computação e Informática P. Blauth Menezes 1 Introdução e Conceitos Básicos 2 Noções de Lógica e Técnicas de Demonstração 3 Álgebra de Conjuntos 4 Relações 5 Funções Parciais e Totais 6 Endorrelações, Ordenação e Equivalência 7 Cardinalidade de Conjuntos 8 Indução e Recursão 9 Álgebras e Homomorfismos 10 Reticulados e Álgebra Booleana 11 Conclusões Matemática Discreta para Computação e Informática - P. Blauth Menezes 61

Matemática Discreta para Computação e Informática P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Computação e Informática - P. Blauth Menezes 62