/* Prob 4 - 16/4 Dados números reais x >= 0 e epsilon > 0, calcular uma aproximação da raiz quadrada de x através da seguinte sequência r_0 = x r_(n+1) = 1/2 (r_n + x/r_n) n >= 0 x = 4 r0 = 4 r1 = 1/2 (4 + 4/4) = 2.5 r2 = 1/2 (2.5 + 4/2.5) = 2.05 A aproximação vai ser dada pelo primeiro valor r_(n+1) tal que o valor absoluto da diferença r_(n+1) - r_n em módulo, seja menor que epsilon. */ #include double modulo (double x) { double resp = x; if (x < 0.0) resp = -x; return resp; } int main() { double x, eps, ratual, rprox; printf("Digite x >= 0 e eps > 0: "); scanf("%lf %lf", &x, &eps); ratual = x; if (x != 0.0) rprox = (x + 1.0) / 2.0; else rprox = 0.0; while (modulo (rprox - ratual) >= eps){ ratual = rprox; rprox = 0.5 * (ratual + x / ratual); printf ("ratual = %.6f\n", ratual); } printf("A aproximação da raiz de %.5f é %.8f\n", x, rprox); return (0); }