INTRODUCCION A LA PROGRAMACIÓN Factorial Cola 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 a si n = 0 g(n, a) regresa g(n-1, n*a) si n > 0 Por ejemplo si deseas calcular 2!, el proceso es el siguiente: Se invoca a g(2, 1), donde n = 2 y a = 1, y como n > 0 se invoca recursivamente a g(2-1, 2*1), es decir g(1, 2), donde n = 1 y a = 1 y como nuevamente n > 0 se invoca recursivamente a g(1-1, 1*2), es decir g(0, 2), donde n = 0 y a = 2, y como n es 0, la función entra en el caso base y regresa el valor de a (en este caso 2), y esa es la respuesta. Tu programa fuente deberá llamarse Fcola.(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 (Fcola.txt) El programa deberá generar un archivo denominado "Fcola.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 g(n, a), 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 Fcola.(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 (Fcola.txt) 120 Ejemplo de entrada 2 20 Ejemplo de salida 2 (Fcola.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