O documento apresenta informações sobre a Universidade Federal Rural de Pernambuco, incluindo seus principais cargos administrativos. Além disso, fornece detalhes sobre o plano de disciplina de Matemática Discreta, como ementa, objetivos, conteúdo programático e referências.
Atividade números operações e tratamento da informação 1
Funções: conceitos fundamentais
1.
2. Universidade Federal Rural de Pernambuco
Reitor: Prof. Valmar Corrêa de Andrade
Vice-Reitor: Prof. Reginaldo Barros
Pró-Reitor de Administração: Prof. Francisco Fernando Ramos Carvalho
Pró-Reitor de Extensão: Prof. Paulo Donizeti Siepierski
Pró-Reitor de Pesquisa e Pós-Graduação: Prof. Fernando José Freire
Pró-Reitor de Planejamento: Prof. Rinaldo Luiz Caraciolo Ferreira
Pró-Reitora de Ensino de Graduação: Profª. Maria José de Sena
Coordenação de Ensino a Distância: Profª Marizete Silva Santos
Produção Gráfica e Editorial
Capa e Editoração: Allyson Vila Nova, Rafael Lira e Italo Amorim
Revisão Ortográfica: Marcelo Melo
Ilustrações: Allyson Vila Nova e Diego Almeida
Coordenação de Produção: Marizete Silva Santos
3.
4. 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
5. 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
6. 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.
7. 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
8. 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!
9.
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.
10
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)
11
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.
12
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
n n
injetora, pois se n1 ≠ n2 então 2 1 ≠ 2 2 . 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.
13
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
14
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.
15
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 3
R 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 0
O S P O R T E S T Á E M A L T A
16
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
17
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 3417
Endereço 9 6 3 17 17 6 9 16 1
18
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 ok
63 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 hi(84) = (84mod 7 + 0)mod 7 = (0 + 0)mod 7 = 0mod 7 = 0 Colisão
1 hi(84) = (84mod 7 + 1)mod 7 = (1 + 0)mod 7 = 1mod 7 = 1 ok
93 0 hi(93) = (93mod 7 + 0)mod 7 = (2 + 0)mod 7 = 2mod 7 = 2 Colisão
1 hi(93) = (93mod 7 + 1)mod 7 = (2 + 1)mod 7 = 3mod 7 = 3 Colisão
2 hi(93) = (93mod 7 + 2)mod 7 = (2 + 2)mod 7 = 4mod 7 = 4 ok
Os dados serão alocados nos seguintes endereços:
0 1 2 3 4 5 6
63 84 44 66 93 33
19
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).
1
Exemplo 16: Considere a seqüência cujo termo geral é F(n) = .
n
1 1
A lista dos termos da seqüência é F(1) = 1, F(2) = , F(3) = , F(4)
2 3
1 1
= , F(5) = .
4 5
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.
20
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 + 1
e) An = n! f) An = 2 + 3(n-1)
Solução:
a) 1, 4, 9, 16 b) 11, 101, 1001, 10001
c) -1, 2, -3, 4 d) 3, 5, 9, 17
e) 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:
400
a) A(n) = 24 – 5n , n ≥ 1 b) A(n) = ,n≥1
2n−1
c) A(n) = 7 + 10n, n ≥ 1 d) A(n) = 10n - 3, n ≥ 1
1
e) A(n) = (-1)n + 1 . 2, n ≥ 1 f) A(n) = ,n≥1
2n − 1
n(n + 1)
g) A(n) = ,n≥1 h) A(n) = 1 + (n - 1)2, n ≥ 1
2
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,
21
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 + 2
e) m : N → N m(x) = (x)mod 5
f) q : N → N q(j) = 1 se j é ímpar
q(j) = 0 se j é par
g) r : N → {0, 1} r(j) = 1 se j é ímpar
r(j) = 0 se j é par
h) 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 + x
j) f: N → N tal que f(x) = 10 + x
k) 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.
22
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 f
d) 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
x +1 x −1
b) f(x) = , g(x) =
x −1 x +1
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.
23
24. Matemática Discreta
Respostas dos Exercícios 1.1
x−4
2. a) f(x) = 3x + 4 é bijetora e a função inversa é f-1(x) = .
3
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
x +1.
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
2
x −1 x −1
8. a) g(f(x)) = g( )= 4 = ( x − 1)2
2 2
4 x2 −1
f(g(x)) = f(4x ) =
2
2
x +1
−1 1
x +1 x −1 =
b) g(f(x)) = g( )=
x −1 x +1 x
+1
x −1
x −1
+1
x −1 ) = x +1
f(g(x)) = f( = −x
x +1 x −1
−1
x +1
24
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 h(65) = (65mod 7 + 02)mod 7 = (2 + 0)mod 7 = 2 Colisão
1 h(65) = (65mod 7 + 12)mod 7 = (2 + 1)mod 7 = 3 ok
66 0 h(66) = (66mod 7 + 02)mod 7 = (3 + 0)mod 7 = 3 Colisão
1 h(66) = (66mod 7 + 12)mod 7 = (3 + 1)mod 7 = 4 ok
84 0 h(84) = (84mod 7 + 02)mod 7 = (0 + 0)mod 7 = 0 ok
93 0 h(93) = (93mod 7 + 02)mod 7 = (2 + 0)mod 7 = 2 Colisão
1 h(93) = (93mod 7 + 12)mod 7 = (2 + 1)mod 7 = 3 Colisão
2 h(93) = (93mod 7 + 22)mod 7 = (2 + 4)mod 7 = 6 ok
Os dados serão alocados nos seguintes endereços:
0 1 2 3 4 5 6
84 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
25
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%20
N%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
26
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,
L1
vértices de um triângulo eqüilátero de lado L2 = . Por sua vez, cada
2
triângulo eqüilátero de lado L2, tem em cada um dos seus lados, vértices
L2
de triângulos eqüiláteros de lados L3 = , e assim sucessivamente.
2
De modo que a figura mostra uma sucessão de triângulos eqüiláteros
Ln−1
de lados Ln = , onde o lado de cada triângulo é metade do lado
2
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,
27
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
28
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:
30
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.
31
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.
n2 + n
c) Uma fórmula fechada para T(n) é T(n) = para n ≥ 1 (Prove).
2
Assim, para 231 seja um número triangular, devemos encontrar n tal
n2 + n
que 231 = . Isto é, n2 + n - 462 = 0. Resolvendo a equação,
2
−1 ± 1 + 1848 −1 ± 43
temos que n = = . Assim, T(21) = 231.
2 2
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
32
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?
n
Assim, F(n) = ∑ i = 1+ 2 + 3 + 4 + 5 + ... + n.
i =1
33
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 , para n ≥ 2.
A.(n − 1)
34
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) +
1 , para n ≥ 2.
n
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.
35
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
36
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:
1 2
Y0 = 1, Yn+1 = Yn + , onde n ≥ 0.
2 Yn
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 , para n > 1.
F (n − 1) + 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)?
37
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:
38
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=4
P(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 n=2 n=3 n=4 n=5
P(1) = 1 P(2) = 5 P(3) = 12 P(4) = 22 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:
(a1 + an )n
A soma dos termos de uma PA: Sn =
2
a1 (q n − 1)
A soma dos termos de uma PG: Sn =
q −1
39
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)=
S (n − 1) + S (n − 2) , n ≥ 2
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).
40
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
41
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
2 3 5 8 13
b) 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, ...
42
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) =
(1 + 3n − 2).n (3n − 1)n 3n 2 − n
= = , para n ≥ 1.
2 2 2
20. F(4) = 12
F(5) = 2.F(4) + 7 = 2(12) + 7 = 31
F(6) = 2.F(5) + 7 = 62 + 7 = 69
43
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.
44
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).
45
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”.
46
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.
47
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.
48
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.
49
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.
1
b) Se x é um número real tal que x > 0 então >0
x
50
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.
51
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.
52
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 é
n(n + 1)
.
2
n(n + 1)
“1 + 2 + 3 + 4 + ...+ n = ”
2
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
53
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?
54
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.
55
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.
n(n + 1)
Exemplo 4. Provar que 1 + 2 + 3 + 4 + ...+ n = , ∀n ≥ 1.
2
Parte 1. Vamos provar que P(I) é verdadeira. De fato,
1.(1 + 1) 1.(2)
1= ⇒1= ⇒ 1 = 1.
2 2
Parte 2. Suponha que P(n) seja verdadeira para n = k, isto é, que 1
k (k + 1)
+ 2 + 3 + 4 + ... + k = .
2
Queremos provar que P(k+1) é verdadeira, isto é, que 1 + 2 + 3 + 4
(k + 1)(k + 2)
+ ... + k + (k+1) = .
2
Como 1 + 2 + 3 + 4 + ... + k + (k+1) =
[1 + 2 + 3 + 4 + ... + k] + (k+1) =
56
57. Matemática Discreta
k (k + 1)
+ (k+1) = (Por hipótese)
2
k (k + 1) + 2(k + 1)
=
2
(k + 1)(k + 2)
2
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
57
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.
3n + 1
b) Mostre por indução que S(n) =
2
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
3n + 1
b) Queremos provar que S(n) =
2
31 + 1 4
Parte 1. Para n = 1, temos que S(1) = = = 2.
2 2
Parte 2. Suponha que S(k) = 3k + 1 , queremos provar que S(k+1)
2
3k+1 + 1
= .
2
Ora, pelo passo recursivo temos que
k
S(k+1) = 3.S(k) – 1 = 3. 3 +1 - 1
2
3k +1 + 3 3k +1 + 3 − 2 3k +1 + 1
= −1 = = .
2 2 2
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.
58
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?
n2 + n + 4
b) Use indução para provar que F(n) = ,n≥1
2
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.
n2 + n + 4
b) F(n) = ,n≥1
2
Queremos provar que a fórmula dá os termos da seqüência 3, 5,
8, 12, 17, ...
12 + 1 + 4 6
Parte 1. Para n = 1 temos que F(1) = = = 3, a
2 2
fórmula está correta.
k2 + k + 4
Parte 2. Suponha que F(k) = , queremos provar que
2
(k + 1)2 + (k + 1) + 4
F(k+1) = .
2
Ora, pela definição recursiva temos que F(k+1) = F(k) + k+1, logo,
podemos escrever:
k2 + k + 4
F(k+1) = +k+1
2
59
60. Matemática Discreta
k 2 + k + 4 + 2k + 2 k 2 + 2k +1+ k +1+ 4
= + 2
2
(k +1)2 + (k +1) + 4
+ .
2
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)
60