Sunteți pe pagina 1din 15

captulo

introduo e conceitos bsicos

Este captulo faz uma apresentao da matemtica discreta, de sua importncia, de seus conceitos bsicos e de seus usos. Tambm apresenta uma reviso dos conceitos bsicos de teoria dos conjuntos, pr-requisitos para todo o texto subsequente. Esses conceitos bsicos so instanciados em alguns fundamentos de computao e informtica como alfabetos, palavras e linguagens e ilustram o seu uso em linguagens de programao como Pascal.

24

Matemtica Discreta para Computao e Informtica

1.1

introduo matemtica discreta

Praticamente qualquer estudo em computao e informtica, terico ou aplicado, exige como pr-requisito conhecimentos de diversos tpicos de matemtica. Tal fato normalmente explicitado na maioria dos livros de computao e informtica, sendo que alguns possuem um captulo especfico em que tais tpicos so resumidamente introduzidos. A importncia da matemtica explicitada nas Diretrizes Curriculares do MEC para cursos de computao e informtica (Brasil, [20--?]), como segue (a matria matemtica integrante da rea de formao bsica): A formao bsica tem por objetivo introduzir as matrias necessrias ao desenvolvimento tecnolgico da computao. O principal ingrediente desta rea a cincia da computao, que caracteriza o egresso como pertencente rea de computao. A maioria das matrias tecnolgicas so aplicaes da cincia da computao. So matrias de formao bsica dos cursos da rea de computao: a cincia da computao, a matemtica, a fsica e eletricidade e a pedagogia. Especificamente em relao matria matemtica, o texto destaca que: A matemtica, para a rea de computao, deve ser vista como uma ferramenta a ser usada na denio formal de conceitos computacionais (linguagens, autmatos, mtodos, etc). Os modelos formais permitem denir suas propriedades e dimensionar suas instncias, dadas suas condies de contorno. Assim, este livro contm uma seleo de tpicos de matemtica, os quais so essenciais para o estudo de computao e informtica, tanto na rea de formao bsica como na de formao tecnolgica. Esta seleo de tpicos comumente denominada de matemtica discreta: Considerando que a maioria dos conceitos computacionais pertencem ao domnio do discreto, a matemtica discreta (ou tambm chamada lgebra abstrata) fortemente empregada. Deve-se observar que no objetivo desta publicao cobrir todos os tpicos de matemtica discreta. Assim, alguns temas como anlise combinatria e probabilidade discreta no so desenvolvidos. Adicionalmente, apenas alguns tpicos de teoria dos grafos so introduzidos. Uma questo importante para o entendimento do que segue a origem do termo matemtica discreta. Intuitivamente falando, qualquer sistema computador possui limitaes finitas em todos os seus principais aspectos como, por exemplo, tamanho da memria, nmero de instrues que pode executar, nmero de smbolos diferentes que pode tratar, etc. Assim, o estudo dos conjuntos finitos fundamental.

Captulo 1

Introduo e Conceitos Bsicos

25

O fato de um sistema computador possuir limitaes finitas no implica necessariamente uma limitao ou pr-fixao de tamanhos mximos. Por exemplo, no que se refere capacidade de armazenamento, um computador pode possuir unidades auxiliares como discos removveis, fitas, etc. Portanto, para um correto entendimento de diversos aspectos computacionais, frequentemente no possvel pr-fixar limites, o que implica tratar tais questes em um contexto infinito. Entretanto, qualquer conjunto de recursos computacionais, finito ou infinito, contvel ou discreto (em oposio ao termo contnuo), no sentido de que seus elementos (recursos) podem ser enumerados ou sequenciados (segundo algum critrio) de tal forma que no existe um elemento entre quaisquer dois elementos consecutivos da enumerao. Por exemplo, o conjunto dos nmeros naturais obviamente contvel. Um importante contraexemplo o conjunto dos nmeros reais, que no contvel ou no discreto. Isso significa que existem conjuntos infinitos contveis e conjuntos infinitos no contveis. Assim, a matemtica discreta possui como nfase os estudos matemticos baseados em conjuntos contveis, finitos ou infinitos. Em oposio, a matemtica do continuum possui como nfase os estudos matemticos baseados em conjuntos no contveis. Um importante exemplo de matemtica do continuum o clculo diferencial e integral. Com o objetivo de manter o leitor motivado com o desenvolvimento do contedo, sempre que possvel, para cada conceito de matemtica discreta introduzido, so discutidas aplicaes tpicas de diversas reas da computao e informtica.

1.2

conceitos bsicos de teoria dos conjuntos

O texto que segue introduz alguns conceitos bsicos relativos teoria dos conjuntos que, possivelmente, so do conhecimento do leitor. Neste caso, sugere-se uma rpida passagem para verificar as nomenclaturas e convenes adotadas ao longo do livro, bem como a leitura da exemplificao de seu uso em computao e informtica.

1.2.1 conjuntos
O conceito de conjunto fundamental, pois praticamente todos os conceitos desenvolvidos em computao e informtica, bem como os correspondentes resultados, so baseados em conjuntos ou construes sobre conjuntos. Conjunto uma estrutura que agrupa objetos e constitui uma base para construir estruturas mais complexas. Assim, informalmente, um conjunto uma coleo, sem repeties e sem qualquer ordenao, de objetos denominados elementos. O termo elemento usado de forma ampla e pode designar um objeto concreto ou abstrato. Neste contexto, um elemento uma entidade bsica que no definida formalmente.

26

Matemtica Discreta para Computao e Informtica

definio 1.1 Conjunto Um conjunto uma coleo de zero ou mais objetos distintos, chamados elementos do conjunto, os quais no possuem qualquer ordem associada. exemplo 1.1 Conjuntos a b c d e f As vogais a, e, i, o, u; O par de sapatos preferido; Os dgitos 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9; Todos os brasileiros; Os nmeros pares 0, 2, 4, 6, O personagem Snoopy, a letra a, a baa da Guanabara e o Pel.

Observe que um conjunto pode ser definido listando-se todos os seus elementos (como as vogais a, e, i, o, u) ou por propriedades declaradas (como todos os brasileiros). Adicionalmente, deve ficar claro que um conjunto no necessariamente constitudo por objetos que compartilham as mesmas caractersticas ou propriedades (como em o personagem Snoopy, a letra a, a baa da Guanabara e o Pel). A definio de um conjunto listando todos os seus elementos denominada denotao por extenso e dada pela lista de todos os seus elementos, em qualquer ordem (separados por vrgulas) e entre chaves, como por exemplo: Vogais = { a, e, i, o, u } Neste caso, Vogais denota o conjunto { a, e, i, o, u }. A definio de um conjunto por propriedades denominada denotao por compreenso como, por exemplo: Pares = { n n nmero par } a qual interpretada como: o conjunto de todos os elementos n tal que n nmero par Assim, a forma geral de definio de um conjunto por propriedades como segue: { x p(x) } e tal que um determinado elemento a elemento deste conjunto se a propriedade p verdadeira para a, ou seja, se p(a) verdadeira. Por exemplo, para o conjunto: B = { x x brasileiro } tem-se que Pel elemento de B e Bill Gates no elemento de B. Muitas vezes conveniente especificar um conjunto de outra forma que no por compreenso, como, por exemplo:

Captulo 1

Introduo e Conceitos Bsicos

27

Dgitos = { 0, 1, 2, 3,, 9 } Pares = { 0, 2, 4, 6, } nos quais os elementos omitidos podem ser facilmente deduzidos do contexto. exemplo 1.2 Conjuntos a Semana = { seg, ter, qua, qui, sex, sab, dom } b Duas Vogais = { aa, ae, ai, ao, au, ea, ee, ei, eo, eu,,ua, ue, ui, uo, uu } c { x x = y2 sendo que y nmero inteiro } o que corresponde ao conjunto { 0, 1, 4, 9, 16, }

1.2.2 pertinncia
Se um determinado elemento a elemento de um conjunto A, tal fato denotado por: aA que interpretado como segue: a pertence ao conjunto A Caso contrrio, afirma-se que a no pertence ao conjunto A. Tal fato denotado por: aA exemplo 1.3 Pertence, no pertence a Relativamente ao conjunto Vogais = { a, e, i, o, u }, tem-se que: a Vogais h Vogais b Relativamente ao conjunto B = { x x brasileiro }, tem-se que: Pel B Bill Gates B

1.2.3

alguns conjuntos importantes

Um conjunto especialmente importante o conjunto vazio, ou seja, o conjunto sem elementos { }, usualmente representado pelo seguinte smbolo: exemplo 1.4 Conjunto vazio a o conjunto de todos os brasileiros com mais de 300 anos; b o conjunto de todos os nmeros que so simultaneamente pares e mpares.

Um tipo de conjunto quase to importante como o vazio o conjunto unitrio, ou seja, um conjunto constitudo por um nico elemento. Existem infinitos conjuntos unitrios. Entretan-

28

Matemtica Discreta para Computao e Informtica

to, para muitas aplicaes, pode-se usar qualquer conjunto unitrio, ou seja, o fato importante que o conjunto considerado possui um nico elemento, sendo irrelevante qual o elemento que o constitui. Nesse caso, um conjunto unitrio fixado usualmente denotado por 1. exemplo 1.5 Conjunto unitrio a o conjunto constitudo pelo jogador de futebol Pel; b o conjunto de todos os nmeros que so simultaneamente pares e primos; c 1={*}

Os seguintes conjuntos (os quais devem ser do conhecimento do leitor) so importantes na matemtica em geral e na computao e informtica em particular e possuem uma denotao universalmente aceita: (letras maisculas c/ barra dupla) N Z Q I R conjunto dos nmeros naturais conjunto dos nmeros inteiros conjunto dos nmeros racionais conjunto dos nmeros irracionais conjunto dos nmeros reais

1.2.4

conjuntos finitos e infinitos

Um conjunto pode possuir um nmero finito ou infinito de elementos. A definio formal de conjunto finito e infinito ser apresentada adiante. Informalmente, um conjunto dito: a Conjunto finito se pode ser denotado por extenso, ou seja, listando exaustivamente todos os seus elementos; b Conjunto infinito, caso contrrio. exemplo 1.6 Conjunto finito, conjunto infinito a Os seguintes conjuntos so finitos: {} Vogais = { a, e, i, o, u } Dgitos = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } { Snoopy, a, baa da Guanabara, Pel } A={xNx>0ex<4} B = { x x brasileiro } b Os seguintes conjuntos so infinitos: Z R {xZx0} Pares = { y y = 2x e x N }

Captulo 1

Introduo e Conceitos Bsicos

29

Observe que o conjunto A = { x N x > 0 x < 4 } finito, pois poderia ser representado por extenso, ou seja, A = { 1, 2, 3 }. Analogamente para o conjunto B = { x x brasileiro } (a representao por extenso claramente possvel, embora trabalhosa). Tambm, repare que o conjunto { x Z x 0 } corresponde ao conjunto N.

1.2.5

alfabetos, palavras e linguagens

A noo de conjunto permite definir linguagem, um dos conceitos mais fundamentais em computao e informtica. Para a definio de linguagem, necessrio antes introduzir os conceitos de alfabeto e de cadeia de caracteres. O estudo detalhado destes e de outros conceitos correlatos realizado em algumas disciplinas como linguagens formais e compiladores. definio 1.2 Alfabeto Um alfabeto um conjunto finito. Os elementos de um alfabeto so usualmente denominados de smbolos ou caracteres. Portanto, o conjunto vazio um alfabeto, e um conjunto infinito no um alfabeto. definio 1.3 Palavra, cadeia de caracteres, sentena Uma palavra ou cadeia de caracteres ou sentena sobre um alfabeto uma sequncia finita de smbolos (do alfabeto) justapostos. Portanto, uma cadeia sem smbolos uma palavra vlida, e o smbolo: denota a cadeia vazia, palavra vazia ou sentena vazia.

Se representa um alfabeto, ento: * a b c d e f g h denota o conjunto de todas as palavras possveis sobre .

exemplo 1.7 Alfabeto, palavra Os conjuntos e { a, b, c } so alfabetos; O conjunto N no um alfabeto; uma palavra sobre o alfabeto { a, b, c }; uma palavra sobre o alfabeto ; a,e,i,o,u,ai,oi,ui e aeiou so exemplos de palavras sobre Vogais; 1 e 001 so exemplos de palavras distintas sobre Dgitos; { a, b }* = { , a, b, aa, ab, ba, bb, aaa, }; * = { }.

definio 1.4 Linguagem formal Uma linguagem formal, ou simplesmente linguagem, um conjunto de palavras sobre um alfabeto.

30

Matemtica Discreta para Computao e Informtica

exemplo 1.8 Linguagem formal Suponha o alfabeto = { a, b }. Ento: a O conjunto vazio e o conjunto formado pela palavra vazia so linguagens sobre . Obviamente, { }; b O conjunto de palndromos (palavras que tm a mesma leitura da esquerda para a direita e vice-versa) sobre um exemplo de linguagem (infinita): Palndromos = { , a, b, aa, bb, aaa, aba, bab, bbb, aaaa, }. exemplo 1.9 Linguagens de programao As linguagens de programao como Pascal, C e Java so linguagens sobre o alfabeto constitudo por letras, dgitos e alguns smbolos especiais (como espao, parnteses, pontuao, etc.). Nesse caso, cada programa na linguagem corresponde a uma palavra sobre o alfabeto. Ou seja, uma linguagem de programao definida por todos os seus programas possveis. Portanto, Pascal, Java, C, bem como qualquer linguagem de programao de propsitos gerais, so conjuntos infinitos. observao 1.10 Compilador pertinncia linguagem Um compilador de uma linguagem de programao um software que traduz um programa escrito na linguagem de programao (linguagem fonte) para um cdigo executvel no sistema computador (linguagem objeto). Em geral, um compilador estruturado em duas grandes partes: anlise (anlise lxica, anlise sinttica e anlise semntica) e sntese (gerao e otimizao de cdigo executvel). Resumidamente, a anlise verifica se um dado programa fonte p , de fato, um programa vlido para a linguagem L em questo, ou seja, verifica se: pL

1.2.6

subconjunto e igualdade de conjuntos

Alm da noo de pertinncia j introduzida, outra noo fundamental da teoria dos conjuntos a de continncia, que permite introduzir os conceitos de subconjunto e de igualdade de conjuntos. Se todos os elementos de um conjunto A tambm so elementos de um conjunto B, ento se afirma que A est contido em B e denota-se por: AB ou, alternativamente, que B contm A, e denota-se por: BA Nesse caso (A B ou B A), afirma-se que A subconjunto de B. Adicionalmente, se A B, mas existe b B tal que b A, ento se afirma que A est contido propriamente em B, ou que A subconjunto prprio de B, e denota-se por: AB

Captulo 1

Introduo e Conceitos Bsicos

31

Ou, alternativamente, que B contm propriamente A e denota-se por: BA Quando no fato que A B (respectivamente, A B), usual denotar como segue: A B (respectivamente, A B)

Outra terminologia usual, mas que no ser adotada neste livro, a seguinte:

contido amplamente significando contido; contido estritamente significando contido propriamente.

exemplo 1.11 Continncia, subconjunto a { a, b } { b, a } b { a, b } { a, b, c }, { a, b } { a, b, c } c { 1, 2, 3 } N, { 1, 2, 3 } N d N Z, N Z e { a, b, c }, { a, b, c } f N, N

Um conjunto especial e importante o conjunto universo, normalmente denotado por U, que contm todos os conjuntos que esto sendo considerados. Ou seja, o conjunto universo define o contexto de discusso (e portanto, U no um conjunto fixo). Uma vez definido o conjunto universo U, para qualquer conjunto A, tem-se que: AU Os conjuntos A e B so ditos conjuntos iguais, o que denotado por: A=B se e somente se possuem exatamente os mesmos elementos. Formalmente, afirma-se que: A=B se e somente se ABeBA

exemplo 1.12 Igualdade de conjuntos a { 1, 2, 3 } = { x N x > 0 e x < 4 } b N={xZx0} c { 1, 2, 3 } = { 3, 3, 3, 2, 2, 1 }

Este ltimo item ilustra claramente a definio de igualdade. De fato, fcil verificar que: { 1, 2, 3 } { 3, 3, 3, 2, 2, 1 } e { 3, 3, 3, 2, 2, 1 } { 1, 2, 3 }.

Observe que este exemplo tambm ilustra por que as repeties de elementos podem ser desconsideradas (se o leitor tiver alguma dvida, revise a definio de continncia). importante distinguir claramente entre pertinncia e continncia. Sugere-se ler atentamente o exemplo que segue. exemplo 1.13 Pertinncia continncia Lembre-se de que os elementos de um conjunto podem ser quaisquer objetos. Em particular, podem ser conjuntos. Considere o conjunto A = { 1, 2, 3, , {a}, {b, c} }. Ento (justifique):

32

Matemtica Discreta para Computao e Informtica

a { 1 } A, { 1 } A b A, A

c { a } A, { b, c } A d { 1, 2, 3 } A, { 1, 2, 3 } A

observao 1.14 Linguagem formal conjunto de todas as palavras Considere a Definio 1.4 Linguagem Formal. Uma linguagem formal L sobre um alfabeto pode alternativamente ser definida como um subconjunto de *, ou seja: L *

1.2.7

conjuntos nas linguagens de programao

Como j introduzido, ao longo de todo o livro so exemplificadas aplicaes de matemtica discreta em computao e informtica. Uma aplicao constantemente explorada a relao entre os conceitos matemticos desenvolvidos e suas implementaes em linguagens de programao. Entretanto, como conhecimentos de linguagem de programao no so pr-requisitos deste livro, a exemplificao ser ilustrativa e, portanto, no detalhada, nem formal. Com o objetivo de manter um entendimento crescente e coerente da aplicao da matemtica discreta em linguagens de programao, o texto centrado na linguagem Pascal, por diversas razes, com destaque para as seguintes:

uma linguagem desenvolvida objetivando o ensino de programao; formalmente bem definida, o que facilita o seu estudo matemtico; inspirou diversas linguagens de programao comerciais; disponvel em diversos tipos de sistemas computadores; frequentemente adotada como primeira linguagem de programao em cursos de computao e informtica.

Para exemplificar conjuntos em linguagens de programao, necessrio antes introduzir o conceito de tipo de dado. Informalmente e resumidamente, um tipo de dado em computao e informtica um conjunto de objetos (dados) e certas operaes sobre esses objetos. Considerando as limitaes usuais dos sistemas computadores e objetivando manter a portabilidade dos softwares, algumas linguagens especificam os limites dos valores do tipo de dados, como os valores devem ser armazenados e como as operaes devem ser processadas. A grande maioria das linguagens de programao possui alguns tipos de dados predefinidos como, por exemplo:

Real ou Ponto Flutuante Inteiro Caractere Booleano ou Lgico

Captulo 1

Introduo e Conceitos Bsicos

33

Considerando as limitaes fsicas de representao de conjuntos infinitos ou de preciso de valores em um sistema computador (esse assunto normalmente detalhado em disciplinas como arquitetura de computadores e matemtica computacional), os tipos Real e Inteiro implementam um subconjunto prprio de R e de Z, respectivamente (bem como algumas operaes tradicionais como adio, multiplicao, etc.). O tipo Caractere implementa os caracteres usuais como letras e dgitos, bem como alguns smbolos especiais (parnteses, pontuao, aspas, etc.). O tipo Lgico implementa os valores lgicos verdadeiro e falso. Para ambos os tipos, so implementadas operaes especiais, algumas das quais so discutidas ao longo deste livro. Pode aparentar uma contradio, mas muitas linguagens de programao no possuem facilidades adequadas para definir e operar conjuntos. Em particular, Pascal oferece algum tratamento de conjuntos. De fato, em Pascal, pode-se definir tipos baseados em conjuntos finitos. Por exemplo, na ltima linha, o texto 'a'..'z' denota o intervalo [a,,z]): cores set of (amarelo, vermelho, azul, branco, preto) dias_semana set of (seg, ter, qua, qui, sex, sab, dom) alfabeto set of 'a'..'z' Adicionalmente, pode-se definir constantes e variveis de um tipo conjunto. A definio de constantes de um tipo conjunto realizada sempre por extenso, como, por exemplo: [vermelho, amarelo, azul] [ ] [seg..dom] [seg..sex] ['a', 'e', 'i', 'o', 'u'] os quais correspondem aos seguintes conjuntos, respectivamente: { vermelho, amarelo, azul } { seg, ter, qua, qui, sex, sab, dom } { seg, ter, qua, qui, sex } { a, e, i, o, u } A definio de variveis de um tipo conjunto realizada listando quais nomes (das variveis) correspondem a quais tipos. Por exemplo, no que segue, so declaradas (definidas) cinco variveis de trs tipos: cores_primarias: cores feriado, semana, trabalho: dias_semana vogais: alfabeto

34

Matemtica Discreta para Computao e Informtica

Assim, os seguintes trechos de programas em Pascal: cores_primarias := [vermelho, amarelo, azul] feriado := [ ] semana := [seg..dom] trabalho := [seg..sex] vogais := ['a', 'e', 'i', 'o', 'u'] correspondem, na teoria dos conjuntos, aos seguintes conjuntos e suas correspondentes denotaes: 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 } Observe que, no trecho de programa acima, foi usado o smbolo := e no = para associar a varivel ao seu valor. De fato, em Pascal, bem como na maioria das linguagens de programao, o smbolo = usado exclusivamente para verificar uma igualdade, e no para definir ou atribuir valores. Essa distino objetiva facilitar a construo do correspondente compilador. No desenvolvimento de compiladores, o tratamento de questes sintticas bem mais simples do que o tratamento de questes semnticas. Por essa razo, o teste da igualdade e a atribuio so sintaticamente distinguidos. As noes de igualdade, subconjunto (contido) e pertinncia tambm podem ser especificadas em Pascal, usando-se a seguinte simbologia: <= = (continncia) (igualdade)

Por exemplo, suponha os trechos de programas acima e considere os seguintes trechos (observe que, no que segue, o smbolo = usado com o sentido de igualdade): cores_primarias = [vermelho, amarelo, azul] feriado = trabalho trabalho <= semana [sab, dom] <= trabalho 'a' in vogais dom in trabalho

Captulo 1

Introduo e Conceitos Bsicos

35

os quais correspondem s seguintes proposies sobre a teoria dos conjuntos: cores_primarias = { vermelho, amarelo, azul } feriado = trabalho trabalho semana { sab, dom } trabalho a vogais dom trabalho (verdadeiro) (falso) (verdadeiro) (falso) (verdadeiro) (falso)

1.3

exerccios

exerccio 1.1 Para cada conjunto abaixo:


descreva de forma alternativa (usando outra forma de notao); diga se finito ou infinito. c Todos os pases do mundo d A linguagem de programao Pascal

a Todos os nmeros inteiros maiores que 10 b { 1, 3, 5, 7, 9, 11, }

exerccio 1.2 Para A = { 1 }, B = { 1, 2 } e C = { { 1 }, 1 }, marque as afirmaes corretas: a b c d e f g AB AB AB A=B AC AC AC [ [ [ [ [ [ [ ] ] ] ] ] ] ] h i j k l m n A=C 1A 1C {1}A {1}C C C [ [ [ [ [ [ [ ] ] ] ] ] ] ]

exerccio 1.3 Sejam a = { x 2x = 6 } e b = 3. Justifique ou refute a seguinte afirmao: a=b exerccio 1.4 Quais so todos os subconjuntos dos seguintes conjuntos? a A = {a, b, c } b B = { a, { b, c }, D } dado que D = { 1, 2 } exerccio 1.5 O conjunto vazio est contido em qualquer conjunto (inclusive nele prprio)? Justifique a sua resposta. exerccio 1.6 Todo conjunto possui um subconjunto prprio? Justifique a sua resposta.

36

Matemtica Discreta para Computao e Informtica

exerccio 1.7 Sejam A = { 0, 1, 2, 3, 4, 5 }, B = { 3, 4, 5, 6, 7, 8 }, C = { 1, 3, 7, 8 }, D = { 3, 4 }, E = { 1, 3 }, F = { 1 } e X um conjunto desconhecido. Para cada item abaixo, determine quais dos conjuntos A, B, C, D, E ou F podem ser iguais a X: a XAeXB b XBeXC c XAeXC d XBeXC

exerccio 1.8 Sejam A um subconjunto de B e B um subconjunto de C. Suponha que a A, b B, c C, d A, e B, f C. Quais das seguintes afirmaes so verdadeiras? a b c d e f aC bA cA dB eA fA

exerccio 1.9 Marque os conjuntos que so alfabetos: a Conjunto dos nmeros naturais b Conjunto dos nmeros primos c Conjunto das letras do alfabeto brasileiro d Conjunto dos algarismos arbicos e Conjunto dos algarismos romanos f Conjunto { a, b, c, d } g Conjunto das vogais h Conjunto das letras gregas [ ] [ ] [ [ [ [ [ [ ] ] ] ] ] ]

exerccio 1.10 Sejam = { a, b, c,, z } e Dgitos = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } alfabetos. Ento: a Para cada um dos alfabetos abaixo, descreva o correspondente conjunto de todas as palavras: a.1) a.2) Dgitos b Discuta as seguintes afirmaes: b.1) Portugus uma linguagem sobre , ou seja, um subconjunto de * Dica: Quais os smbolos usados para compor um texto em portugus? b.2) N uma linguagem sobre Dgitos, ou seja, um subconjunto de Dgitos* b.3) N = Dgitos* Dica: Como fica o caso da palavra vazia?

Captulo 1

Introduo e Conceitos Bsicos

37

exerccio 1.11 Em que condies o conjunto de todos os palndromos sobre um alfabeto constitui uma linguagem finita? exerccio 1.12 Para que o leitor se convena plenamente da importncia da matemtica discreta para a computao e informtica, sugere-se, como exerccio complementar, duas pesquisas na internet, a saber: a Uma sobre currculos de cursos de computao e informtica no mundo, e sua relao com matemtica discreta. Observe que algumas vezes matemtica discreta denominada de lgebra; b Outra sobre a importncia da matemtica discreta para a computao e informtica e o detalhamento do porqu do termo discreta. exerccio 1.13 Mesmo que o leitor no tenha conhecimentos de linguagens de programao, possvel, com um rpido estudo, desenvolver programas simples em Pascal. Assim, sugere-se como exerccio complementar de pesquisa, o desenvolvimento de um programa em Pascal que implemente os trechos de programas exemplificados neste captulo.

S-ar putea să vă placă și