Introducción a la Programación
Trimestre 2004 Otoño --- Tarea 5

Viernes 19 de Noviembre de 2004 a las 14:30 hrs

Fracciones continuas

Considere el siguiente proceso: Comience con un número x que no sea negativo. Mientras x sea diferente de cero, calcule su parte entera z, réstesela a x y asígnele a x su inverso. Por ejemplo, si comienza con x = 3.15 el anterior proceso producirá, en orden, los siguientes valores de z: 3, 6, 1, 2. Ahora observe que 3.15 = 3 + 1/(6 + 1/(1 + 1/(2))). A esta expresión se le llama la fracción continua de 3.15. Nosotros consideraremos el proceso inverso, es decir, comenzando con la sucesión de números enteros que define a una fracción continua, queremos calcular el número original. Para ser más precisos, dado un número entero positivo n y una sucesión z1, z2, z3, ..., zn de n enteros, calcule el valor del número x cuya fracción continua está representada por z1 + 1/(z2 + 1/(z3 + 1/(... + 1/zn)))).

Especificación

La entrada consiste de un número entero n, que tendrá un valor entre 1 y 1000, seguido de n números enteros z1, z2, z3, ..., zn cada uno con valor entre 0 y 999. La salida consiste del número x de punto flotante. El nombre de tu programa deberá ser fraconNN.c, donde NN es el número de equipo que les fue asignado. Los archivos fraconNN.o y fraconNN.exe no deben ser entregados. Notas: (a) Su programa no deberá leer ni escribir nada además de los datos mencionados. (b) Su programa no deberá usar nada que no hayamos visto en clase. (c) Para compilar su programa en UNIX usen la instrucción gcc fraconNN.c -o fracon y para probarlo usen la instrucción ./fracon y tecleen la entrada deseada seguida de un enter.

Ejemplos

ENTRADA: 4 3 6 1 2
SALIDA:  3.15