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 |
-- 24/02/2012 -- 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. with ada.text_io; with ada.float_text_io; procedure ada7x07 is use ada.text_io; use ada.float_text_io; numero:float; -- FUNCION QUE HALLA LA RAIZ CUADRADA DE UN NUMERO REAL: function raiz( num: in float ) return float is -- Precondición: Se ha de recibir un parámetro de entrada de tipo float. -- Poscondición: Se calcula la raíz cuadrada del parámetro recibido y se devuelve el resultado como float. g:float := num; j:float := 0.0; begin while j /= g loop j := g; g := (g+num/g)/2.0; end loop; return g; end raiz; begin put("Introduzca el número del cual quiere hallar su raíz cuadrada: "); get(numero); while numero < 0.0 loop put("No use números negativos, pruebe de nuevo: "); get(numero); end loop; put("La raiz cuadrada de "); put(item=>numero, aft=>1, exp=>0); put(" es: "); put( item=>raiz(numero), aft=>1, exp=>0 ); new_line; end ada7x07; |