INTRODUCCIÓN DEL PROBLEMA, ANÁLISIS Y REFERENCIAS DE APOYO
is951Práctica o problema14 de Noviembre de 2016
684 Palabras (3 Páginas)131 Visitas
[pic 1] [pic 2]
INSTITUTO POLITÉCTICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA
INGENIERÍA ELÉCTRICA
ALUMNO: DUARTE PADILLA ISRAEL
CORREO: evaduarte951@gmail.com
FECHA DE ENTREGA: 24/10/2016
GRUPO: 1EM1
PROFESOR: LUIS ARTURO JIMENEZ MENDOZA
2016
DESCRIPCIÓN DEL PROBLEMA
El problema requiere de tres operaciones, una sumatoria externa, una sumatoria interna y una factorial, cada una con su propio sub-programa.
INTRODUCCIÓN DEL PROBLEMA, ANÁLISIS Y REFERENCIAS DE APOYO
El problema requiere de tres sub-programas en donde cada uno debe abordar una operación y un programa central que llame a las tres funciones, es decir, tres funciones que utilicen while para hacer el conteo de las sumatorias y la factorial y la última debe ser el programa principal que utilice los resultados de los otros tres programas, podría usar el if para evitar resultados de 0 y 1 que causarían problemas aritméticos.
[pic 3]
PROGRAMA EN C
#include
#include
float sumaexterna(int n);
int sumainterna(int n);
int factorial(int n);
float sumaexterna(int n)
{
int i;
float res=0;
for(i=0; i<=n; i++)
{
res+=(float)factorial(i+1)/(float)sumainterna(i);
}
return res;
}
int sumainterna(int n)
{
int i, res=0;
for(i=0; i<=n; i++)
{
res=res+(factorial(i)-i*i);
}
return res;
}
int factorial(int n)
{
if(n==0 || n==1)
return 1;
else
{
int i=n-1;
for(; i>=2; i--)
n*=i;
return n;
}
}
int main()
{
int n;
float res;
printf("Ingresa n: ");
scanf("%d", &n);
res=sumaexterna(n);
printf("Resultado con n=%d\n", n);
if((int)res==res)
printf("%d", (int)res);
else
printf("%f\n", res);
return 0;
}
Los datos de entrada y salida son:
- Entrada: Número entero, con el que se define el final del conteo de los while.
- Salida: Número flotante con seis dígitos después del punto
CONCLUSIONES
El ejercicio me pareció de considerable dificultad, especialmente en el factorial, los ejercicios en clase fueron de poca ayuda pero resolvieron algunas dudas básicas, tardé aproximadamente tres horas en desarrollar poco a poco el programa, aprendiendo sobre la marcha.
...