Beruflich Dokumente
Kultur Dokumente
Avaliação Preguiçosa
Larissa Dantas
Edson Ferreira
Lazy Evaluation
Avaliação Preguiçosa
Larissa Dantas
Edson Ferreira
Avaliação de subexpressão ! Avaliação de função
Função: Avaliação posterior -> AVALIA EM TEMPO DE EXECUÇÃO
(define (factorial-wrong x)
(* x (factorial-wrong (- x 1)))))
Reduz o custo computacional
Como permite fazer delays na execução e associada com a pré-computação dos
valores, é possível calcular um valor que demanda um custo computacional
elevado e armazená-lo. A próxima vez que precisar deste valor novamente utiliza
o valor pré-computado. Economizando recursos computacionais e de tempo de
processamento.
Fatorial
Complexidade de Computação : O(n!)
Computar o valor e usar quando
(define (my-delay f)
(mcons #f f))
(define (my-force th)
(if (mcar th)
(mcdr th)
( begin (set-mcar! th #t)
(set-mcdr! th ((mcdr th)))
(mcdr th))))
Avaliação de subexpressão ! Avaliação de função
Função: Avaliação posterior -> AVALIA EM TEMPO DE EXECUÇÃO
(define (factorial-wrong x)
(* x (factorial-wrong (- x 1)))))
Reduz o custo computacional
Como permite fazer delays na execução e associada com a pré-computação dos
valores, é possível calcular um valor que demanda um custo computacional
elevado e armazená-lo. A próxima vez que precisar deste valor novamente utiliza
o valor pré-computado. Economizando recursos computacionais e de tempo de
processamento.
Fatorial
Complexidade de Computação : O(n!)
Computar o valor e usar quando
(define (my-delay f)
(mcons #f f))
(define (my-force th)
(if (mcar th)
(mcdr th)
( begin (set-mcar! th #t)
(set-mcdr! th ((mcdr th)))
(mcdr th))))