INTRODUCCION A LA PROGRAMACIÓN Factorial Lineal regresa 1

Anuncio
INTRODUCCION A LA PROGRAMACIÓN
Factorial Lineal
Los números factoriales son muy interesantes para su estudio, ya que los podemos
encontrar en la combinatoria, en la estadística y en otras aplicaciones.
Tu labor será calcular un número factorial utilizando la siguiente función:
regresa 1 si n = 0
f(n)
regresa n*f(n-1) si n > 0
Por ejemplo si deseas calcular 2!, el proceso es el siguiente:
Se invoca a f(2), donde n = 2, y como n > 0 regresa 2*f(2-1), se invoca
recursivamente a f(2-1), es decir f(1), donde n = 1 y como nuevamente n > 0 regresa
1*f(1-1), se invoca recursivamente a f(1-1), es decir f(0), donde n = 0, y como n es 0, la
función entra en el caso base y regresa el valor 1, obteniendo así los valores faltantes
necesarios para las multiplicaciones marcadas en negritas y poder dar el resultado que en
este caso es 2.
Tu programa fuente deberá llamarse Flineal.(pas, for, c, cpp o java según sea el
caso).
Especificaciones de la entrada
La entrada consta de un único número n entre 0 y 20.
Especificaciones de la salida (Flineal.txt)
El programa deberá generar un archivo denominado "Flineal.txt" (sin las
comillas), el cual contendrá un solo valor:
R
Dado que R puede ser muy grande, se sugiere utilizar el tipo de dato para
almacenarlos cuya precisión es la mas alta según sea el lenguaje que estés utilizando (por
ejemplo en c y c++ el long long int, en java el long y en pascal el real).
Cada programa se probará con 10 casos de entrada (como los mostrados en los
ejemplos de entrada 1 y 2), cada salida correcta* vale 1 punto.
Para esta tarea en especial será revisado el código con mayor detalle, y si tu
programa resuelve la tarea, pero no tiene implementada la función arriba mencionada
f(n), tu calificación se reducirá a la mitad.
Fecha de entrega: miércoles 11 de noviembre de 2009.
No se reciben programas fuera de esta fecha, más que para derecho a exámen,
pero ya sin derecho a calificación en el programa.
Modo de entrega: enviar un correo con su nombre en el asunto, seguido del grupo,
y adjunto el código fuente Flineal.(pas, for, c, cpp o java según sea el caso), al mail
[email protected].
Ejemplo de entrada 1
Dame la n
5
Ejemplo de salida 1 (Flineal.txt)
120
Ejemplo de entrada 2
20
Ejemplo de salida 2 (Flineal.txt)
2432902008176640000
NOTA: En el ejemplo 1, los letreros en rojo son solo para fines didácticos, no es necesario que tu programa los
imprima, pero si así lo deseas, puedes imprimirlos en pantalla (salida estándar) siempre y cuando no los mandes al
archivo de salida.
* NOTA 2: Se considera salida correcta aquella que es igual en su totalidad a la salida que el evaluador genera, en
caso de imprimir valores o caracteres demás, o los datos incompletos, todo el caso de prueba se considerará como
incorrecto y tendrás 0 puntos para ese caso.
______________________________________________________________________________________
ANA LILIA C. LAUREANO CRUCES, SERGIO LUIS PÉREZ PÉREZ,
UAM AZCAPOTZALCO, 2009
Descargar