Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Que opinan de este programa que calcula el valor de e^x?

Estas en el tema de Que opinan de este programa que calcula el valor de e^x? en el foro de C/C++ en Foros del Web. Es lo más difícil que he hecho hasta ahora... xD ni sabía que era el numero e... pero mi libro me pedía un ejercicio sobre ...
  #1 (permalink)  
Antiguo 19/05/2011, 21:50
 
Fecha de Ingreso: abril-2011
Mensajes: 224
Antigüedad: 13 años
Puntos: 8
Pregunta Que opinan de este programa que calcula el valor de e^x?

Es lo más difícil que he hecho hasta ahora... xD ni sabía que era el numero e... pero mi libro me pedía un ejercicio sobre el y me ví obligado a estudiar sobre eso... al parecer para cuando termine mi libro de programación sabré trigonometría, calculo diferencial e integral.. probabilidad y estadistica... fisica cuantica (?) xD...

Bueno ya... éste es el programa:
Código C:
Ver original
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int main(){
  5.    
  6.     int f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12;
  7.     int f13, f14, f15;
  8.     int contador = 1;
  9.     int factor = 1;
  10.     float x;
  11.    
  12.     printf("Programa que calcula e^x... escriba el valor de x: ");
  13.     scanf("%f", &x);
  14.    
  15.     while(contador <= 15){
  16.        factor *= contador;
  17.        
  18.        switch(contador){
  19.           case 1:
  20.                f1 = factor;
  21.                break;
  22.                
  23.           case 2:
  24.                f2 = factor;
  25.                break;
  26.                
  27.           case 3:
  28.                f3 = factor;
  29.                break;
  30.                
  31.           case 4:
  32.                f4 = factor;
  33.                break;
  34.                
  35.           case 5:
  36.                f5 = factor;
  37.                break;
  38.          
  39.           case 6:
  40.                f6 = factor;
  41.                break;
  42.          
  43.           case 7:
  44.                f7 = factor;
  45.                break;
  46.          
  47.           case 8:
  48.                f8 = factor;
  49.                break;
  50.          
  51.           case 9:
  52.                f9 = factor;
  53.                break;
  54.          
  55.           case 10:
  56.                f10 = factor;
  57.                break;
  58.                
  59.           case 11:
  60.                f11 = factor;
  61.                break;
  62.                
  63.           case 12:
  64.                f12 = factor;
  65.                break;
  66.           }
  67.                
  68.        
  69.        contador++;
  70.        }
  71.     printf("e^%.0f = %.9f", x, 1.0 + (x/f1) + ((pow(x,2))/f2) +
  72.           ((pow(x,3))/f3) + ((pow(x,4))/f4) + ((pow(x,5))/f5) +
  73.           ((pow(x,6))/f6) + ((pow(x,7))/f7) + ((pow(x,8))/f8) +
  74.           ((pow(x,9))/f9) + ((pow(x,10))/f10) + ((pow(x,11))/f11) +
  75.           ((pow(x,12))/f12) );
  76.     getch();
  77. }

Que opinan? Algún comentario? Qué podría mejorar?

Muchas gracias! Saludos!
  #2 (permalink)  
Antiguo 20/05/2011, 08:25
 
Fecha de Ingreso: febrero-2006
Mensajes: 4
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Que opinan de este programa que calcula el valor de e^x?

Hola reethok, estudiando tu código encontre una funcion que te permite calcular el valor de e^x, quizas te sirva.

Código C++:
Ver original
  1. #include <math.h>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int main(int argc, char *argv[])
  7. {
  8.     int x;
  9.    
  10.     cout<<"Programa que calcula e^x... escriba el valor de x: ";
  11.     cin>>x;
  12.     cout<<"e^"<<x<<" = "<<exp(x)<<endl;
  13.  
  14.     system("PAUSE");
  15.     return EXIT_SUCCESS;
  16. }

Saludos.
  #3 (permalink)  
Antiguo 20/05/2011, 14:59
 
Fecha de Ingreso: abril-2011
Mensajes: 224
Antigüedad: 13 años
Puntos: 8
Respuesta: Que opinan de este programa que calcula el valor de e^x?

Gracias! Pero eso es para C++... yo apenas estoy aprendiendo C normal jeje... después paso a C++ y luego a Java!

Gracias de igual modo!

Saludos! :)
  #4 (permalink)  
Antiguo 20/05/2011, 15:23
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Respuesta: Que opinan de este programa que calcula el valor de e^x?

Hasta donde tengo entendido tambien existen funciones estándares en C para efectuar dicho calculo.

Opinion del codigo.
Me parece que se usa un metodo numerico para calcular el valor.
Se podria hacer de una manera un poco mas limpia. Pero en si esta bien.

Saludos
  #5 (permalink)  
Antiguo 20/05/2011, 18:22
 
Fecha de Ingreso: abril-2011
Mensajes: 224
Antigüedad: 13 años
Puntos: 8
Respuesta: Que opinan de este programa que calcula el valor de e^x?

Sí... talvez... pero mi libro me pedía que lo hiciera así (Apenas voy llegando a funciones)...

Saludos!
  #6 (permalink)  
Antiguo 21/05/2011, 20:21
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Que opinan de este programa que calcula el valor de e^x?

Utiliza series de teylor para calcularlo.... con menos factores creo que seria igualmente bastante exacta y ademas se podria usar un array, o directamente un un solo factor tambien. Hacer todo el calculo de una.

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int main(){
  5.     int contador = 1;
  6.     int factor = 1;
  7.     float x;
  8.     float resultado = 1;
  9.     printf("Programa que calcula e^x... escriba el valor de x: ");
  10.     scanf("%f", &x);
  11.    
  12.     while(contador <= 15){
  13.        factor *= contador;
  14.        resultado += pow(x,contador) / factor
  15.        contador++;
  16.        }
  17.     printf("e^%.0f = %.9f", x,resultado);
  18.     getch();
  19. }

Creo que ahi esta bastante bien...no la he probado, por ahi me como algun indice.

Etiquetas: programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:44.