SICP – cap. 1 – procedure come metodo generale – esercizio – 47

mjolnir

Continuo da qui a fare gli esercizi, oggi sono qui.

Exercise 1.37.  An infinite continued fraction is an expression of the form

s104

As an example, one can show that the infinite continued fraction expansion with the Ni and the Di all equal to 1 produces 1/ϕ, where is the golden ratio (described in section 1.2.2). One way to approximate an infinite continued fraction is to truncate the expansion after a given number of terms. Such a truncation — a so-called k-term finite continued fraction — has the form

s105

Suppose that n and d are procedures of one argument (the term index i) that return the Ni and Di of the terms of the continued fraction. Define a procedure cont-frac such that evaluating (cont-frac n d k) computes the value of the k-term finite continued fraction. Check your procedure by approximating 1/ϕ using

(cont-frac (lambda (i) 1.0)
           (lambda (i) 1.0)
           k)

for successive values of k. How large must you make k in order to get an approximation that is accurate to 4 decimal places?

If your cont-frac procedure generates a recursive process, write one that generates an iterative process. If it generates an iterative process, write one that generates a recursive process.

Uhmmm… non è difficile ma –al solito– c’è Bill the Lizard che spiega bene e produce un codice über (semplice una volta che è scritto):

s106

OK, ed ecco la versione iterativa

s107

OK, ovviamente –non si sa mai…

s108

Tra i nerd che seguo è da vedere il post di sicp-ex😀
Ah, sì, la seconda risposta non è 42 ma 10.
:mrgreen:

Post a comment or leave a trackback: Trackback URL.

Trackbacks

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: