1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
// 1x28: Programa que calcula una raíz cuadrada de un número N real y positivo. /* Escriba un programa que calcule la raíz cuadrada de un número real positivo N de la siguiente manera: Aproximamos su raíz por g=1. Mejoramos esa aproximación con g’=1/2*(g+N/g). Si g y g’ son distintos, volvemos a mejorar la aproximación. Así hasta que g y g’ coincidan. El valor obtenido es la raíz cuadrada de N. */ #include <stdio.h> //Función que calcula una raíz de un número: double raiz(double num){ // Precondición: Se ha de recibir un parámetro de tipo double. // Poscondición: Se devolverá un parámetro double. double g=num, j=0; while (j != g){ j = g; g = ( g + num/g )/2; }; return g; }; main(){ system("clear"); double numero; printf("Introduzca un numero decimal positivo: "); do{ scanf( "%lf", &numero ); // Se usa %lf para el tipo double. if( numero < 0){ printf("Debe de usar numeros positivos: "); }; }while( numero <0); printf(" La raiz cuadrada de %g es: %g\n\n", numero, raiz(numero) ); }; |