Fpc p02

Disponível somente no TrabalhosFeitos
  • Páginas : 5 (1171 palavras )
  • Download(s) : 0
  • Publicado : 16 de outubro de 2012
Ler documento completo
Amostra do texto
Projecto 02

Autores
***** - *********************************
51083 - Alexandre Manuel Da Silva Ribeiro

Colaborações
sem colaborações



A:

1- Uma característica distintiva do Processo Recursivo é a existência de um conjunto de operações pendentes até o momento em que possam ser calculadas.(1ª fase - Expansão / 2ª fase Contração)

2- O primeiro passo é denominado "Wishfulthinking" (faz de conta). Consiste em imaginarmos que existe um procedimento que resolve uma versão mais simples do problema.
O segundo passo é a Decomposição do problema, no qual resolvemos o nosso problema segundo o procedimento anteriormente imaginado.
O terceiro passo é a Indentificação do Problema não Decomposivéis, em que tentámos localizar as condições de paragem.

3- Oscomponentes dos algoritmos recursivos são: - Teste
- Caso Base
- Caso Recursivo

Para o procedimento que calcula os números de Fibonacci:
Teste --> (= n 0) e (= n 1)
Caso Base --> (0) e (1)
Caso Recursivo --> (+ (fib (- n 1)) (fib (- n 2)))


B:

1- ii. / v.

2-
i. (fib 2)
(cond ((= 2 0) 0) ((= 2 1) 1) (else (+ (fib (- 2 1)) (fib (- 2 2)))))(cond (#f 0) ((= 2 1) 1) (else (+ (fib (- 2 1)) (fib (- 2 2)))))
(cond ((= 2 1) 1) (else (+ (fib (- 2 1)) (fib (- 2 2)))))
(cond (#f 1) (else (+ (fib (- 2 1)) (fib (- 2 2)))))
(cond (else (+ (fib (- 2 1)) (fib (- 2 2)))))
(+ (fib (- 2 1)) (fib (- 2 2)))
(+ (fib 1)) (fib (- 2 2)))
(+ (cond ((= 1 0) 0) ((= 1 1) 1) (else (+ (fib (- 1 1)) (fib (- 1 2))))) (fib (-2 2)))(+ (cond (#f 0) ((= 1 1) 1) (else (+ (fib (- 1 1)) (fib (- 1 2))))) (fib (-2 2)))
(+ (cond ((= 1 1) 1) (else (+ (fib (- 1 1)) (fib (- 1 2))))) (fib (-2 2)))
(+ (cond (#t 1) (else (+ (fib (- 1 1)) (fib (- 1 2))))) (fib (-2 2)))
(+ 1 (fib (- 2 2)))
(+ 1 (fib 0))
(+ 1 (cond ((= 0 0) 0) ((= 0 1) 1) (else (+ (fib (- 0 1)) (fib (- 0 2))))))
(+ 1 (cond (#t 0)((= 0 1) 1) (else (+ (fib (- 0 1)) (fib (- 0 2))))))
(+ 1 0)
1

ii. (fib 4)
(cond ((= 4 0) 0) ((= 4 1) 1) (else (+ (fib (- 4 1)) (fib (- 4 2)))))
(cond (#f 0) ((= 4 1) 1) (else (+ (fib (- 4 1)) (fib (- 4 2)))))
(cond ((= 4 1) 1) (else (+ (fib (- 4 1)) (fib (- 4 2)))))
(cond (#f 1) (else (+ (fib (- 4 1)) (fib (- 4 2)))))
(cond (else (+ (fib (- 4 1))(fib (- 4 2)))))
(+ (fib (- 4 1)) (fib (- 4 2)))
(+ (fib 3) (fib (- 4 2)))
(+ (cond ((= 3 0) 0) ((= 3 1) 1) (else (+ (fib (- 3 1)) (fib (- 3 2))))) (fib (- 4 2)))
(+ (cond (#f 0) ((= 3 1) 1) (else (+ (fib (- 3 1)) (fib (- 3 2))))) (fib (- 4 2)))
(+ (cond ((= 3 1) 1) (else (+ (fib (- 3 1)) (fib (- 3 2))))) (fib (- 4 2)))
(+ (cond (#f 1) (else (+ (fib (- 31)) (fib (- 3 2))))) (fib (- 4 2)))
(+ (cond (else (+ (fib (- 3 1)) (fib (- 3 2))))) (fib (- 4 2)))
(+ (+ (fib (- 3 1)) (fib (- 3 2))) (fib (- 4 2)))
(+ (+ (fib 2) (fib (- 3 2))) (fib (- 4 2)))
(+ (+ (cond ((= 2 0) 0) ((= 2 1) 1) (else (+ (fib (- 2 1)) (fib (- 2 2))))) (fib (- 3 2))) (fib (- 4 2)))
(+ (+ (cond (#f 0) ((= 2 1) 1) (else (+ (fib (- 2 1)) (fib (- 22))))) (fib (- 3 2))) (fib (- 4 2)))
(+ (+ (cond ((= 2 1) 1) (else (+ (fib (- 2 1)) (fib (- 2 2))))) (fib (- 3 2))) (fib (- 4 2)))
(+ (+ (cond (#f 1) (else (+ (fib (- 2 1)) (fib (- 2 2))))) (fib (- 3 2))) (fib (- 4 2)))
(+ (+ (cond (else (+ (fib (- 2 1)) (fib (- 2 2))))) (fib (- 3 2))) (fib (- 4 2)))
(+ (+ (+ (fib (- 2 1)) (fib (- 2 2))) (fib (- 3 2))) (fib (- 4 2)))(+ (+ (+ (fib 1) (fib (- 2 2))) (fib (- 3 2))) (fib (- 4 2)))
(+ (+ (+ (cond ((= 1 0) 0) ((= 1 1) 1) (else (+ (fib (- 1 1)) (fib (- 1 2))))) (fib (- 2 2))) (fib (- 3 2))) (fib (- 4 2)))
(+ (+ (+ (cond (#f 0) ((= 1 1) 1) (else (+ (fib (- 1 1)) (fib (- 1 2))))) (fib (- 2 2))) (fib (- 3 2))) (fib (- 4 2)))
(+ (+ (+ (cond ((= 1 1) 1) (else (+ (fib (- 1 1)) (fib (- 1 2)))))...
tracking img