| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
kodaw
Registrado: 13 Ago 2012 Mensajes: 2
| Publicado: 13/08/2012 7:40 am | | | Título: Ayuda algoritmo para calcular una serie. |
| Buenas,
Como ejercicios de practicas en la universidad tengo el siguente enunciado:
Crear una función para calcular el valor del número e con precisión p mediante la serie:
e = 1 + 1/1! + 1/2! + 1/3! + ... + 1/p!
Me podeis echar una mano?? Por Favor!! No se ni por donde empezar...  |
|
| Volver arriba | |
 |
rir3760

Registrado: 01 Oct 2004 Mensajes: 7516 Ubicación: Mexico
| Publicado: 13/08/2012 3:09 pm | | | Título: |
| Hola kodaw
Bienvenido a los foros. Por favor lee sus reglas. Como en ellas se indica lo primero que debes hacer es indicar el lenguaje de programación que estas utilizando así como presentar los avances que llevas de tu programa.
Un saludo _________________ C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language |
|
| Volver arriba | |
 |
kodaw
Registrado: 13 Ago 2012 Mensajes: 2
| Publicado: 14/08/2012 4:53 am | | | Título: Resolver algoritmo de una serie en C |
| Buenas,
Perdon por las prisas,
Estoy usando el devcpp-4.9.9.2 bajo windows xp.
No se por donde empezar, asi que no tengo avances  |
|
| Volver arriba | |
 |
|
Pantalàimon_
Registrado: 17 Jul 2007 Mensajes: 1344
| Publicado: 14/08/2012 6:16 am | | | Título: |
| devc++ es el IDE, estaría bien saber el lenguaje¿ C? ¿C++? Y ya de paso que conocimientos tienes del lenguaje que vas a usar. Porque me sorprende que no sepas ni por donde empezar.
Un saludo! |
|
| Volver arriba | |
 |
Sorancio

Registrado: 29 May 2009 Mensajes: 1157 Ubicación: España
| Publicado: 14/08/2012 7:39 am | | | Título: |
| El cálculo de e es muy sencillo y además recursivo, por lo que el programa en C no tiene mucho misterio:
| Código: |
#include <stdio.h>
unsigned long factorial(const unsigned int p) { if (p > 0) { return p * factorial(p - 1); } return 1; }
double e(const unsigned int precission) { if (precission == 0) { return 1; } return e(precission - 1) + 1.0L/factorial(precission); }
int main(void) { unsigned int P;
puts("¿Con cuanta precisión quiere calcular e?"); scanf("%u", &P); printf(">> %lg\n", e(P)); printf("%f\n", 1.0/5.0); return 0; }
|
_________________ Mi página web (en inglés): |
|
| Volver arriba | |
 |
leosan
Registrado: 19 Abr 2012 Mensajes: 730 Ubicación: GRAN CANARIA
| Publicado: 14/08/2012 2:37 pm | | | Título: |
| Para que tengas de donde arrancar y entendiendo por precison el factoerial inverso al que quieres llegar, como indicas en el enunciado, un primer código sin funciones:
| Código: | #include <stdio.h> #include <math.h> int main(void) { int i,terminos; double miserie=1, frac=1; puts("Teclea la precision: "); scanf("%d", &terminos); for (i=1;i<=terminos;i++) { frac=frac*1/i; miserie+=frac; } printf("Mi serie: %1.16g\n", miserie); printf("Error cometido: %1.16g\n", exp(1)-miserie); return 0; } |
Y un segundo en que se hace uso de una función:
| Código: | #include <stdio.h> #include <math.h> double serie(int terminos); int main(void) { int terminos; puts("Teclea la precision: "); scanf("%d", &terminos); printf("Mi serie: %1.16g\n", serie(terminos)); printf("Error cometido: %1.16g\n", exp(1)-serie(terminos)); return 0; } double serie(int terminos) { int i ;double miserie=1,frac=1; for (i=1;i<=terminos;i++) { frac=frac*1/i; miserie+=frac; } return miserie; }
|
Son códigos de un principiante pero con el puedes ir viendo de forma practica el tema de funciones.Salvo error u omisión. |
|
| Volver arriba | |
 |
|
|