Matematica discreta fasciculo_3_v06

66

description

 

Transcript of Matematica discreta fasciculo_3_v06

Page 1: Matematica discreta fasciculo_3_v06
Page 2: Matematica discreta fasciculo_3_v06

Universidade Federal Rural de Pernambuco

Reitor: Prof. Valmar Corrêa de AndradeVice-Reitor: Prof. Reginaldo BarrosPró-Reitor de Administração: Prof. Francisco Fernando Ramos CarvalhoPró-Reitor de Extensão: Prof. Paulo Donizeti SiepierskiPró-Reitor de Pesquisa e Pós-Graduação: Prof. Fernando José FreirePró-Reitor de Planejamento: Prof. Rinaldo Luiz Caraciolo FerreiraPró-Reitora de Ensino de Graduação: Profª. Maria José de SenaCoordenação de Ensino a Distância: Profª Marizete Silva Santos

Produção Gráfica e EditorialCapa e Editoração: Allyson Vila Nova, Rafael Lira e Italo AmorimRevisão Ortográfica: Marcelo MeloIlustrações: Allyson Vila Nova e Diego AlmeidaCoordenação de Produção: Marizete Silva Santos

Page 3: Matematica discreta fasciculo_3_v06
Page 4: Matematica discreta fasciculo_3_v06

Sumário

Plano da Disciplina ...............................................................................6

Ementa ...........................................................................................6

Objetivo Geral.................................................................................6

Objetivos Específicos .....................................................................6

Conteúdo Programático..................................................................6

Referências ....................................................................................7

Apresentação ........................................................................................8

Capítulo 1 - Função: uma ferramenta importante ............................10

1.1 O que é função? .........................................................................11

1.2 Domínio e Contradomínio ...........................................................11

1.3 Função Injetora ...........................................................................13

1.4 Função sobrejetora .....................................................................13

1.5 Função bijetora ...........................................................................14

1.6 Função inversa ...........................................................................15

1.7 Função composta .......................................................................17

1.8 Seqüência ...................................................................................20

Capítulo 2 - Recursão: um método de definição .............................27

2.1 Recursão ....................................................................................27

Page 5: Matematica discreta fasciculo_3_v06

Capítulo 03 - Teoremas e Técnicas de Provas .................................45

3.1 Estratégias de Provas .................................................................47

3.1.1 Prova Direta.........................................................................47

3.1.2 Prova Indireta ......................................................................48

3.1.3 Prova por contradição (Redução ao absurdo) ....................49

Capítulo 04 - Princípio de Indução Finita .........................................53

Page 6: Matematica discreta fasciculo_3_v06

Plano da Disciplina

Ementa

Conjuntos. Introdução à Lógica Matemática. Portas Lógicas. Somatório. Princípios de Contagem. Matrizes. Relações. Funções. Recursão. Técnicas de provas. Indução Matemática.

Objetivo Geral

O objetivo geral é abordar conteúdos selecionados da Matemática Discreta que realizam interface com o curso de Sistema de Informação, visando dar a base para a compreensão de conceitos de estruturas de dados, bem como, para dar suporte na construção de algoritmos em seus diferentes níveis de complexidade.

Objetivos Específicos

• Aprender a encontrar modelos matemáticos que representem certos problemas concretos (noções de modelagem matemática), em especial quando estes se referem a situações práticas

• Familiarizar-se com a escrita matemática formal e a linguagem computacional

• Representar fenômenos na forma algébrica e na forma gráfica

• Conhecer técnicas de resolução de problemas

• Desenvolver a capacidade de raciocínio abstrato (lógico-matemático).

Conteúdo Programático

Módulo 1 – Fascículo 1

Carga horária do Módulo 1: 20 h

• Conjuntos.

• Introdução à Lógica Matemática.

• Portas Lógicas.

Page 7: Matematica discreta fasciculo_3_v06

Módulo 2 – Fascículo 2

Carga horária do Módulo 2: 20 h

Somatório. Princípios de Contagem. Matrizes. Relações

Módulo 3 – Fascículo 3

Carga horária do Módulo 3:

• Funções.

• Recursão. Técnicas de provas.

• Indução Matemática.

Referências

GERSTING, Judith L. Fundamentos Matemáticos para a Ciência da Computação. Tradução Valéria de Magalhães Lorio. Rio de Janeiro: LTC, 2004.

SChEINERMAN, Edward R. Matemática Discreta: uma introdução. Tradução de Alfredo Alves de Farias. São Paulo: Pioneira Thomson Learning, 2003.

Livros de referência:

ABE, Jair Minoro; PAPAVERO, Nelson. Teoria intuitiva dos conjuntos. São Paulo McGraw hill:, 1997

ALENCAR Filho, Edgard de. Iniciação à Lógica Matemática. São Paulo: Nobel, 1995.

ROSS, Kenneth A; WRIGhT, Charles R. B. Discrete Mathematics. Prentice hall, 1999.

TRUSS, J. K. Discrete mathematics for computer scientist. Addison Wesley. 1999.

LIPSChUTZ, Seimour; LIPSON, Marc Lars. Teoria e Problemas de Matemática Discreta. Porto Alegre: Bookman, 2004

Page 8: Matematica discreta fasciculo_3_v06

Apresentação

Caro (a) cursista,

Seja bem-vindo (a) ao terceiro módulo de Matemática Discreta!

Ao finalizar a disciplina, abordaremos, neste terceiro fascículo, alguns temas relevantes em aplicações nas áreas de informática, como função, recursão, teoremas e técnicas de provas e o princípio de indução matemática.

No primeiro capítulo, você estudará as funções. Estudaremos as funções injetoras, sobrejetoras, bijetoras e a função inversa. Apresentaremos exemplos de funções utilizadas na informática tais como seqüências numéricas, a função mod e a função hash.

No segundo capítulo, você descobrirá o que é uma definição recursiva ou indutiva. Serão apresentados exemplos de seqüências e funções definidas recursivamente, objetivando introduzir o conceito de um algoritmo recursivo.

No terceiro capítulo, você terá oportunidade de conhecer diversas técnicas de provas de proposições matemáticas, muito úteis na resolução de problemas da disciplina.

Por fim, no quarto capítulo será abordado o princípio de indução matemática que é usado quando se quer provar afirmações sobre propriedades dos números naturais.

Esperamos que você tenha bom proveito neste terceiro fascículo, estudando com afinco os assuntos e realizando todos os exercícios propostos.

Bons estudos!

Page 9: Matematica discreta fasciculo_3_v06
Page 10: Matematica discreta fasciculo_3_v06

10

Matemática Discreta

Capítulo 1 - Função: uma ferramenta importante

Disponível em http://www.ipea.gov.br

A figura acima representa o gráfico de uma função que relaciona o percentual da renda total do Brasil auferido em 2004 pelos x% dos brasileiros de menor renda. Constata-se que a renda total dos 60% de menor renda representou apenas 20% da renda total do país e que 60% da renda total correspondem a 20% dos brasileiros de maior renda. Esta curva é chamada Curva de Lorenz e faz parte da prova do ENADE que examinou os estudantes dos cursos das áreas de computação e informática no ano de 2008.

O conceito de funções é largamente empregado em todos os ramos de atividade, por isso é comum os testes de avaliação conter questões versando sobre o assunto.

No caso da computação e informática, a sua importância torna-se clara quando queremos associar a cada elemento de um conjunto um elemento particular de outro conjunto. Desta forma, podemos definir seqüências e somas, estabelecer relações de causa e efeito, processar informações dos mais diferentes tipos, além de estimar o tempo necessário para que um computador realize uma determinada tarefa num determinado algoritmo.

Page 11: Matematica discreta fasciculo_3_v06

11

Matemática Discreta

1.1 O que é função?

Sejam A e B dois conjuntos. Uma função de A em B é a associação de exatamente um elemento de B a cada elemento de A. As seguintes notações são usadas:

f: A → B, se f é uma função de A em B.

f(a) = b, se b é o único elemento de B associado pela função f ao elemento a de A.

1.2 Domínio e Contradomínio

Se f é uma função de A em B, diz-se que A é o domínio de f e B é o contradomínio de f. Se f(a) = b, diz-se que b é a imagem de a por f. Chama-se também de imagem de f o conjunto de todas as imagens dos elementos de A, denotado por Im(f). Se f é uma função de A em B, diz-se que f mapeia A em B.

A figura acima apresenta uma função cujo domínio é A = {1, 4, 7} e contradomínio B ={1, 4, 6, 7, 8, 9, 12} e conjunto imagem Im(f) = {6, 9, 12}.

Apresentaremos a seguir exemplos de funções, a maioria empregada em construções nas áreas de computação.

Exemplo 1. Consideremos que f seja uma função que associa um número a cada um dos cursos de uma faculdade, de modo que esse número represente a demanda (relação candidato/vaga) para cada um dos seus cursos no Vestibular de 2009. Se domínio da função f é o conjunto C = {Administração, Direito, Sistema de Informação, Fonoaudiologia, Fisioterapia, Psicologia, Relações Internacionais, Turismo}. O contradomínio é o conjunto dos números reais. Podemos escrever, por exemplo, f(Direito) = 7,8; f(Administração) = 2,6; f(Fisioterapia) = 7,4 ; f(Psicologia) = 5,4 e f(Sistemas de Informação)

Page 12: Matematica discreta fasciculo_3_v06

12

Matemática Discreta

= 2,0, f(Relações Internacionais) = 1,4, f(Fonoaudiologia) = 1,7, f(Turismo) 2,4.

Exemplo 2. Seja S o conjunto de todas as pessoas do Recife cadastradas na Receita Federal e T o conjunto de todos os CPF. A função f: S → T associa cada pessoa x ao seu CPF y.

Exemplo 3. Se f é uma função de Z para Z que associa a cada inteiro o seu quadrado. Neste caso, f(x) = x2, onde o domínio é o conjunto dos números inteiros, assim como o contradomínio é conjunto dos números inteiros. A imagem de f é constituída de todos os inteiros não negativos.

Exemplo 4. Em linguagens de programação, domínio e o contradomínio das funções são sempre especificados. Tomemos por exemplo a declaração de uma função em Pascal seguinte:

function QUAD (x: real): real

Ela especifica que o domínio da função QUAD é o conjunto dos números reais e o contradomínio é o conjunto dos números reais.

Exemplo 5. A definição de função inclui função de mais de uma variável. Podemos ter uma função f: A1xA2xA3 → B, que associa a cada terno do produto cartesiano A1xA2xA3 um elemento de B. Por exemplo, f : Z x N x {1, 2} → Z, dada por f(x, y, z) = xy +z . Podemos escrever: f(-4, 3, 1) = (-4)3 + 1 = -64 + 1 = 63.

Exemplo 6. A função chão f(x) = x associa a cada número real x o maior inteiro menor ou igual a x. A função teto g(x) = x associa a cada real x o menor inteiro maior ou igual a x. Ambas são funções de R em Z. Como exemplo, temos: f(2,35) = 2,35 = 2, f(0,9) = 0, g(4,78) = 4,78 = 5 e g(-1,3) = -1.

Exemplo 7. Considere x um número real. O valor inteiro de x, denotado por INT(x), converte x em um inteiro deletando a parte fracionária de x. É uma função de R em Z. Exemplos: INT(7,85) = 7 INT(-4,9) = -4.

Exemplo 8. O valor absoluto de um número real x, denotado por ABS(x) é definido como o maior dos valores entre x e –x. É uma função de R em R+. Pois, ABS(-3) = 3, ABS(4,7) = 4,7 e ABS(0) = 0.

Exemplo 9. Dado um inteiro positivo m, a função f : N → N definida por f(x) = resto da divisão euclidiana de x por m, m > 0, será denotada por f(x) = xmod m. É também chamada função mod m.

Page 13: Matematica discreta fasciculo_3_v06

13

Matemática Discreta

Por exemplo, para m = 5, temos que:

f(7) = 7mod 5 = 2, f(2) = 2mod 5 = 2, f(13) = 13mod 5 = 3,

f(8) = 3, f(10) = 10mod 5 = 0, f(5) = 5mod 5 = 0.

1.3 Função Injetora

Uma função f é dita injetora (ou injetiva) se, e somente se, x ≠ y então f(x) ≠ f(y), para quaisquer x e y do domínio de f.

Figura 1 Figura 2

O gráfico mostrado na figura acima à esquerda, ilustra uma função definida no conjunto A em B. Como elementos diferentes do domínio a função tem imagens diferentes, então f é injetora. A figura acima à direita ilustra uma função não injetora, pois existem dois elementos diferentes com a mesma imagem.

Exemplo 10. A função f: N em N tal que f(n) = 2n é uma função

injetora, pois se n1 ≠ n2 então 1 2 2 2n n≠ . Mas a função f(x) = x2, definida em Z, não é injetora, pois se tomarmos x = -2 e x = 2, obteremos f(2) = f(-2) = 4.

Exemplo 11. A função f: N em N, tal que f(n) = nmod 3 é uma função que não é injetora, pois, existem diferentes valores de N com a mesma imagem. De fato, f(0) = 0, f(3) = 0, f(6) = 0, f(1) = 1, f(4) = 1, f(9) = 1, f(2) = 2, f(5) = 2, f(11) = 2.

1.4 Função sobrejetora

Uma função f de A em B é dita sobrejetora se e somente se para cada elemento b∈B existe um elemento a∈A tal que f(a) = b.

Page 14: Matematica discreta fasciculo_3_v06

14

Matemática Discreta

O gráfico da figura acima à esquerda ilustra uma função de A em B. Como para cada um dos três elementos do contradomínio B faz parte do conjunto imagem de f, a função é sobrejetora. O gráfico acima à direita ilustra uma função que não é sobrejetora, pois existem elementos no conjunto B que não são imagem de nenhum elemento de A.

Observe que a figura à esquerda é o gráfico de uma função sobrejetora, mas não injetora!

1.5 Função bijetora

Uma função é dita bijetora se ela é injetora e sobrejetora.

O gráfico acima refere-se a uma função f de X = {a, b, c, d} em Y = {A, B , C, D}, com f(a) = A, f( b) = B, f(c) = C e f(d) = D. Como cada valor do domínio a função tem um valor diferente de imagem e como cada um dos elementos do contradomínio faz parte do conjunto imagem da função, ele é ao mesmo tempo injetora e sobrejetora, ou seja, bijetora.

Outro exemplo de função bijetora pode ser construído considerando como domínio um grupo de pessoas e como contradomínio o conjunto

Page 15: Matematica discreta fasciculo_3_v06

15

Matemática Discreta

das impressões digitais dessas pessoas. É impossível que duas pessoas compartilhem exatamente as mesmas impressões digitais. Além disso, todas as impressões digitais pertencem a não mais que uma pessoa.

1.6 Função inversa

Seja f uma função bijetora de A em B. A função inversa de f é a função que associa a um elemento b∈B um único elemento a∈A tal que f(a) = b. Esta função é representada por f-1. Nesse caso escrevemos f-1(b) = a

A figura abaixo ilustra a função inversa da função f de X = {a, b, c, d} em Y = {A, B, C, D}, com f(a) = A, f(b) = B, f(c) = C e f(d) = D.

Assim, temos f-1(A) = a, f-1(B) = b, f-1(C) = c e f-1(D) = d.

Exemplo 12. A função mod tem muitas aplicações em Matemática Discreta e Ciência da Computação. Uma das mais importantes aplicações envolve a criptologia, que trata do estudo das mensagens secretas. Uma das formas de escrever mensagens secretas é associar uma letra do nosso alfabeto a outra letra. Por exemplo, cada letra do nosso alfabeto (que contém 26 letras) está associada a sua posição no alfabeto. Por exemplo, a letra A ocupa a posição 0, a letra B a posição 1 e a letra E, a posição 4, de modo que Z ocupa a posição 25.

Page 16: Matematica discreta fasciculo_3_v06

16

Matemática Discreta

a b c d e f g h i j k l m

0 1 2 3 4 5 6 7 8 9 10 11 12

n o p q r s t u v w x y z

13 14 15 16 17 18 19 20 21 22 23 24 25

Assim, podemos construir uma mensagem secreta por meio da troca de uma letra que ocupa a posição p pela letra que ocupa a 3ª posição após a letra p. Assim:

A função definida por f(p) = (p + 3)mod 26 tem a ação de cifrar a mensagem por meio da troca da letra de posição p pela letra que ocupa a posição representada pelo número (p + 3)mod 26.

Se quisermos enviar a seguinte mensagem “O SPORT ESTÁ EM ALTA”, faríamos a seguinte mensagem codificada:

17 21 18 17 20 22 7 21 22 3 7 15 3 14 22 3R V S R U X h V X D h P D O W D

Ao receber a mensagem, para decodificar, o receptor usaria a função inversa de f, dada por

f-1(p) = (p-3)mod 26. De modo que f-1(17) = (17 - 3)mod 26 = 14mod 26 = 14

f-1(21) = (21-3)mod 26 = 18 e, assim por diante, de modo que a mensagem decifrada seria:

14 18 15 14 17 19 4 18 19 0 4 12 0 11 19 0O S P O R T E S T Á E M A L T A

Page 17: Matematica discreta fasciculo_3_v06

17

Matemática Discreta

Atenção

Uma função injetora, mas não sobrejetora, não é inversível, pois não temos como associar cada elemento do contradomínio com o elemento correspondente no domínio. Isto ocorre porque para alguns pontos do contradomínio, esta associação não existe, conforme pode ser observado na figura 4.

Analogamente, uma função sobrejetora, mas não injetora, não é inversível, pois pelo menos para um ponto do contradomínio, teremos dois pontos correspondentes, conforme pode ser observado na figura 3.

1.7 Função composta

Considere a função g de A em B e a função f de B em C, a função composta de f e g é a composição das funções f e g, escrita f o g, definida como:

(f o g) (x) = f (g(x))

A figura abaixo ilustra o conceito de composição de funções f e g.

Exemplo 13. Sejam f e g as funções do conjunto dos inteiros no conjunto dos inteiros, definidas como: f(x) = 5x + 2 e g(x) = -2x + 4. Qual a composição f o g? E g o f?

(f o g) (x) = f (-2x + 4) = 5(-2x + 4) + 2 = -10x + 20 + 2 = -10x + 22

Page 18: Matematica discreta fasciculo_3_v06

18

Matemática Discreta

(g o f) (x) = g(5x + 2) = -2(5x + 2) + 4 = -10x – 4 + 4 = -10x

Exemplo 14. Neste exemplo, recordaremos a representação de números nas bases decimal, binária e hexadecimal. Considere a função f definida no conjunto dos números naturais escritos na base decimal por f(x) = xbase 2 e g(x) = xbase 16. A função composta f(g(x)) transforma um número natural escrito na base dez em um número natural na base dois. Assim:

para x = 21base 10, temos f(g(21base 10)) = f(15base 16) = 10101base 2.

para x = 10base 10, temos f(g(10)) = f(A) = 1010base 2.

para x = 200base 10, temos f(g(200)) = f(C8) = 11001000base 2.

Exemplo 15. Se quisermos armazenar e recuperar informações de forma eficiente em termos de espaço de armazenamento e de tempo de recuperação, podemos supor que os dados estejam armazenados em uma tabela e usar a chave de identificação (por exemplo, a matrícula de alunos, CPF, RG, etc). Quando o número de entradas identificadas pelas chaves é muito superior ao número de registros efetivamente armazenados (como o cadastro de clientes de uma empresa usando o CPF como chave), como podemos proceder, sem que isso resulte em um espaço de armazenamento excessivamente grande?

Suponha que o conjunto das chaves identificáveis C = {k1, k2, k3, ... , km}, n seja o número de entradas na tabela e que m seja possivelmente muito maior que n, podemos definir uma função hash: C → {1, 2, 3, ... , n}, dito função de endereçamento, função de randomização ou função de hashing, da seguinte forma:

hash (k) = (kmod n) + 1

Considere uma chave de identificação numérica constituída de números entre 0 e 1000 e uma tabela de armazenamento com entradas de 1 a 17. Assim, a função de hash que podemos definir é

hash (k) = (kmod 17) + 1

Abaixo apresentamos um conjunto de valores de chaves e os correspondentes endereços de armazenamento, calculados pela função hash:

Chave k 365 634 2178 7615 730 974 2065 1222 3417Endereço 9 6 3 17 17 6 9 16 1

Page 19: Matematica discreta fasciculo_3_v06

19

Matemática Discreta

A função ideal é aquela que gera para cada chave um endereço diferente, isto é, uma função injetiva, de modo que se k1 ≠ k2 se tenha f(k1) ≠ f(k2).

A função hash, acima definida, não é injetora, de modo que pode gerar o mesmo endereço para chaves diferentes, correndo assim colisões na alocação dos dados. Observe que hash(365) = hash(2065) = 9, hash(7615) = hash(730) = 17. Para se obter o efeito de uma função injetora no cálculo do endereçamento serão utilizados métodos de tratamento de colisões que são estudados em profundidade na disciplina Estruturas de Dados.

Exemplo 16. Existem vários métodos de tratamento de colisões. Um deles chama-se endereçamento aberto. Nesse caso, é necessário que m > n e consiste em procurar sucessivos endereços alternativos para o novo registro até que um endereço livre seja encontrado. Usa-se uma função hi(k) com i variando de 0 até n-1:

hi(k) = ((k)mod n + f(i))mod n onde f(i) pode ser f(i) = i, f(i) = i2, etc.

Se tomarmos hi(k) = ((k)mod 7 + i)mod 7 teremos um endereçamento aberto com teste linear. Para armazenar seqüencialmente os registros com chaves {33, 44, 63, 66, 84, 93} teremos:

k i hi(k) = (kmod 7 + i)mod 7 Situação

33 0 hi(33) = (33mod 7 + 0)mod 7 = (5 + 0)mod 7 = 5mod 7 = 5 ok

44 0 hi(44) = (44mod 7 + 0)mod 7 = (2 + 0)mod 7 = 2mod 7 = 2 ok63 0 hi(63) = (63mod 7 + 0)mod 7 = (0 + 0)mod 7 = 0mod 7 = 0 ok

66 0 hi(66) = (66mod 7 + 0)mod 7 = (3 + 0)mod 7 = 3mod 7 = 3 ok

84 0

1

hi(84) = (84mod 7 + 0)mod 7 = (0 + 0)mod 7 = 0mod 7 = 0

hi(84) = (84mod 7 + 1)mod 7 = (1 + 0)mod 7 = 1mod 7 = 1

Colisão

ok

93 0

1

2

hi(93) = (93mod 7 + 0)mod 7 = (2 + 0)mod 7 = 2mod 7 = 2

hi(93) = (93mod 7 + 1)mod 7 = (2 + 1)mod 7 = 3mod 7 = 3

hi(93) = (93mod 7 + 2)mod 7 = (2 + 2)mod 7 = 4mod 7 = 4

Colisão

Colisão

ok

Os dados serão alocados nos seguintes endereços:

0 1 2 3 4 5 663 84 44 66 93 33

Page 20: Matematica discreta fasciculo_3_v06

20

Matemática Discreta

1.8 Seqüência

Uma seqüência é uma função definida em um subconjunto dos números naturais com imagens num subconjunto dos números reais. A imagem de um número natural n é denotada por F(n). Usamos a notação {F(n)} para descrever uma seqüência. O termo F(n) é o termo de ordem n ou termo geral da seqüência (definição fechada).

Exemplo 16: Considere a seqüência cujo termo geral é F(n) = 1n .

A lista dos termos da seqüência é F(1) = 1, F(2) = 12

, F(3) = 13

, F(4)

= 14

, F(5) = 15

.

Exemplo 17.

a) Os cinco primeiros termos da seqüência definida por

A(n) = 2 + 3(n-1) são:

A1 = 2, A2 = 5, A3= 8, A4= 11, A5 = 14.

Observe que trata-se de uma Progressão Aritmética (PA) cujo termo inicial é 2 e razão r = 3.

Lembre-se que, uma P.A. de termo inicial A1 e razão r, tem termo geral A(n) = A1 + (n-1).r

b) Os cinco primeiros termos da seqüência definida por

A(n) = 3. 2n-1 são:

A1 = 3, A2 = 6, A3 = 12, A4 = 24, A5 = 48.

Trata-se de uma Progressão Geométrica (PG) cujo termo inicial é 3 e razão q = 2.

Page 21: Matematica discreta fasciculo_3_v06

21

Matemática Discreta

Recorde que, uma PG de termo inicial A1 e razão q, tem termo geral A(n) = A1.qn-1.

Exemplo 18. Calcular os termos A1, A2, A3 e A4 das seguintes seqüências {An} cujo termo geral Na, n ≥ 1, é definido por:

a) An = n2 b) An = 1 + 10n

c) An = (-1)n.n d) An = 2n + 1e) An = n! f) An = 2 + 3(n-1)

Solução:

a) 1, 4, 9, 16 b) 11, 101, 1001, 10001c) -1, 2, -3, 4 d) 3, 5, 9, 17e) 1, 2, 6, 24 f) 2, 5, 8, 11

Exemplo 19. Escrever uma definição fechada (ou termo geral) para as seguintes seqüências numéricas:

a) 19, 14, 9, 4, ... b) 400, 200, 100, 50, ...c) 17, 27, 37, 47, 57, ... d) 7, 97, 997, 9997, ...e) 2, -2, 2, -2, 2, ... f) 1, 1/3, 1/5, 1/7, 1/9, ...g) 1, 3, 6, 10, 15, ... h) 1, 2, 5, 10, 17, ...

Solução:

a) A(n) = 24 – 5n , n ≥ 1 b) A(n) = 14002n− , n ≥ 1

c) A(n) = 7 + 10n, n ≥ 1 d) A(n) = 10n - 3, n ≥ 1

e) A(n) = (-1)n + 1 . 2, n ≥ 1 f) A(n) = 1

2 1n − , n ≥ 1

g) A(n) = ( 1)

2n n +

, n ≥ 1 h) A(n) = 1 + (n - 1)2, n ≥ 1

Aprenda Praticando - Exercício Proposto 1.1

Agora é com você... Apresentamos vários exercícios sobre função. Você deve procurar solucioná-los e caso tenha alguma dificuldade discuta com seus colegas nos chats que foram formados. Além disso,

Page 22: Matematica discreta fasciculo_3_v06

22

Matemática Discreta

procure orientação dos professores executores e tutores da disciplina nos fóruns de discussão.

Apresentaremos as respostas dos exercícios de números pares.

1. Verificar se cada uma das funções definidas abaixo é injetora, sobrejetora e bijetora:

a) f : {1, 2, 3} → {a, b, c} f = {(1,a), (2,b), (3,c)}b) g : {1, 2, 3} → {a, b, c, d} g = {(1,a), (2,b), (3,c)}

c) h ; {1, 2, 3} → {1, 2, 3} h = {(1, 2) , (2,1), (3,2)}d) p : N → N p (j) = j2 + 2e) m : N → N m(x) = (x)mod 5

f) q : N → N q(j) = 1 se j é ímpar

q(j) = 0 se j é parg) r : N → {0, 1} r(j) = 1 se j é ímpar

r(j) = 0 se j é parh) t : {0, 1, 2, 3, ..., 6} → {0, 1, 2, 3, ..., 6} t(x) = (3x)mod 7

i) f : Z → Z tal que f(x) = 10 + xj) f: N → N tal que f(x) = 10 + xk) g: Z → Z tal que f(x) = x/2 se x é par

e f(x) = (x - 1)/2 se x é impar.l) f: N → Z tal que f(x) = - x/2 se n é par

e f(x) = (x + 1)/2 se x é impar.

2. Determine quais das seguintes funções de R em R são bijetoras. Apresente a função inversa, quando existir.

a) f(x) = 3x + 4 b) f(x) = -3x2 + 7

c) f(x) = (x+1) / (x2+2) d) f(x) = x5 –1

e) f(x) = x

3. Para cada uma das funções bijetora f de R em R, encontre a inversa f-1.

a) f(x) = 2x b) f(x) = x3 c) f(x) = (2x + 4)/3

4. Dê uma fórmula explícita para uma função do conjunto dos inteiros Z com imagens no conjunto dos inteiros Z tal que seja:

a) injetora e não sobrejetora.

b) sobrejetora e não injetora.

Page 23: Matematica discreta fasciculo_3_v06

23

Matemática Discreta

c) injetora e sobrejetora.

d) não injetora e não sobrejetora.

5. Sejam f, g: N → N, definidas por f(x) = x + 1 e g(x) = 3x

Calcule o seguinte:

a) f o g b) g o f c) f o fd) g o g e) f o g o f f) g o g o f

6. Sejam f e g as funções do conjunto dos inteiros no conjunto dos inteiros, definidas como: f(x) = 5x + 2 e g(x) = -2x + 4. Qual a composição de f o g e g o f?

7. As funções a seguir são aplicações de R em R. Forneça equações que descrevam as funções compostas g o f e f o g para cada item.

a) f(x) = 6x3 , g(x)= 2x

b) f(x) =x , g(x) = x

8. As funções a seguir são aplicações de R em R. Forneça equações que descrevam as funções compostas g o f e f o g para cada item.

a) f(x) = (x-1)/2 , g(x) = 4x2

b) f(x) = 11

xx

+−

, g(x) = 11

xx

−+

9. Para cada uma das seguintes funções de hash, abaixo, mostre como os dados seriam inseridos na ordem dada supondo inicialmente células vazias. Use tratamento de colisões o endereçamento aberto com teste linear.

a) hash(x) = (xmod 11 + i)mod 11, células indexadas de 0 a 10, dados: 53, 13, 281, 743, 377, 20, 10, 796.

b) hash(x) = (xmod 17 + i)mod 17 células indexadas de 0 a 16, dados: 714, 631, 26, 373, 775, 906, 509, 2032, 42, 4, 136, 1028.

10. Armazenar seqüencialmente os registros com chaves {33, 44, 65, 66, 84, 93} numa tabela hash de tamanho 7 com tratamento de colisões endereçamento aberto com teste quadrático, dado por hi(k) = (kmod 7 + i2)mod 7, i = 0, 1, 2, 3, 4, 5, 6.

Page 24: Matematica discreta fasciculo_3_v06

24

Matemática Discreta

Respostas dos Exercícios 1.1

2. a) f(x) = 3x + 4 é bijetora e a função inversa é f-1(x) = 4

3x −

.

b) f(x) = -3x2 + 7 não é uma função injetora, pois, f(2) = f(-2) = -5. Além disso, não é sobrejetora em R. De fato, não existe x∈R, tal que f(x) = 10.

c) f(x) = (x+1) / (x2+2) não é sobrejetora. Por exemplo, não existe x∈R, tal que f(x) = 1. Se existisse, teríamos, (x+1)/(x2+2) = 1, ou seja, x2 + 2 = x + 1, que acarreta x2 - x + 1 = 0. Esta equação não tem solução real, pois ∆ = b2 - 4ac = -3.

d) f(x) = x5 – 1 é bijetora. A inversa é f-1(x) = 5 1x + .

e) f(x) = x não é injetora nem sobrejetora. Observe que f(1,3) = f(1,4) = 1 e que não existe x∈R tal que f(x) = 0,5.

4. a) f(x) = 3x + 1 se x ≥ 0, f(x) = 3x + 2 se x < 0

b) f(x) = x2 se x > 0, f(x) = -x2 + 8, se x ≤ 0.

c) f(x) = 2x + 1 se x∈Z

d) f(x) = x2 + 2 se x∈Z

6. (f o g)(x) = f(-2x + 4) = 5(-2x + 4) + 2 = -10x + 20+ 2 = -10x + 22

(g o f) (x) = g (5x + 2) = -2(5x + 2) + 4 = -10x – 4 + 4 = -10x

8. a) g(f(x)) = g(1

2x −

) = 2

214 ( 1)2

x x

− −=

f(g(x)) = f(4x2) = 24 12

x −

b) g(f(x)) = g( 11

xx

+−

) =

1 1 111 11

xxx xx

+ −−+ +−

=

f(g(x)) = f( 11

xx

−+

) =

1 111 11

xx xxx

− ++ −− −+

=

Page 25: Matematica discreta fasciculo_3_v06

25

Matemática Discreta

10.

k i h(k) = (kmod 7 + i2)mod 7 Situação

33 0 h(33) = (33mod 7 + 02)mod 7 = (5 + 0)mod 7 = 5 ok

44 0 h(44) = (44mod 7 + 02)mod 7 = (2 + 0)mod 7 = 2 ok

65 0

1

h(65) = (65mod 7 + 02)mod 7 = (2 + 0)mod 7 = 2

h(65) = (65mod 7 + 12)mod 7 = (2 + 1)mod 7 = 3

Colisão

ok

66 0

1

h(66) = (66mod 7 + 02)mod 7 = (3 + 0)mod 7 = 3

h(66) = (66mod 7 + 12)mod 7 = (3 + 1)mod 7 = 4

Colisão

ok

84 0 h(84) = (84mod 7 + 02)mod 7 = (0 + 0)mod 7 = 0 ok

93 0

1

2

h(93) = (93mod 7 + 02)mod 7 = (2 + 0)mod 7 = 2

h(93) = (93mod 7 + 12)mod 7 = (2 + 1)mod 7 = 3

h(93) = (93mod 7 + 22)mod 7 = (2 + 4)mod 7 = 6

Colisão

Colisão

ok

Os dados serão alocados nos seguintes endereços:

0 1 2 3 4 5 684 44 65 66 33 93

Conclusão

No primeiro capítulo deste fascículo você aprendeu sobre as funções, como podem ser utilizadas em aplicações da informática e computação. Em particular, conheceu a função mod e a função hash, que serão empregadas em aplicações da disciplina Estrutura de Dados.

Saiba Mais

Você poderá aprender muito mais sobre funções, consultando os seguintes livros e sites:

GERSTING, Judith L. Fundamentos Matemáticos para a Ciência

Page 26: Matematica discreta fasciculo_3_v06

26

Matemática Discreta

da Computação. Tradução Valéria de Magalhães Iorio. Rio de Janeiro: LTC, 2004.

LIPSChUTZ, Seimour; LIPSON, Marc Lars. Teoria e Problemas de Matemática Discreta. Porto Alegre: Bookman, 2004.

SChEINERMAN, Edward R. Matemática Discreta: uma introdução. Tradução de Alfredo Alves de Farias. São Paulo: Pioneira Thomson Learning, 2003.

Orientação de Estudos

O exemplo 12 deste capítulo versou sobre processos de transmissão de informações de forma segura, como por exemplo, informações de dados financeiros pela internet. Nesse processo usamos uma chave de codificação. Daí, a informação é codificada e enviada ao receptor. Ao recebê-la, o receptor pode decodificá-la usando uma chave de decodificação.

No sistema criptográfico com chave pública, a chave de decodificação pode ser obtida da chave de decodificação. O sistema criptográfico com chave pública inventado por R. L. Rivest, A. Shamir e L. Adleman usa a função mod e alguns conceitos da teoria dos números inteiros.

Se você tem interesse no assunto, leia os livros acima indicados que tratam do assunto de uma forma muito simples e visite os seguintes sites:

http://www.upis.br/revistavirtual/Cavalcante_%20Teoria%20dos%20N%FAmeros%20e%20Criptografia_2005_UPIS.pdf

http://www.infowester.com/criptografia.php

http://domenico-deri.sites.uol.com.br/exemplos.html

http://www.penta.ufrgs.br/gere96/segur/cripto_.htm

Page 27: Matematica discreta fasciculo_3_v06

27

Matemática Discreta

Capítulo 2 - Recursão: um método de definição

O que é recursão?

A figura acima é um triângulo eqüilátero. No seu interior, maior triângulo eqüilátero branco de lado L1 tem em cada um de seus lados,

vértices de um triângulo eqüilátero de lado L2 = 1

2L

. Por sua vez, cada

triângulo eqüilátero de lado L2, tem em cada um dos seus lados, vértices

de triângulos eqüiláteros de lados L3 = 2

2L

, e assim sucessivamente.

De modo que a figura mostra uma sucessão de triângulos eqüiláteros

de lados Ln = 1

2nL − , onde o lado de cada triângulo é metade do lado

do triângulo anterior. Essa é uma figura construída por recorrência!

Faremos agora uma definição de recursão.

2.1 Recursão

Uma definição na qual o item que está sendo definido aparece como parte da definição é chamada definição recursiva ou indutiva. Isto é, o item é definido por meio de uma regra que permite calcular qualquer caso do item em função do item ou dos itens anteriores.

Assim, uma definição recursiva é constituída de duas partes:

a) Um passo inicial, onde alguns casos simples do item que está sendo definido são dados explicitamente e,

Page 28: Matematica discreta fasciculo_3_v06

28

Matemática Discreta

b) Um passo indutivo ou recursivo, onde os outros casos do item que está sendo definido são dados em termos dos casos anteriores.

Como podemos fazer uso de uma definição recursiva? Podemos usar recursão para definir funções ou operações, algoritmos, conjuntos e seqüências.

Atenção

Lembre-se:

Toda definição recursiva é constituída por duas partes. A primeira parte é do passo inicial, onde serão fornecidos os dados iniciais do item que se define. A segunda parte é o passo recursivo, onde é feita de forma recorrente o calcule dos demais itens em termos dos itens anteriores.

Exemplo 1: Uma seqüência é definida recursivamente, explicitando-se seu primeiro valor (ou seus primeiros valores) e, a partir daí, definindo-se outros valores na seqüência em termos dos valores iniciais.

A seqüência 3, 6, 12, 24, ... é definida recursivamente por:

Passo inicial: A(1) = 3

Passo Recursivo: A(n) = 2 . A(n-1), para n ≥ 2

O cálculo do 5º termo se faz assim:

A(5) = 2 . A(4)

A(4) = 2 . A(3)

A(3) = 2 . A(2)

A(2) = 2 . A(1)

A(1) = 3

A(2) = 2 . 3 = 6

A(3) = 2 . 6 = 12

A(4) = 2 . 12 = 24

A(5) = 2 . 24 = 48

Page 29: Matematica discreta fasciculo_3_v06

29

Matemática Discreta

Exemplo 2: A seqüência 2, 5, 8, 11, 14, ... é definida recursivamente por:

Passo inicial: A(1) = 2

Passo recursivo: A(n) = A(n-1) + 3, para n ≥ 2

Para calcular recursivamente o quinto termo A(5) procedemos assim:

A(5) = A(4) + 3

A(4) = A(3) + 3

A(3) = A(2) + 3

A(2) = A(1) + 3

A(1) = 2

A(2) = 2 + 3 = 5

A(3) = 5 + 3 = 8

A(4) = 8 + 3 = 11

A(5) = 11 + 3 = 14

Exemplo 3: A seqüência de Fibonacci é definida recursivamente por:

Passo inicial: F(1) = 1, F(2) = 1

Passo recursivo: F(n)= F(n-1) + F(n-2), n ≥ 3 é constituída dos termos 1, 1, 2, 3, 5, 8 ,13, 21, 34, ...

Calcule recursivamente F(6).

F(6) = F(5) + F(4)

F(5) = F(4) + F(3)

F(4) = F(3) + F(2)

F(3) = F2) + F(1)

F(2) = 1

F(1) = 1

F(3) = 1 + 1 = 2

F(4) = 2 +1 = 3

Page 30: Matematica discreta fasciculo_3_v06

30

Matemática Discreta

F(5) = 3 + 2 = 5

F(6) = 5 +3 = 8

Exemplo 4: Uma função pode ser definida por recursividade. Por exemplo, a função MDC calcula o máximo divisor comum de dois inteiros positivos, pode ser definida assim:

MDC(x, y) = y se x ≥ y e xmod y = 0

MDC(x, y) = MDC(y,x) se x < y

MDC(x, y) = MDC(y, xmod y) caso contrário.

O cálculo do MDC de x = 72 e y = 20 se processa dessa maneira:

MDC (72, 20) = MDC(20, 12) = MDC (12, 8) = MDC(8, 4) = 4

Exemplo 5. Recursão em programação refere-se a um procedimento ou função que chama a si mesmo, um módulo recursivo. Para alguns tipos de problemas um módulo recursivo possibilita soluções mais simples e “naturais”, conforme exemplo seguinte:

{Função recursiva para multiplicação de dois inteiros. Efetua a multiplicação por somas sucessivas.}

função multiplica (m, n: inteiro): inteiro

{Executa multiplicação utilizando somas sucessivas.

Entrada: dois operandos m e n e assume que n > 0

Saída: Retorna m * n

inicio {multiplica}

se n = 1 então

multiplica : = m

senão

multiplica : = m + multiplica (m , n –1);

fim {multiplica}

Observação: Para definir um módulo recursivo, precisamos identificar dois elementos: o passo recursivo e a condição de parada. No exemplo citado, a condição de parada é satisfeita quando n = 1, enquanto o passo recursivo aparece na linha “multiplica: = m + multiplica (m, n – 1)” onde aparece a função chamando ela mesma.

De um modo geral, um módulo recursivo segue o algoritmo seguinte:

Page 31: Matematica discreta fasciculo_3_v06

31

Matemática Discreta

se <condição de parada é satisfeita> então

Resolva

senão

Divida o problema num caso mais simples utilizando recursão.

No exemplo acima, qual o valor de saída para m = 5 e n = 4?

multiplica(5,4) = 5 + multiplica(5,3)

multiplica(5,3) = 5 + multiplica(5,2)

multiplica(5,2) = 5 + multiplica(5,1)

multiplica(5,1) = 5

multiplica(5,2) = 5 = 5 = 10

multiplica(5,3) = 5 + 10 = 15

multiplica(5,4) = 5 + 15 = 20

Exemplo 6. Forneça uma definição recursiva para cada uma das seguintes sequências:

a) 7, 97, 997, 9997, ...

b) sequência T(n) de números triangulares:

T(1) = 1 T(2) = 3 T(3) = 6 T(4) = 10

n = 1 n = 2 n = 3 n = 4

c) 231 é um número triangular?

d) Quais os números triangulares entre 200 e 300?

a) A seqüência 7, 97, 997, 9997, ... tem termo geral A(n) = 10n – 3, com n ≥ 1. Logo, podemos escrever A(n-1) = 10n-1 -7, de modo que:

10 . A(n-1) = 10(10n-1 – 3) = 10n – 30 = (10n – 3) - 27 = A(n) – 27.

Assim, A(n) = 10.A(n-1) + 27 para n ≥ 2, A(1) = 7 é a definição recursiva da seqüência.

Page 32: Matematica discreta fasciculo_3_v06

32

Matemática Discreta

b) Observe que T(1) = 1, T(2) = T(1) + 2, T(3) = T(2) + 3, logo T(n) = T(n-1) + n , para n ≥ 2.

A definição recursiva é T(1) = 1, T(n) = T(n-1) + n, n ≥ 2.

c) Uma fórmula fechada para T(n) é T(n) =2

2n n+ para n ≥ 1 (Prove).

Assim, para 231 seja um número triangular, devemos encontrar n tal

que 231 = 2

2n n+ . Isto é, n2 + n - 462 = 0. Resolvendo a equação,

temos que n = 1 1 1848 1 432 2

− ± + − ±= . Assim, T(21) = 231.

d) 231, 253, 276 e 300.

Exemplo 7. A função chão f(x) = x associa a cada número real x o maior inteiro menor ou igual a x. Definimos a seqüência T por:

T(1) = 1

T(n) = 2 . T ( n/2 ) para n ≥ 2.

Vamos calcular recursivamente T(73).

T(73) = 2 . T( 73/2 ) = 2 . T(36) =

T(36) = 2 . T ( 36/2 ) = 2 . T(18) =

T(18) = 2 . T ( 18/2 ) = 2 . T(9)

T(9) = 2 . T ( 9/2 ) = 2 . T (4)

T(4) = 2 . T ( 4/2 ) = 2 . T(2)

T(2) = 2 . T ( 2/2 ) = 2 . T(1)

T(1) = 1

T(2) = 2 . 1 = 2

T(4) = 2 . 2 = 4

T(9) = 2 . 4 = 8

T(18) = 2 . 8 = 16

T(36) = 2 . 16 = 32

T(73) = 2 . 32 = 64

Exemplo 8. Considere o seguinte algoritmo recursivo em C que

Page 33: Matematica discreta fasciculo_3_v06

33

Matemática Discreta

ordena os elementos de uma lista L= [L(1), L(2), L(3), ... , L(j)] onde j é o comprimento da lista:

Lista ORD(lista L, int J)

if (J == 1) {

return L; A lista está ordenada, imprima a lista.

}

else if (J > 1) {

Procure o índice I entre 1 e J do maior elemento tal que L(I) > L(J)

Troque L(I) por L(J)

return ORD(L, J-1);

}

Simule a saída para a entrada L= [2, 7, 4, -3, 8, 5] e j = 6

Solução:

ORD([2, 7, 4, -3, 8, 5], 6) = [2, 7, 4, -3, 5, 8]

ORD([2, 7, 4, -3, 5, 8], 5) = [2, 5, 4, -3, 7, 8]

ORD([2, 5, 4, -3, 7, 8], 4) = [2, -3, 4, 5, 7, 8]

ORD([2, -3, 4, 5, 7, 8], 3) = [2, -3, 4, 5, 7, 8]

ORD([2, -3, 4, 5, 7, 8], 2) = [-3, 2, 4, 5, 7, 8]

ORD([2, -3, 4, 5, 7, 8], 1) = [-3, 2, 4, 5, 7, 8]

Exemplo 9. Considere a função F definida no conjunto dos números naturais do seguinte modo:

F(1) = 1

F(n) = n + F(n-1) para n ≥ 2. Vamos calcular F(5).

F(5) = 5 + F(4) = 5 + 4 + F(3)

= 5 + 4 + 3 + F(2) = 5 + 4 + 3 + 3 + 2 + F(1)

= 5 + 4 + 3 + 2 + 1

= 5 + 4 + 3 + 2 + 1 = 15.

Você percebeu que F(n) é a soma de todos os números inteiros positivos menores ou iguais a n?

Assim, F(n) = 1

n

ii

=∑ = 1+ 2 + 3 + 4 + 5 + ... + n.

Page 34: Matematica discreta fasciculo_3_v06

34

Matemática Discreta

Aprenda Praticando - Exercício Proposto 2.1

Chegou a sua vez! Apresentamos vários exercícios sobre recursão. Você deve tentar solucioná-los e caso tenha alguma dificuldade, discuta com seus colegas nos chats que foram formados. Procure orientação dos professores executores e tutores da disciplina nos fóruns de discussão, caso persistam dúvidas.

Apresentaremos a seguir resposta dos exercícios de numeração par.

1. Nos exercícios seguintes, calcular o quinto termo das seqüências dadas:

a) A(1) = 10, A(n) = A(n-1) + 10, para n ≥ 2.

b) A(1) = 1, A(n) = 1.( 1)A n −

, para n ≥ 2.

Page 35: Matematica discreta fasciculo_3_v06

35

Matemática Discreta

c) B(1) = 1, B(n) = B(n-1) + n2, para n ≥ 2.

d) A(1) = 1, A(n) = A(n-1) + 1n , para n ≥ 2.

e) P(1) = 1, P(n) = n2.P(n-1) + (n-1), para n ≥ 2.

f) D(1) = 3, D(2) = 5, D(n) = (n-1).D(n-1) + (n-2).D(n-2), para n ≥ 3.

2. Calcule recursivamente o sexto termo de cada uma das seqüências definidas abaixo:

a) A(1) = 1, A(n) = A(n-1) + 2, n ≥ 2.

b) A(1) = 1, A(n) = 3.A(n-1), n ≥ 2.

c) A(1) = 2, A(n) = [A(n-1)]2, n ≥ 2.

d) A(1) = 91, A(n) = A(n-1) + 9.10n, n ≥ 2.

e) A(1) = 3, A(n) = -2.A(n-1), n ≥ 2.

f) A(1)= 3, A(n) = 3.A(n-1) + 7, n ≥ 2.

3. Forneça uma definição recursiva para:

a) a progressão geométrica com termo inicial 7 e razão 3.

b) a progressão aritmética com termo inicial -12 e razão 5.

c) o fatorial n!, n ≥ 1.

d) o produto de dois números inteiros positivos.

e) o MDC de dois números naturais a e b, a < b.

f) a seqüência 5, 9, 13, 17, ...

g) a seqüência 4, 2, 1 ,½, ¼ , ...

h) a seqüência a, 2a + b, 3a + 2b, 4a + 3b, ...

i) a seqüência a, 2a - b, 3a - 2b , 4a - 3b, ...

j) a seqüência An = 3n - 1 com n > 0

k) a seqüência A(n) = n2 com n > 0

l) a seqüência A(n) = n2 + n + 1

m) a seqüência 1, -1, 1, -1, ...

n) a divisão de dois inteiros positivos.

Page 36: Matematica discreta fasciculo_3_v06

36

Matemática Discreta

o) a seqüência 1 1 1 1 1 1 1 1 1 1, , , , ...0! 0! 1! 0! 1! 2! 0! 1! 2! 3!+ + + + + +

p) a seqüência 2, 92, 992, 9992, ...

4. Uma quantia de 500 unidades monetárias foi investida em uma conta remunerada a uma taxa de juro composto anual de 10%. Descreva a definição recursiva para P(n), a quantia na conta no início do n-ésimo ano.

5. A seqüência de números 16, 144, ..., 304, ..., ..., 768, 1232, 2000 é uma subseqüência finita obtida da seqüência de Fibonacci. Descubra os termos que estão faltando.

6. Que valor é computado pelo seguinte algoritmo, para um valor de entrada especificado?

int F(int n) {

if (n == 1)

return 1

else

return n + 2*F(n-1);

}

Qual o valor de saída para a entrada n = 6?

7. Que valor é computado pelo seguinte algoritmo, para um valor de entrada especificado?

int MDC( int a, int b) {

if a = 0

return b

else

return MDC (bmod a, a)

}

Qual o valor de saída para a = 20 e b = 72? Qual o valor de saída para a = 232 e b = 432?

8. Que valor é computado pelo seguinte algoritmo, para um valor de entrada especificado?

int FIB (int n) {

if (n == 0)

return 0

else if (n == 1)

return 1

Page 37: Matematica discreta fasciculo_3_v06

37

Matemática Discreta

else

return = FIB(n-1) + FIB(n-2);

}

Qual o valor de saída para n = 6?

9. A função teto g(x) = x associa a cada real x o menor inteiro maior ou igual a x. Definimos uma seqüência T por:

a) T(1)= 1

b) T(n) = 2 . T ( n/2 ) para n ≥ 2.

Calcule recursivamente T(85).

10. Definimos a sequência FACT da seguinte forma:

FACT (0) = 1. FACT (n+1) = (n+1) . FACT (n), para n ≥ 0.

Escreva os seis primeiros termos de FACT.

11. Considere a relação de recorrência dada por:

Y0 = 1, Yn+1 = 1 22 n

nY

Y

+ , onde n ≥ 0.

Essa relação produz uma seqüência de valores tais que pode ser

usado para aproximar 2 com qualquer grau de precisão.

12. Considere a seqüência definida recursivamente por:

F(1) = 1 e F(n) = 1( 1) 1F n − +

, para n > 1.

a) Ache os valores dos seis primeiros termos dessa seqüência.

b) Observe o numerador de cada um dos termos da parte (a). Que seqüência formam?

13. Que valor é computado pelo seguinte algoritmo para um valor de entrada especificado?

int Q(int a, int b) {

if a < b

return 0

else

return Q(a-b, b) + 1;

}

Qual o valor de saída para Q(15,2)? E para Q(5,5)? E Q(5861,7)?

Page 38: Matematica discreta fasciculo_3_v06

38

Matemática Discreta

14. Considere o seguinte algoritmo recursivo:

int MAX (int A, int B) {

if (A == 0) or (B == 0)

return A + B

else

return MAX(A-1, B-1) + 1;

}

Calcule o valor de retorno para a entrada A = 7 e B = 13?

15. Considere o seguinte algoritmo recursivo que ordena os elementos de uma lista L= [L(1), L(2), L(3), ... , L(j)] onde j é o comprimento da lista:

Lista ORD(lista L, int J) {

if (j == 1)

return L //A lista está ordenada. Imprima a lista.

else if j > 1 //Procure o índice I entre 1 e J do maior elemento tal que L(I) > L(J)

//Troque L(I) por L(J)

return ORD(L, J-1)

}

Simule a saída para a entrada L = [10, 7, 9, 5, 0, -5, -2] e j = 7

16. Considere o seguinte algoritmo recursivo.

int COMB(int n, int p) {

if (n == p) or (p == 0 )

return 1

else

return COMB(n-1, p-1) + COMB(n-1, p);

}

Calcule o valor de saída para a entrada de n = 6 e p = 3.

O que calcula COMB para quaisquer inteiros não negativos n e p?

17. As figuras abaixo mostram quantos pedaços obtemos com n cortes numa pizza:

Page 39: Matematica discreta fasciculo_3_v06

39

Matemática Discreta

Dê uma definição recursiva para o número de pedaços P(n) em função do número de cortes n.

Resp. n = 1 n = 2 n = 3 n = 4P(n) = 2 P(n) = 4 P(n) = 7 P(n) = 11

Definição recursiva P(1) = 2 P(n) = P(n-1) + n, para n ≥ 2

18. Forneça uma definição fechada e uma definição recursiva para cada uma das seguintes sequências:

a) 9, 99, 999, 9999, ...

b) sequência P(n) de números pentagonais:

...

n = 1

P(1) = 1

n = 2

P(2) = 5

n = 3

P(3) = 12

n = 4

P(4) = 22

n = 5

P(5) = 5

19. Ache uma definição fechada (fórmula) para as seguintes seqüências definidas recursivamente por:

Resultados importantes que podem ser usados:

A soma dos termos de uma PA: Sn = 1( )2

na a n+

A soma dos termos de uma PG: Sn = 1( 1)1

na qq

−−

Page 40: Matematica discreta fasciculo_3_v06

40

Matemática Discreta

a) S(1) = 1, S(n) = 3.S(n-1) + 1 , n ≥ 2

b) S(1) = 1, S(n) = 2 – S(n-1), n ≥ 2.

c) S(1) = 1, S(n) = 3.S(n-1) + n, n ≥ 2

d) S(1) = 0, S(2) = 1, S(n)= ( 1) ( 2)2

S n S n− + − , n ≥ 2

20. Considere o seguinte algoritmo recursivo:

Função F(n: inteiro): inteiro

Se n < 5 então

Retorne 3*x

Senão

Retorne 2*F(n-1) + 7

Fim Se

Fim

Calcular F(4), F(5), F(12).

21. Considere o seguinte algoritmo recursivo:

Função F(n: inteiro, m: inteiro): inteiro

Se n < m então

Retorne -3

Senão

Retorne F(n-m, m+3) + m

Fim Se

Fim

Calcular F(2,7), F(5,3) e F(15,3).

Page 41: Matematica discreta fasciculo_3_v06

41

Matemática Discreta

http://www.interaula.com/matweb/alegria/fibon//seqfib1.htm

Respostas dos Exercícios 2.1

2. a) 11

b) 243

c) 4.294.967.296

d) 9999991

e) -64

f) 523

Page 42: Matematica discreta fasciculo_3_v06

42

Matemática Discreta

4. P(0) = 500

P(n) = 1,1.P(n-1), n ≥ 1.

6. 187

8. 8

10. 1, 2, 6, 24, 120, 720

12. a) 1, 1 2 3 5 8, , , , 52 3 8 13b) Formas a seqüência de Fibonacci.

14.

MAX(7, 13) = MAX(6, 12) + 1

MAX(6, 12) = MAX(5, 11) + 1

MAX(5, 11) = MAX(4,10) + 1

MAX(4, 10) = MAX(3,9) + 1

MAX(3, 9) = MAX(2,8) + 1

MAX(2, 8) = MAX(1, 7) + 1

MAX(1,7) = MAX(0, 6) + 1

MAX(0,6) = 6

MAX(1,7) = 7

MAX(2, 8) = 8

MAX(3, 9) = 9

MAX(4, 10) = 10

MAX(5, 11) = 11

MAX(6, 12) = 12

MAX(7, 13) = 13

A função MAX retorna o maior valor entre A e B.

16. a) 20

b) O algoritmo retorna C

18. a) S(n) = 10n – 1, para n ≥ 1 é uma definição fechada para a seqüência 9, 99, 999, 9999, ...

Page 43: Matematica discreta fasciculo_3_v06

43

Matemática Discreta

Uma definição recursiva é: S(1) = 1, S(n) = 10.S(n-1) + 9, para n ≥ 2

b) Observe que:

P(1) = 1

P(2) = 5 = 1 + 4 = P(1) + 4

P(3) = 12 = 1 + 4 + 7 = P(2) + 7

P(4) = 22 = 1 + 4 + 7 + 10 = P(3) + 10

P(5) = 35 = 1+ 4 + 7 + 10 + 13 = P(4) + 13

...

P(n) = P(n-1) + 3n – 2, pois a seqüência 1, 4, 7, 10, 13, ... é uma PA de razão 3 e termo inicial 1, de modo que

an = 1 + (n-1).3 = 1 + 3n - 3 = 3n - 2

Assim, a definição recursiva é:

P(1) = 1, P(n) = P(n-1) + 3n -2 , para n ≥ 2

A definição fechada é obtida análoga:

P(1) = 1

P(2) = 5 = 1 + 4

P(3) = 12 = 1 + 4 + 7

P(4) = 22 = 1 + 4 + 7

P(5) = 35 = 1+ 4 + 7 + 10 + 13

...

P(n) = 1 + 4 + 7 + 10 + 13 + ... (3n-2).

Observe que P(n) é a soma dos termos de uma P.A. de termo inicial 1 e razão 3, logo P(n) =

2(1 3 2). (3 1) 32 2 2

n n n n n n+ − − −== , para n ≥ 1.

20. F(4) = 12

F(5) = 2.F(4) + 7 = 2(12) + 7 = 31

F(6) = 2.F(5) + 7 = 62 + 7 = 69

Page 44: Matematica discreta fasciculo_3_v06

44

Matemática Discreta

Conclusão

Você conheceu no segundo capítulo deste fascículo o método da recursão. Ele é usado na definição de funções, seqüências, algoritmos e diversos outros procedimentos computacionais. Aprendeu como formular um algoritmo recursivo em aplicações da informática e computação.

Saiba Mais

Você poderá aprender muito mais sobre recursão, consultando os seguintes livros e sites:

GERSTING, Judith L. Fundamentos Matemáticos para a Ciência da Computação. Tradução Valéria de Magalhães Iorio. Rio de Janeiro: LTC, 2004.

LIPSChUTZ, Seimour; LIPSON, Marc Lars. Teoria e Problemas de Matemática Discreta. Porto Alegre: Bookman, 2004.

SChEINERMAN, Edward R. Matemática Discreta: uma introdução. Tradução de Alfredo Alves de Farias. São Paulo: Pioneira Thomson Learning, 2003.

Page 45: Matematica discreta fasciculo_3_v06

45

Matemática Discreta

Capítulo 03 - Teoremas e Técnicas de Provas

O que é um teorema?

Você lembra o Teorema de Pitágoras, não é? A figura acima ilustra muito bem o que esse teorema afirma: A soma dos quadrados dos catetos de um triângulo retângulo é igual ao quadrado da hipotenusa. A figura acima ilustra uma prova desse teorema.

Definimos um teorema como qualquer afirmação declarativa sobre matemática, para a qual existe uma prova. Afirmações cuja veracidade não se pode garantir são chamadas de conjecturas.

Os teoremas em geral são expressos sob a forma “se P então Q” (P → Q) onde P e Q podem representar sentenças compostas. Na afirmação “se P então Q”, P é chamado de hipótese e Q é a conclusão. Podemos escrever teoremas também na forma P ↔ Q onde se lê: “P se e somente se Q”. Recorde que P ↔ Q é equivalente a (P → Q) ∧ (Q → P).

Por exemplo, considere a afirmação “Se x e y são números pares então x + y é também um número par”. Aqui, a hipótese P é “x e y são números pares” e a conclusão Q é “a soma x + y é um número par”. O teorema afirma que, se x e y são ambos pares então, x + y é um número par. A sentença não exclui a possibilidade de x + y ser par quando x ou y não for par. Na verdade, se x e y não são pares então x + y é par. A única circunstância em que a afirmação é falsa é quando P é verdadeira (x e y pares) e Q é falsa (x + y ímpar).

Page 46: Matematica discreta fasciculo_3_v06

46

Matemática Discreta

Numa afirmação P → Q podemos ter a condição P verdadeira ou falsa e a condição Q verdadeira ou falsa. Se a afirmação P → Q é verdadeira temos o seguinte:

Hipótese P Conclusão Q P → Q

V (x = 2, y = 4) V (x + y = 6) possível

V (x = 2, y = 4) F (x + y = 7) impossível

F (x = 3, y = 5) V (x + y = 8) possível

F (x = 2, y = 5) F (x + y = 7) possível

Exemplo 1. Como podemos escrever afirmações sob a forma “Se P então Q”? Veja os exemplos:

a) O produto de um inteiro ímpar e um inteiro par é par. Se x é um inteiro ímpar e y é um inteiro par então x.y é um inteiro par.

b) O quadrado de um inteiro ímpar é ímpar. Se x um inteiro ímpar então x2 é impar.

c) O quadrado de um inteiro primo não é primo. Se x é um número primo então x2 não é primo.

d) A soma de um inteiro par com um ímpar é par. Se x é par e y é ímpar então x + y é ímpar.

Exemplo 2. Suponha uma conjectura P → Q e queremos mostrar que é falsa. Devemos encontrar um contra-exemplo, ou seja, uma situação em que P é verdadeira e Q é falsa. No caso da afirmação “Se x é um número primo então x é ímpar”. Claramente trata-se de uma proposição falsa. Basta escolher x = 2.

No exemplo acima, vimos que quando queremos refutar uma conjectura, um contra-exemplo é suficiente. Mas para provar uma afirmação, em geral, muitos exemplos não provam a suposição. A única exceção dessa situação ocorre quando uma afirmação é feita sobre um conjunto finito. Nesse caso, podemos verificar se a proposição é verdadeira para todos os elementos do conjunto.

No caso da asserção: “Se um inteiro entre 2 e 13 é divisível por 4 então também é divisível por 2”, ela pode ser provada verdadeira quando mostramos que é verdadeira para cada um dos números inteiros entre 2 e 13. É claro que não podemos usar o mesmo procedimento para provar que “todo número inteiro divisível por 4 também é divisível por 2”.

Page 47: Matematica discreta fasciculo_3_v06

47

Matemática Discreta

3.1 Estratégias de Provas

Diversas formas podem ser usadas para provar uma asserção do tipo “Se P então Q”. Abordaremos algumas delas.

3.1.1 Prova Direta

Quando você quer provar que uma proposição P → Q é verdadeira deve-se supor que a hipótese P é verdadeira e deduzir que a conclusão Q é verdadeira.

Exemplo 3. Provar: “Se x e y são inteiros pares então x + y é par”.

Prova:

Suponha que x e y são inteiros pares (Hipótese). Isto significa que x e y são ambos divisíveis por 2. Logo, existem inteiros m e n tais que x = 2.m e y = 2.n. Como x + y = 2 . m + 2 . n = 2 . (m + n), concluímos que existe um inteiro c = m + n tal que x + y = 2.c.

Portanto x + y é divisível por 2. Logo, x + y é par (Conclusão).

Exemplo 4. “Se um inteiro é divisível por 6 então ele também é divisível por 3”.

Prova:

Seja x um inteiro divisível por 6. Então existe um inteiro k tal que x = 6 . k. Pondo 6 = 3 . 2, podemos escrever x = (3 . 2) . k = 3 . (2 . k).

Como 2 . k é um inteiro e escrevendo 2 . k = m, temos que x = 3.m, com m inteiro. Logo, x é divisível por 3.

Exemplo 5. Se x é um inteiro par então y = x + 5 é inteiro ímpar.

Prova:

Assumimos que x é um inteiro par. Então existe um inteiro n tal que x = 2 . n.

Como y = x + 5 então y = 2 . n + 5 = 2n + 4 + 1 = 2 . (n+2) + 1. Pondo n + 2 = m, temos que y = 2 . m + 1, onde m é um inteiro. Conseqüentemente, y é um número ímpar.

Exemplo 6. A soma de um inteiro com o seu quadrado é um número par. Pondo na forma P → Q temos: Se x é um número inteiro então x + x2 é par.

Page 48: Matematica discreta fasciculo_3_v06

48

Matemática Discreta

Prova:

Seja x um número inteiro.

Se x é par, então x = 2 . n e x2 = (2 . n)2 = 4 . n2, de modo que x + x2 = 2 . n + 4 . n2 = 2(n + 2n2). Pondo m = n + 2n2, temos que x + x2 = 2m. Conseqüentemente x + x2 é par.

Se x é ímpar, x = 2.n + 1 para algum inteiro n. Assim, x + x2 = 2n + 1 +(2n + 1)2 = 2.n + 1 + 4n2 + 4.n + 1 = 4n2 + 6.n + 2 = 2(2n2 + 3n + 1). De modo que x + x2 = 2.m, onde m é o inteiro 2n2 + 3n + 1. Conseqüentemente x + x2 é par.

3.1.2 Prova Indireta

Você deve lembrar que no fascículo 1 provamos algumas equivalências entre proposições. Uma delas foi que P → Q é logicamente equivalente a ¬Q → ¬P.

A tabela seguinte mostra isso!

P Q P → Q ¬ Q ¬ P ¬ Q → ¬ P

V V V F F V

V F F V F F

F V V F V V

F F V V V V

Assim, uma segunda estratégia de prova tem inicio quando assumimos que a conclusão Q é falsa e, então mostrar que a hipótese P é falsa.

A afirmação ¬ Q → ¬ P é chamada de contra-positiva da afirmação P → Q. A prova indireta é também chamada de contra-positiva.

Exemplo 7. Formularemos contra-positiva ¬ Q → ¬ P das seguintes proposições P → Q:

a) P → Q: Se x é ímpar, então x2 é ímpar. ¬ Q → ¬ P: Se x2 não é ímpar então x não é ímpar. Equivalentemente podemos escrever: Se x2 é par então x é par.

b) Se n é um inteiro ímpar então 3n + 5 é um inteiro par. P → Q: Se x é inteiro ímpar então 3x + 5 um inteiro é par.

Exemplo 8. Use a prova indireta para provar a seguinte proposição P → Q: Se x é um número par, então x + 3 é ímpar.

Page 49: Matematica discreta fasciculo_3_v06

49

Matemática Discreta

A contra-positiva ¬ Q → ¬ P é “Se x +3 não é ímpar, então x não é par”. Isto é, se x + 3 é par, então x é ímpar.

Inicialmente, suponha que x + 3 é par. Desse modo existe n∈Z tal que x + 3 = 2n. Assim, x = 2n – 3 = 2n – 4 + 1 = 2(n-2) + 1. Conseqüentemente x = 2.m + 1, onde m = n -2 é inteiro. Logo x é ímpar.

Exemplo 9. Prove pela contra-positiva que, se o quadrado de um inteiro é par então x é par.

A contra-positiva de “n2 par → n par ” é “n ímpar → n2 ímpar”.

Assuma que n = 2x + 1 com x inteiro.

Então n2 = (2x + 1)2 = 4x2 + 4x + 1 = 2(2x2 + 2x) + 1 = 2.p + 1, onde p = 2x2 + 2x é inteiro. Assim, n2 é ímpar.

3.1.3 Prova por contradição (Redução ao absurdo)

Suponhamos que queremos provar P → Q. Sabemos, porém, que (P ∧ ¬Q) → Falso. Assim, para provarmos P → Q, admitimos P e não Q e mostraremos que isso implica algo falso. Veja tabela-verdade abaixo:

P Q P → Q ¬ Q P ∧ ¬Q F (P ∧ ¬Q) → Falso

V V V F F F V

V F F V V F F

F V V F F F V

F F V V F F V

Exemplo 10. Se x é um número par, então x + 3 é ímpar. Aqui, x é um número par é a hipótese P e a conclusão Q é x + 3 é ímpar.

Admitimos P e não Q. Isto é, suponhamos que x é um número par e que x + 3 é par.

Então, x = 2.n e x + 3 = 2.m para inteiros n e m. Assim, por um lado x = 2.n e por outro x = 2.m – 3 = 2.m – 4 + 1 = 2.(m-2) + 1, isto é x é par e x é ímpar, o que é uma contradição. Assim x + 3 é impar.

Exemplo 11. O conjunto dos números primos é infinito.

Suponha que o conjunto dos números primos seja finito. Então existem n primos, a saber: p1, p2, p3, ... , pn.

Page 50: Matematica discreta fasciculo_3_v06

50

Matemática Discreta

Considere o número x = p1, p2, p3, ... , pn + 1. O número x não é divisível por nenhum dos primos p1, p2, p3, ... , pn (deixa resto 1). Logo, x é mais um primo além dos n primos existente inicialmente. O que é uma contradição. Logo, é verdadeira a proposição de que existem infinitos primos.

Aprenda Praticando - Exercício Proposto 3.1

1. Forneça um contra-exemplo para:

a) Se x é um inteiro par e y é um inteiro ímpar então o produto x.y é impar.

b) Se um número inteiro é primo então o seu quadrado é primo.

2. Forneça uma prova direta das seguintes afirmações:

a) A soma de dois inteiros ímpares é par.

b) A soma de um inteiro ímpar e um par é ímpar.

c) O produto de dois inteiros consecutivos é par.

d) O quadrado de um inteiro par é divisível por 4.

3. Dê uma prova direta para as seguintes proposições ou apresente um contra-exemplo.

a) O produto de quaisquer três inteiros consecutivos é par.

b) A soma de quaisquer três inteiros consecutivos é par.

c) O produto de um inteiro pelo seu quadrado é par.

d) A soma de um inteiro com o seu cubo é par.

e) Se x é um inteiro primo então x + 4 é primo.

f) Se a e b são inteiros tais que a divide b e b divide a então a = b.

g) Se x é um inteiro positivo então x2 + x + 41 é primo.

4. Prove por contradição que:

a) A soma de dois inteiros negativos é um inteiro negativo.

b) Se x é um número real tal que x > 0 então 1x

> 0

Page 51: Matematica discreta fasciculo_3_v06

51

Matemática Discreta

c) Se a soma de dois números primos é primo então um dos primos deve ser 2.

d) Se x é diferente de zero, então x2 é positivo.

e) Se n é um inteiro tal que 3.n + 2 é par, então n é par.

5. Prove ou dê um contra-exemplo:

a) Se x e y são números irracionais então o produto x.y é irracional.

b) Se n é um inteiro positivo qualquer, então 2n + 1 é primo.

c) Se n é um inteiro positivo, então n2 – 79n + 1601 é primo.

6. Prove que o quadrado de um inteiro par é um inteiro par, usando:

a) prova direta.

b) prova indireta

c) prova por contradição.

7. Prove que se n é um inteiro ímpar então n3 + 5 é um inteiro par, usando:

a) prova direta

b) prova por contradição

c) prova pela contra-positiva.

8. Prove ou dê um contra-exemplo:

Se x e y são inteiros primos então x.y + 1 é primo

Conclusão

Ao final deste terceiro capitulo, você aprendeu sobre técnicas de provas de teoremas. Dentre elas, destacamos a prova direta, a prova pela contra-positiva, prova por contradição e aprendeu a fornecer um contra-exemplo de uma proposição falsa.

Page 52: Matematica discreta fasciculo_3_v06

52

Matemática Discreta

Saiba Mais

Caso você queira aprofundar seus conhecimentos sobre técnicas de provas, consulte os seguintes livros.

GERSTING, Judith L. Fundamentos Matemáticos para a Ciência da Computação. Tradução Valéria de Magalhães Iorio. Rio de Janeiro: LTC, 2004.

LIPSChUTZ, Seimour; LIPSON, Marc Lars. Teoria e Problemas de Matemática Discreta. Porto Alegre: Bookman, 2004.

SChEINERMAN, Edward R. Matemática Discreta: uma introdução. Tradução de Alfredo Alves de Farias. São Paulo: Pioneira Thomson Learning, 2003.

Page 53: Matematica discreta fasciculo_3_v06

53

Matemática Discreta

Capítulo 04 - Princípio de Indução Finita

O Princípio de Indução Finita é uma técnica freqüentemente usada para demonstrar proposições sobre números inteiros positivos do tipo ∀n∈N*, n∈N* → P(n), onde P(n) é uma propriedade relativa aos números inteiros positivos n.

Algumas vezes nos defrontamos com afirmações envolvendo os números naturais, tais como:

1. P(n) : A soma dos n primeiros números ímpares é n2.

“1 + 3 + 5 + ... + (2n-1) = n2”

2. P(n): A soma dos n primeiros números inteiros positivos é ( 1)

2n n + .

“1 + 2 + 3 + 4 + ...+ n = ( 1)2

n n + ”

3. P(n): 22n - 1 é divisível por 3, ∀n ≥ 1, n∈N

Para verificar se tais afirmações são verdadeiras para qualquer inteiro n ≥ 1, não basta “testar” a veracidade das fórmulas substituindo valores específicos para n. Por mais que as igualdades ganhem credibilidade, não poderemos garantir sua validade para algum valor de n que não tenha sido testado.

Vejamos alguns exemplos:

Exemplo 1. Calculando o valor numérico da expressão P(n) = n2 – n + 17 em vários casos particulares de números inteiros positivos n

Page 54: Matematica discreta fasciculo_3_v06

54

Matemática Discreta

os resultados encontrados são sempre números primos? Vejamos:

Para n = 1, temos P(1) = 12 – 1 + 17 = 17 (primo)

Para n = 2, temos P(2) = 22 – 2 + 17 = 19 (primo)

Para n = 3, temos P(3) = 9 – 3 + 17 = 23 (primo)

Para n = 4, temos P(4) = 16 – 4 + 17 = 29 (primo)

...

Podemos afirmar que, para todo número inteiro positivo n, P(n) é um número primo?

É claro que não!

Continuando o cálculo até n = 16 encontraremos sempre números primos, porém, para n = 17 encontramos que P(17) = 172 - 17 + 17 = 172 = 17 . 17 que não é primo, pois é divisível por 17.

Então, P(n) = n2 – n + 17 não é primo para todo inteiro positivo n.

Exemplo 2. Ao somar os n primeiros números ímpares positivos. O que encontramos?

Se tentarmos valores pequenos de n obtemos:

S1 = 1 = 12

S2 = 1 + 3 = 22

S3 = 1 + 3 + 5 = 32

S4 = 1 + 3 + 5 + 7 = 42

S5 = 1 + 3 + 5 + 7 + 9 = 52

S6 = 1 + 3 + 5 + 7 + 9 + 11 = 62

S7 = 1 + 3 + 5 + 7 + 9 + 11 + 13 = 72

É fácil observar que obtemos quadrados como soma. Na verdade, pelos exemplos, a soma dos n primeiros números ímpares positivos é

Sn = 1 + 3 + 5+ + 7 + ... + (2n-1) = n2. Mas a observação é válida apenas para os sete primeiros valores de n.

Será que isso é válido para todos os valores de n? Como podemos provar essa afirmação?

Page 55: Matematica discreta fasciculo_3_v06

55

Matemática Discreta

A demonstração de que uma propriedade P, relativa aos números naturais, é verdadeira para todo numero natural n ≥ 1, pode ser feita pelo método que chamamos de Princípio de Indução Finita, que pode ser enunciado assim:

Seja P(n) uma proposição que queremos provar que é verdadeira para todo número natural n ≥ 1. Se provarmos que:

a) P(1) é verdadeira.

b) Se P(k) verdadeira implica que P(k+1) é verdadeira, ∀k ≥ 1 então, a proposição P(n) é verdadeira, para todo inteiro n ≥ 1.

Para melhor entender o princípio de indução finita vamos utilizar a metáfora do dominó. Se você tem uma longa fila de dominós em pé e você puder assegurar que:

1. O primeiro dominó cairá quando se aplica uma força suficiente na peça do dominó.

2. Sempre que uma peça de domingo cair, a peça vizinha também cairá.

Então você pode concluir que todas as peças de dominó cairão.

Como é na prática o principio de indução finita? Alguns exemplos mostrarão isso.

Page 56: Matematica discreta fasciculo_3_v06

56

Matemática Discreta

Exemplo 3. Queremos provar que a proposição P(n) seguinte é verdadeira para todo numero natural n ≥ 1

P(n): 1 + 3 + 5 + 7 ... + (2n - 1) = n.

Parte 1. Devemos provar que P(1) é verdadeira, isto é:

1 = 12

1 = 1

Parte 2. Supondo que P(n) é verdadeira para n = k, devemos mostrar que P(n) é verdadeira para n = k + 1.

P(k) verdadeira significa que 1 + 3 + 5 + ... + (2k-1) = k2. Devemos mostrar que P(k+1) é também verdadeira, isto é, devemos mostrar que:

P(k+1): 1 + 3 + 5 + ... + 2k-1 + 2(k+1) -1 = (k+1)2

Como

1 + 3 + 5 + ... + 2k-1 + 2(k+1) -1 =

[1 + 3 + 5 + ... + 2k -1] + 2(k+1) -1 =

k2 + 2k +1 = (hipótese)

(k+1)2

Logo, pelo Princípio de Indução Finita, a fórmula vale para todo n ≥ 1.

Exemplo 4. Provar que 1 + 2 + 3 + 4 + ...+ n = ( 1)2

n n + , ∀n ≥ 1.

Parte 1. Vamos provar que P(I) é verdadeira. De fato,

1 = 1.(1 1)

2+

⇒ 1 = 1.(2)

2 ⇒ 1 = 1.

Parte 2. Suponha que P(n) seja verdadeira para n = k, isto é, que 1

+ 2 + 3 + 4 + ... + k = ( 1)

2k k +

.

Queremos provar que P(k+1) é verdadeira, isto é, que 1 + 2 + 3 + 4

+ ... + k + (k+1) = ( 1)( 2)

2k k+ +

.

Como 1 + 2 + 3 + 4 + ... + k + (k+1) =

[1 + 2 + 3 + 4 + ... + k] + (k+1) =

Page 57: Matematica discreta fasciculo_3_v06

57

Matemática Discreta

( 1)2

k k + + (k+1) = (Por hipótese)

( 1) 2( 1)2

k k k+ + + =

( 1)( 2)2

k k+ +

Logo, pelo Princípio de Indução Finita, a fórmula vale para todo n ≥ 1.

Exemplo 5. Mostre que a proposição P(n): 22n - 1 é divisível por 3, ∀n ≥ 1, n∈N é verdadeira.

Parte 1. Devemos provar que P(1) é verdadeira, isto é, que para n = 1, 22.1 – 1 é divisível por 3 (múltiplo de 3).

De fato, 22.1 – 1 = 22 – 1 = 4 – 1 = 3 (múltiplo de 3).

Parte 2. Suponha que P(n) seja verdadeira para n = k, isto é, que 22k - 1 é múltiplo de 3.

Então 22k - 1 = 3.m para algum inteiro m.

Quero provar que P(n) é verdadeira para n = k+1. Ou seja, quero provar que 22(k+1) - 1 é múltiplo de 3.

Como 22(k+1) - 1 = 22k+2 - 1 = 22k . 22 – 1

= 22k . 4 - 1 = 22k . 3 + 22k - 1

= 3. 22k + 22k -1 =

3. 22k + 3.m = 3(22k + m) múltiplo de 3.

Logo, pelo Princípio de Indução Finita, a fórmula vale para todo n ≥ 1.

Exemplo 6. P(n): 2n ≥ n+1, ∀n∈N

Parte 1. Para n = 0, tem-se que: 20 ≥ 0+1

1 ≥ 1 verdadeiro.

Parte 2. Devemos mostrar que P(n) é verdadeira para n = k+1 sempre que P(n) é verdadeira para n = k.

Ou seja, que 2k+1 ≥ k+2 sempre que 2k ≥ k +1

Ora, 2k+1 = 2. 2k ≥ 2(k+1) = (hipótese)

2k + 2 ≥ k + 2

Page 58: Matematica discreta fasciculo_3_v06

58

Matemática Discreta

Logo, pelo Princípio de Indução Finita, a fórmula vale para todo n ≥ 1

Exemplo 7. Seja S(n) o termo geral de uma seqüência tal que S(1) = 2 e S(n) = 3*S(n-1) - 1 para n > 1.

a) Escreva os cinco primeiros termos de S.

b) Mostre por indução que S(n) = 3 1

2

n +

Solução: a) S(1)= 2,

S(2) = 3.S(1) - 1 = 3.2 - 1 = 5,

S(3) = 3.S(2) - 1 = 3.5 - 1 = 14,

S(4) = 3.S(3) - 1 = 3.14 - 1 = 41,

S(5) = 3.S(4) - 1 = 3.41 - 1 = 122

b) Queremos provar que S(n) = 3 1

2

n +

Parte 1. Para n = 1, temos que S(1) = 13 1 4 22 2

+ = = .

Parte 2. Suponha que S(k) = 3 12

k + , queremos provar que S(k+1)

= 13 12

k+ +.

Ora, pelo passo recursivo temos que

S(k+1) = 3.S(k) – 1 = 3. 3 12

k + - 1

= 1 1 13 3 3 3 2 3 112 2 2

k k k+ + ++ + − +− = = .

Exemplo 8. Prove por indução matemática que 23n – 1 é divisível por 7, ∀n ≥ 1, n∈N.

Parte 1. É claro que para n = 1, 23.1 – 1 = 8 – 1 = 7 é divisível por 7.

Parte 2. Suponha que para um inteiro k ≥ 1, 23k – 1 seja divisível por 7, ou seja, que existe inteiro m tal que 23k – 1 = 7m.

Queremos provar que 23(k+1) – 1 é divisível por 7, isto é, que existe inteiro p tal que 23(k+1) – 1 = 3p.

Page 59: Matematica discreta fasciculo_3_v06

59

Matemática Discreta

De fato, 23(k+1) – 1 = 23k + 3 – 1

= 23k. 23 – 1 = 23k.8 - 1

= (23k. 7) + (23k – 1)

Como 23k. 7 é divisível por 7 e 23k – 1 é divisível por 7 por hipótese, então 23(k+1) – 1 é divisível por 7, tendo em vista ser soma de dois números divisíveis por 7.

Assim, podemos escrever 23(k+1) – 1 = 23k. 7 + 7m = 7(23k + m)

= 7p, com p = 23k + m.

Exemplo 9. Uma seqüência F(n) é definida recursivamente assim: F(1) = 3, F(n) = F(n-1) + n, para n>1.

a) Quais os cinco primeiros termos de F?

b) Use indução para provar que F(n) = 2 4

2n n+ +

, n ≥ 1

a) F(1) = 3,

F(2) = F(1) + 2 = 3 + 2 = 5,

F(3) = F(2) + 3 = 5 + 3 = 8

F(4) = F(3) + 4 = 8 + 4 = 12,

F(5) = F(4) + 5 = 12 + 5 = 17.

b) F(n) = 2 4

2n n+ +

, n ≥ 1

Queremos provar que a fórmula dá os termos da seqüência 3, 5, 8, 12, 17, ...

Parte 1. Para n = 1 temos que F(1) = 21 1 4 6 3

2 2 + + = = , a

fórmula está correta.

Parte 2. Suponha que F(k) = 2 4

2k k+ +

, queremos provar que

F(k+1) = 2( 1) ( 1) 4

2k k+ + + +

.

Ora, pela definição recursiva temos que F(k+1) = F(k) + k+1, logo, podemos escrever:

F(k+1) = 2 4

2k k+ +

+ k + 1

Page 60: Matematica discreta fasciculo_3_v06

60

Matemática Discreta

= 2 4 2 2

2k k k+ + + +

+ 2 2 1 1 4

2k k k+ + + + +

+ 2( 1) ( 1) 4

2k k+ + + +

.

Está completa a prova por indução.

Aprenda Praticando - Exercício Proposto 4.1

1. Nos exercícios seguintes, use a indução matemática para demonstrar que os resultados abaixo indicados são válidos para qualquer inteiro positivo n. (n ≥ 1)

a) 2 + 6 + 10 + ... + (4n - 2) = 2n2

b) 2 + 4 + 6 + ... + 2n = n(n + 1)

c) 1 + 5 + 9 + ... + (4n - 3) = n(2n - 1)

Page 61: Matematica discreta fasciculo_3_v06

61

Matemática Discreta

d) 1 + 3 + 6 + ... + n(n 1) ( 1)( 2) 2 6n n n+ + +=

e) 4 + 10 + 16 + ... + (6n - 2) = n(3n + 1)

f) 5 + 10 + 15 + ... + 5n = 5n(n 1)

2+

g) 12 + 22 + 32 + ... + n2 = ( 1)(2 1)

6n n n+ +

h) 13 + 23 + 33 + ... + n3 = 2 2( 1)

4n n+

i) 12 + 32 + 52 + ... + (2n - 1)2 = (2 1)(2 1)

3n n n− +

j) 1.3 + 2.4 + 3.5 + ... + n(n+2) = n(n 1)(2n 7)

6+ +

k) 1 1 1 1 ... 1.2 2.3 3.4 1( 1)n

nn n+ + + + = ++

l) 1 1 1 1 ... 5.71.3 3.5 (2 1).(2 1)n n+ + + + − + = 2 1

nn+

m) 1.1! + 2.2! + 3.3! + ... + n.n! = (n+1)! - 1

2. No exercício anterior, escreva sob a forma de somatório, o primeiro membro de cada uma das igualdades.

3. Prove por meio de indução matemática que as sentenças seguintes são verdadeiras para todo inteiro n ≥ 1.

a) 32n + 7 é divisível por 8

b) 7n - 2n é divisível por 5

c) 13n - 6n é divisível por 7

d) 25n + 1 + 5n + 2 é divisível por 27

4. Considere a seqüência S(n) definida recursivamente por:

S(1) = 1, S(n) = 2*S(n-1) + 1 para n > 1.

Mostre por indução que S(n) = 2n – 1, para n ≥ 1.

5. Seja S(n) o termo geral de uma seqüência tal que:

S(1) = 2 e S(n) = 3*S(n-1) – 1 para n > 1.

a) Escreva os cinco primeiros termos de S

b) Mostre por indução que S(n) = 3 1

2

n +

Page 62: Matematica discreta fasciculo_3_v06

62

Matemática Discreta

6. Descobrir e provar por indução uma fórmula para An = 1 10 1

n

com n ≥ 1.

7. A seqüência D(n) é definida assim:

D(1) = 2, D(2) = 5, D(n) = 5.D(n-1) - 6.D(n-2), para n > 2.

a) Escreva os cinco primeiros termos da seqüência.

b) Mostre por indução que D(n) = 2n-1 + 3n-1 para n ≥ 1.

Respostas dos Exercícios 4.1

2.

a) 1(4 2)

n

ii

=−∑ c)

1(4 3)

n

ii

=−∑

e) 1(6 2)

n

ii

=−∑ g) 2

1

n

ii

=∑

i) 2

1(2 1)

n

ii

=−∑ k)

1

1( 1)

n

i i i= +∑

m) 1

.( !)n

ii i

=∑

4. Para provar que S(n) = 2n –1, para n ≥ 1, provaremos inicialmente que a fórmula é válida para n = 1.

De fato S(1) = 21 – 1 = 1.

Agora, suponha que a fórmula é válida para um inteiro k ≥ 11. Isto é, S(k) = 2k – 1. Queremos provar que S(k+1) = 2k+1 – 1.

Ora, pelo passo recursivo, temos que S(k+1) = 2.S(k) + 1 = 2. (2k – 1) + 1 = 2k+1 + 2 – 1 = 2k+1 + 1.

6. A1 =

11 10 1

= 1 10 1

,

A2 = 1 10 1

.1 10 1

= 1 20 1

,

Page 63: Matematica discreta fasciculo_3_v06

63

Matemática Discreta

A3 = 1 20 1

.1 10 1

= 1 30 1

...

Conjectura: An = 1 n0 1

, ∀n ≥ 1

Prova por indução: Para n = 1, A1 = 1 10 1

.

Suponha Ak = 1 k0 1

, queremos provar que Ak+1 = 1 k 10 1

+.

Ora, Ak+1 = 1 k 10 1

+ = Ak. A =

1 k0 1

. 1 10 1

= 1 k 10 1

+.

Está provado por indução que An = 1 n0 1

, ∀n ≥ 1.

Saiba Mais

O Princípio de Indução Finita é usado também na correção de algoritmos. Por exemplo, queremos saber se o procedimento descrito pelo fluxograma abaixo termina para quaisquer que sejam os valores dos dados de entrada.

O algoritmo de Euclides é usado no cálculo do Máximo Divisor Comum entre dois inteiros positivos m e n, conforme figura seguinte.

Page 64: Matematica discreta fasciculo_3_v06

64

Matemática Discreta

Mostrar que o procedimento acima termina para quaisquer valores dos dados de entrada, equivale a mostra que “Se no passo 2 do procedimento os valores de x e y são inteiros, então os passos 2, 3 e 4 serão executados apenas um número finito de vezes, com os cálculos terminando no passo 4”.

Faremos a prova por indução sobre o valor de y.

Parte 1. Se y = 1, então após o passo 2, r = 0. Assim, os passos 2, 3 e 4 são executados uma única vez e o cálculo termina no passo 4.

Parte 2. Suponhamos que a proposição é verdadeira para qualquer x > 0 e qualquer y, tal que 1 ≤ y < k, e mostraremos que ela é verdadeira para y = k.

Por definição de resto da divisão de números inteiros positivos, teremos depois da execução do passo 2, 0 ≤ r < k. Se r = 0, a execução

Page 65: Matematica discreta fasciculo_3_v06

65

Matemática Discreta

termina, numa única vez. Se r > 0, com a execução dos passos 3 e 4, teremos x = k e y = r, e a execução volta ao passo 2. Assim, pela hipótese de indução, os passos 2, 3 e 4 serão executados um número finito p de vezes, com os cálculos finalizando no passo 4. De modo que, ao todo teremos p + 1 execuções para y = k. Concluímos então que o algoritmo termina para quaisquer valores das entradas.

Caso você queira conhecer mais sobre o princípio de indução finita, notadamente em provas de correção de algoritmos, consulte as seguintes obras.

GERSTING, Judith L. Fundamentos Matemáticos para a Ciência da Computação. Tradução Valéria de Magalhães Iorio. Rio de Janeiro: LTC, 2004.

LIPSChUTZ, Seimour; LIPSON, Marc Lars. Teoria e Problemas de Matemática Discreta. Porto Alegre: Bookman, 2004.

SChEINERMAN, Edward R. Matemática Discreta: uma introdução. Tradução de Alfredo Alves de Farias. São Paulo: Pioneira Thomson Learning, 2003.

Conclusão

Ao finalizar este fascículo, você teve oportunidade de conhecer mais um método de prova de proposições relativas aos números naturais: o princípio de indução finita. Você aplicará esse método quando quiser garantir que um algoritmo ou sua implementação está correta.

Considerações Finais

Ao final desse fascículo você aprendeu sobre as funções, o que é recursividade, como os teoremas podem ser provados usando algumas técnicas de provas e conheceu o princípio de indução finita, empregado quando se deseja verificar a veracidade de proposições relativas aos números inteiros. Em todos esses assuntos, foram abordados exemplos relacionados às áreas de Informática e Computação. Espero que você utilize esses métodos matemáticos na solução de problemas de outras disciplinas do curso.

Page 66: Matematica discreta fasciculo_3_v06

66

Matemática Discreta

Referências

ABE, J. M. Teoria Intuitiva dos Conjuntos. São Paulo: Makron, 199, 266p.

GERSTING, J L. Fundamentos Matemáticos para a Ciências da Computação. 3 ed., Rio de Janeiro: LTC 1993; 512p.

LIPSChUTZ, S, LIPSON, M. L. Teoria e Problemas de Matemática Discreta. 2 ed., Porto Alegre: Bookman, 2004, 511p.

MENEZES, P. B. Matemática Discreta para Computação e Informática. Porto Alegre: Editora Sagra Luzzatto, 2004; 272p.

PINTO, S. J. Tópicos de Matemática Discreta. Departamento de Matemática: Universidade de Aveiro, 1999;122p

ROSEN, K. h. Discrete Mathematics and its Applications. 4 ED., New York: WCB/McGraw-hill, 1999, 654p.

SChEINERMAN, E. R. Matemática Discreta - Uma Introdução. São Paulo: Thomson, 2003, 523p.

http://www.interaula.com/matweb/alegria/fibon//seqfib1.htm

http://www.upis.br/revistavirtual/Cavalcante_%20Teoria%20dos%20N%FAmeros%20e%20Criptografia_2005_UPIS.pdf

http://www.infowester.com/criptografia.php

http://domenico-deri.sites.uol.com.br/exemplos.html

http://www.penta.ufrgs.br/gere96/segur/cripto_.htm

http://www.ipea.gov.br