/
Inicio :: Foros

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

serie...

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



Registrado: 02 Sep 2004
Mensajes: 67
Ubicación: santiago, Chile..

MensajePublicado: 22/10/2004 3:24 pm
Título: serie...

hola nuevamente!
tengo que hacer el una aproximacion de una serie sen(x), en la que el programa reciba un float el cual determine la aproximacion con la que deseo calcular la serie...
La serie es:

sen(x)= 1x/1! - 3x/3! + 5x/5! - 7x/7!....

la aproximacion es el numero que tiene en el factorial y delante de la x...
les agradeceria cualquier tipo de ayuda...pues me he craneado mucho y no obtengo resultados Crying or Very sad
muchas gracias! Smile
Volver arriba
alp



Registrado: 12 Abr 2004
Mensajes: 413

MensajePublicado: 22/10/2004 4:37 pm
Título:

Hola.
A ver si te puede servir este programa:

Código:
#include <stdio.h>
#include <conio.h>
#include <math.h>

double fact(double valor)
{
    if (valor == 1)
       return 1.0;
   return valor * fact(valor - 1);
}


int main()
{
    int i, aprox;
    float temp, x, s;
   
   
    printf("Introduce valor para calcular el seno: ");
    scanf("%f", &x);
   
    printf("Introduce aproximación ");
    scanf("%i", &aprox);
   
    s = 0;
    for (i = 1; (i*2-1) <= aprox; i++) {
        temp = i*2-1;
      if (i % 2)
         s += pow(x, temp) / fact(temp);
      else
         s -= pow(x, temp) / fact(temp);
   }
   
   printf("\nAproximación de sen(%.3f) = %f", x, s);
   getch();
   return 0;
}


El truco para simplificarlo todo y meterlo en un bucle con una variable es el cálculo de los números impares: temp = i*2-1

Un saludo.
Volver arriba
Yahoo Messenger
alp



Registrado: 12 Abr 2004
Mensajes: 413

MensajePublicado: 23/10/2004 2:48 am
Título:

Hola otra vez. Estaba pensando....el bucle es demasiado enrevesado. Quizás quede mejor así:

Código:

    int suma = 1;
    s = 0;
    for (i = 1; i <= aprox; i+=2) {
      temp = pow(x, i) / fact(i);
      if (suma)
         s += temp;
      else
         s -= temp;
      suma = !suma;
   }


Un saludo.
Volver arriba
Yahoo Messenger
kykyou



Registrado: 02 Sep 2004
Mensajes: 67
Ubicación: santiago, Chile..

MensajePublicado: 23/10/2004 4:16 am
Título:

hola!
gracia alp, este lo entendi bien Wink , lo que pasa es que no tenia muy claro el ejercicio, no sabis bien que pedian.
me has ayudado mucho...ahora lo intentare hacer yo para aprender.
muchas gracias!
nos vemos...
Volver arriba
kykyou



Registrado: 02 Sep 2004
Mensajes: 67
Ubicación: santiago, Chile..

MensajePublicado: 28/10/2004 7:10 pm
Título:

hola!
despues de haber hecho la serie del seno, ahora he hecho una del coseno...
me gustaria que me vieran si tiene algun error o si esta perfecta Wink
el programa no arroja error pero me gustaria ver opiniones de otras personas...
de antemano muchas gracias!
aqui les dejo el codigo..

Código:


#include<stdio.h>
#include<conio.h>
#include<math.h>

long int fact(long int valor)
{
   if (valor == 1 || valor==0)
             return (1);   
   else
         return (valor * fact(valor - 1));
}



void coseno()
{
   long int aprox, i, temp;
   float x, s;
   printf("\n\n\tIngrese el valor del coseno :");
   scanf("%f",&x);
   printf("\n\tIngrese la aproximacion :");
   scanf("%ld",&aprox);
   s=0;
   for(i=1;(2*i-2)<=aprox;i++)
   {
      temp=2*i-2;
      if(x==0)
         s=1;
      else
         s=+ pow(-1,temp)*(pow(x,2)/fact(temp));
   }
   printf("\n\n\tLa aproximacion de cos(%f) es :%f",x,s);
   printf("\n\n\tPresione cualquier tecla para continuar :");
   getch();
}

void main()
{
   clrscr();
   coseno();
}
 
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