Documentos de Académico
Documentos de Profesional
Documentos de Cultura
#include <iostream>
#include <iomanip> // setprecision
#include <cmath>// Funciones matematicas
#define PRECISION 6
int main()
{
cout << setprecision(PRECISION); // Establecemos la precisión
double a, b, tolerancia;
imprimePuntos(a, b);
// [a, b]
double xr,xra; // raiz de la función
/*
cout << "\nf(" << a << ") = " << f(a) << endl;
cout << "f(" << b << ") = " << f(b) << endl;
*/
} else {
cout << "% de Tolerancia = ";
cin >> tolerancia;
cout << "\na\tb\tx\tf(a)\t\tf(b)\t\tf(x)\n" << endl;
do {
xr = (a + b) / 2.0;
cout << a << "\t" << b << "\t" << xr << "\t";
cout << f(a) << "\t" << f(b) << "\t" << f(xr) << endl;
// Vemos si cumple o no cumple
if (abs(((xr-xra)/xra)*100)<=tolerancia){ // xr sería la raiz de f
cout << "\n\nPara una tolerancia de " << tolerancia << "% de error
porcentual la raiz de f es " << xr << endl;
break;
} else {
if (f(xr) * f(a) > 0) {
a = xr;
} else if (f(xr) * f(b) > 0) {
b = xr;
}
xra=xr;
}
} while (1);
}
cin.get();
cin.get();
return 0;
}
#define INTERVALOS 5
void imprimePuntos(double a, double b)
{
int puntos = INTERVALOS + 2;