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