#include #include #include //Prototipos float funcao(float x); float funcao_teste(float x); int main(){ float x0, x1, precisao, k, xbarra, cubo, teste; x0 = 0.5; precisao = 0.0001; if( x0 < precisao){ xbarra = x0; } while(k < precisao){ x1 = x0 - funcao(x0);//passo 4 if( funcao(x1) < precisao || abs(x1 - x0) < precisao){ xbarra = x1; } x0 = x1; cubo= pow (x0 , 3); teste = (cubo - 9*x0 +3); k = teste; printf("K = %0.20f\nX0 = %0.20f\nRaiz = %0.20f\nCriterio de Parada = %0.20f\n", k, x0, xbarra, teste); system("pause"); } x1 = x0 - funcao(x0);//repetimos o codigo fora do while para que se verfique a primeira posicao de quando k > precisao if( funcao(x1) < precisao || abs(x1 - x0) < precisao){ xbarra = x1; } x0 = x1; cubo= pow (x0 , 3); teste = (cubo - 9*x0 +3); k = teste; printf("K = %0.20f\nX0 = %0.20f\nRaiz = %0.20f\nCriterio de Parada = %0.20f\n", k, x0, xbarra, teste); system("pause"); } //Funcao de teste de parada float funcao_teste(float x){ float cubo, teste; cubo= pow (x , 3); teste = (cubo - 9*x +3); printf("teste = %f", teste); return abs(teste); } //Funcao que calcula a funcao float funcao(float x){ float quadrado, cubo, resul; quadrado = pow (x , 2); cubo= pow (x , 3); resul = (cubo - 9*x +3) / (3* quadrado -9); return resul; }