Você está na página 1de 33

Notas sobre Definições Recursivas

Matemática Discreta - if670

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 1 / 24


Introdução

A torre de Hanói

Jogo antigo inventado pelo matemético francês Édouard Lucas em


1883. O brinquedo consiste de três pinos fixos numa base comum.
Em um dos pinos são empilhados oito discos em ordem decrescente
de tamanho.

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 2 / 24


Introdução

Objetivo do jogo

Transferir a torre inteira para um dos outros pinos.


Mover apenas um disco de cada vez;
nunca colocar um disco maior em cima de um disco menor.

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 3 / 24


Introdução

Lenda

O matemático anexou ao seu brinquedo uma lenda sobre uma torre


muito maior, chamada Torre de Brama. Ela tem 64 discos de ouro
puro empilhados em três pinos de diamantes. No início dos tempos,
Deus colocou esses discos de ouro no primeiro pino e mandou um
grupo de sacerdotes transferí-los para um outro pino seguindo as
regras acima descritas. Quando os sacerdotes terminarem essa
tarefa, a torre ruirá e o mundo acabará.

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 4 / 24


Introdução

Pergunta

Quantos movimentos são necessários para mover uma torre com


n discos?

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 5 / 24


Definições recursivas

O item que está sendo definido aparece como parte da definição.

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 6 / 24


Definições recursivas

O item que está sendo definido aparece como parte da definição.


Também chamada de definição indutiva.
As definições recursivas são compostas de duas partes:
1 BASE: onde alguns casos simples do item que está sendo definido
são dados explicitamente; e

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 6 / 24


Definições recursivas

O item que está sendo definido aparece como parte da definição.


Também chamada de definição indutiva.
As definições recursivas são compostas de duas partes:
1 BASE: onde alguns casos simples do item que está sendo definido
são dados explicitamente; e
2 PASSO INDUTIVO ou RECURSIVO: onde outros casos do item
que está sendo definido são dados em função dos casos anteriores

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 6 / 24


Definições recursivas

Para quê usamos as definições recursivas?

Funções e Operações;

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 7 / 24


Definições recursivas

Para quê usamos as definições recursivas?

Funções e Operações;
ALGORITMOS;

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 7 / 24


Definições recursivas

Para quê usamos as definições recursivas?

Funções e Operações;
ALGORITMOS;
CONJUNTOS;

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 7 / 24


Definições recursivas

Para quê usamos as definições recursivas?

Funções e Operações;
ALGORITMOS;
CONJUNTOS;
SEQUÊNCIAS.

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 7 / 24


Funções e Operações

Funções

Exemplo
Encontre f (1), f (2) e f (3) se f (n) é definida recursivamente por:
f (0) = 1;
para n = 0, 1, 2, 3, .... temos:
1 f (n + 1) = f (n) + 2
2 f (n + 1) = 3f (n)
3 f (n + 1) = 2f (n)
4 f (n + 1) = f (n)2 + f (n) + 1

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 8 / 24


Funções e Operações

Exemplo
Forneça uma definição recursiva para a função fatorial F (n) = n!.

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 9 / 24


Funções e Operações

Operações

Exemplo
Considere a operação de exponenciação an , definida para um número
real a diferente de zero e n inteiro não negativo. A definição recursiva
para essa operação é dada a seguir:
1 a0 = 1
2 an = (an−1 .a)

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 10 / 24


ALGORITMOS

Algoritmos

Exemplo
Defina um algoritmo recursivo para calcular o fatorial de um número.

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 11 / 24


ALGORITMOS

Exemplo
Defina um algoritmo recursivo para calcular a soma dos n primeiros
números inteiros pares e positivos.

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 12 / 24


CONJUNTOS

Conjuntos

Exemplo

1 2∈A
2 Se x ∈ A então (x + 2) ∈ A

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 13 / 24


CONJUNTOS

Exemplo
Cadeias de símbolos obtidas a partir de um alfabeto finito são objetos
geralmente utilizados em computação. Exemplos: cadeias de bits
(alfabeto = {0, 1}), cadeias alfanuméricas usadas como identificadores
em uma determinada linguagem de programação, etc. O conjunto de
todas as cadeias de tamanho finito sobre um alfabeto A, geralmente
denotado por A∗ , é definido recursivamente como a seguir:
1 A cadeia vazia (ε) ∈ A∗ ;
2 Todo elemento de A pertence a A∗ ;
3 Se x e y pertencem a A∗ então a concatenação xy também
pertence a A∗ .

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 14 / 24


CONJUNTOS

Exemplo
Forneça uma definição recursiva para o conjunto de todas as cadeias
de bits de tamanho finito que são palíndromos.

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 15 / 24


CONJUNTOS

Exemplo
Forneça uma definição recursiva para o conjunto de todas as cadeias
de bits de tamanho finito que são palíndromos.
1 ε, 0 e 1 são palíndromos;

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 15 / 24


CONJUNTOS

Exemplo
Forneça uma definição recursiva para o conjunto de todas as cadeias
de bits de tamanho finito que são palíndromos.
1 ε, 0 e 1 são palíndromos;
2 Se x é palíndromo então 0x0 e 1x1 também são palíndromos.

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 15 / 24


CONJUNTOS

Exemplo
Em uma certa linguagem de programação, os identificadores podem
ser cadeias alfanuméricas de tamanho arbitrário, mas que devem
começar com letra. Uma definição recursiva para o conjunto de
identificadores válidos nessa linguagem é dada a seguir:
1 Uma letra é um identificador;
2 Se x é um identificador, então a concatenação de x com qualquer
letra ou dígito também é um identificador.

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 16 / 24


CONJUNTOS

Exemplo
FORMA DE BACKUS NAUR (BNF).
Notação usada para definir itens de uma linguagem de programação.
Nessa notação os itens definidos estão entre < e >. A linha vertical (|)
indica uma escolha (“ou”).
A BNF de um identificador é dada a seguir:
< identificador > ::= < letra > |< identificador >< letra > |
< identificador >< digito >
< letra > ::= a | b | c | . . . | z
< digito > ::= 0 | 1 | 2 | . . . | 9

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 17 / 24


CONJUNTOS

Exemplo
FORMA DE BACKUS NAUR (BNF).
Notação usada para definir itens de uma linguagem de programação.
Nessa notação os itens definidos estão entre < e >. A linha vertical (|)
indica uma escolha (“ou”).
A BNF de um identificador é dada a seguir:
< identificador > ::= < letra > |< identificador >< letra > |
< identificador >< digito >
< letra > ::= a | b | c | . . . | z
< digito > ::= 0 | 1 | 2 | . . . | 9

Exemplo
O identificador gv1 é obtido da definição BNF de que forma?

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 17 / 24


SEQUÊNCIAS

Exemplo
Forneça uma definição recursiva para a sequência {an }, n = 1, 2, 3, . . .
se:
1 an = 6n
2 an = 2n + 1
3 an = 10n
4 an = 5

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 18 / 24


SEQUÊNCIAS

Sequência de Fibonacci
Fibonacci considerou o crescimento de uma população idealizada de
coelhos. Os números descrevem a quantidade de casais na
população de coelhos depois de n meses se for suposto que:
no primeiro mês nasce apenas um casal;
cada casal se torna fértil e gera um novo casal de coelhos após o
segundo mês de vida e a partir daí todos os meses, ele dá a luz a
um novo casal;
não há problemas genéticos no cruzamento consanguíneo e os
coelhos nunca morrem.

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 19 / 24


SEQUÊNCIAS

Sequência de Fibonacci

Existem muitas relações interessantes que são válidas para os


números de Fibonacci. Por exemplo, qual é a soma dos n primeiros
números de Fibonacci?

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 20 / 24


SEQUÊNCIAS

Sequência de Fibonacci

Existem muitas relações interessantes que são válidas para os


números de Fibonacci. Por exemplo, qual é a soma dos n primeiros
números de Fibonacci?

F0 + F1 + F2 + . . . + Fn = Fn+2 − 1

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 20 / 24


SEQUÊNCIAS

F0 + F1 + F2 + . . . + Fn = Fn+2 − 1

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 21 / 24


SEQUÊNCIAS

Prove que F3n é par.

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 22 / 24


SEQUÊNCIAS

Prove que F5n é divisível por 5.

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 23 / 24


SEQUÊNCIAS

Sequência de Fibonacci

Prove as seguintes identidades:


1 F1 + F3 + F5 + . . . + F2n−1 = F2n
2 F0 − F1 + F2 − F3 + . . . − F2n−1 + F2n = F2n−1 − 1
3 F02 + F12 + F22 + . . . + Fn2 = Fn .Fn+1

UFPE - CIn - Matemática Discreta - if670 Definições Recursivas 24 / 24

Você também pode gostar