Código C++:
Ver original
Ese es mi codigo, lo ejecuta perfecto pero el problema es que no me imprime cuando el valor de x es 2 y no se porque. ALguien sabe ? gracias
| |||
Programa de c++, no ejecuta ultima resultado El enunciado es el siguiente: Construya el codigo para evaluar la funcion y=4x^2 - 16x + 15, donde x toma valores de 1 a 2 en pasos de 0.1. Para cada x la salida debe dar el valor de 'y' y el mensaje Positivo o el mensaje No Positivo.
Código C++:
Ver original Ese es mi codigo, lo ejecuta perfecto pero el problema es que no me imprime cuando el valor de x es 2 y no se porque. ALguien sabe ? gracias |
| |||
Respuesta: Programa de c++, no ejecuta ultima resultado Trabajar con decimales no es lo mismo que trabajar con enteros. Si has estudiado cómo se almacenan los números decimales, habrás notado que no suelen ser cálculos exactos. En consecuencia, una comparación x==2.0 no parece una buena idea. Básicamente porque x puede valer 2.000000001, que ya será superior al 2.0 que tu has puesto como condición. La solución pasa por trabajar con aproximaciones. Por ejemplo: x < 2.01. Dado que estás incrementando por décimas, comparar por centésimas te debería dar la precisión necesaria. Otra forma podría ser:
Código C:
Ver original fabs calcula el valor absoluto. Si x difiere de 2.1 menos de una centésima, puedes asumir sin lugar a dudas que en la iteración anterior x era aproximadamente, 2.0 También puedes pasar de los decimales y, sabiendo que vas a hacer N iteraciones, usar un contador entero:
Código C:
Ver original Si no te ha quedado claro el planteamiento, pregunta tus dudas. Un saludo. |
| |||
Respuesta: Programa de c++, no ejecuta ultima resultado Echa un ojo a este enlace, donde ya contesté a alguien con un problema parecido al tuyo: http://www.forosdelweb.com/f96/valid...7/#post4155391 |
Etiquetas: |