#
Finite continued fraction
^{
}

a. An infinite continued fraction is an expression of the form

```
f = N₁
-------------
D₁ + N₂
-----------
D₂ + N₃
-----------
D₃ + ...
```

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

```
N₁
---------------
D₁ + N₂
-----------
+ Nk
-------
Dk
```

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)
```

or successive values of
`k`

. How large must you make
`k`

in order to get an approximation that is accurate to 4 decimal places?

b. 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.