Herramientas de usuario

Herramientas del sitio


numbers:maths

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
numbers:maths [2013/04/07 11:47]
alfred [Trucos matemáticos]
numbers:maths [2020/05/09 09:25] (actual)
Línea 282: Línea 282:
  
 === Calculo de raíz cuadrada por método Newton === === Calculo de raíz cuadrada por método Newton ===
 +Código en Scala:
 <code scala> <code scala>
-def abs(x: Double) = if (x > 0) x else -x //> abs: (x: Double)Double+def abs(x: Double) = if (x > 0) x else -x 
  
 def sqrtIter(guess:​ Double, x: Double): Double = def sqrtIter(guess:​ Double, x: Double): Double =
   if (isGoodEnough(guess,​ x)) guess   if (isGoodEnough(guess,​ x)) guess
-  else sqrtIter(improve(guess,​ x), x) //> sqrtIter: (guess: Double, x: Double)Double+  else sqrtIter(improve(guess,​ x), x)
  
 def isGoodEnough(guess:​ Double, x: Double) = def isGoodEnough(guess:​ Double, x: Double) =
-  abs(guess * guess - x) < 0.0001 ​//> isGoodEnough:​ (guess: Double, x: Double)Boolean+  abs(guess * guess - x) < 0.0001
  
 def improve(guess:​ Double, x: Double): Double = def improve(guess:​ Double, x: Double): Double =
-  (guess + x / guess) / 2 //> improve: (guess: Double, x: Double)Double+  (guess + x / guess) / 2 
  
-def sqrt(x: Double) = sqrtIter(1.0,​ x) //> sqrt: (x: Double)Double+def sqrt(x: Double) = sqrtIter(1.0,​ x) 
  
 sqrt(4)  ​ sqrt(4)  ​
 </​code>​ </​code>​
numbers/maths.1365335243.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)