Html, php e base de dados
Sidnei Cruz
Departamento de Engenharias e Ciências do Mar Uni-CV
2012/2013
S.Cruz (DECM/Uni-CV)
Introdução à Programação (IP)
2012/2013
1 / 13
Recursão
Introdução
A recursividade (ou recursão) é uma característica fundamental para a concepção e construção de algoritmos. Esta característica é interpretada como a capacidade de um algoritmo (sob a forma de uma rotina ou função) evocar-se a si próprio.
A aplicação da recursividade é útil na resolução de problemas que se podem decompor e se explicam através de subproblemas.
S.Cruz (DECM/Uni-CV)
Introdução à Programação (IP)
2012/2013
2 / 13
Recursão
De modo a aplicar a recursividade a um determinado problema, é necessário considerar:
O case base recursivo
Existência de um conjunto de casos que não necessitam de operações signicativas de computação.
O passo recursivo
Representação dos diferentes subproblemas que recursivamente chegarão ao caso base.
S.Cruz (DECM/Uni-CV)
Introdução à Programação (IP)
2012/2013
3 / 13
Recursão
Estrutura geral de um algoritmo recursivo
Problema(P): [Caso base] Se o caso case B resolve P Então devolver B [chamadas recursivas de P até chegar ao caso base] Senão decompor P em P1, P2, ..., Pn C1 ← problema (P1) C2 ← problema (P2) . . . Cn ← problema (Pn)
Um algoritmo recursivo tem duas das partes distintas: uma parte que resolve uma parte concreta do problema e outra parte que diminui a dimensão do problema através de uma chamada recursiva do algoritmo.
S.Cruz (DECM/Uni-CV) Introdução à Programação (IP) 2012/2013 4 / 13
Recursão
A recursão ocorre quando uma função se chama si própria. Algumas funções prestam-se a ser chamadas recursivamente, tais como o factorial, ou um somatório.
Exemplo factorial:
Dado um número inteiro e positivo n, o seu factorial é representado por n! e é denido por
n! = nx (n − 1)x (n − 2)x ...x 2x 1
Por convenção, tem-se 0! = 1
S.Cruz