/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Ayuda algoritmo para calcular una serie.

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
kodaw



Registrado: 13 Ago 2012
Mensajes: 2

MensajePublicado: 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... Sad
Volver arriba
rir3760



Registrado: 01 Oct 2004
Mensajes: 7520
Ubicación: Mexico

MensajePublicado: 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

MensajePublicado: 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 Sad
Volver arriba
Pantalàimon_



Registrado: 17 Jul 2007
Mensajes: 1345

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com