object vezbe { /* val x = 0 def f (y: Int) = y + 1 val result = { val x = f(3) x * x } + x */ def abs(x: Double): Double = if (x < 0) -x else x def sqrt(x: Double) = { def sqrtIter(guess: Double): Double = if (isGoodEnough(guess)) guess else sqrtIter(improve(guess)) def isGoodEnough(guess: Double) = abs(guess * guess - x) < 1e-5 def improve(guess: Double) = (guess + x / guess) / 2 sqrtIter(1) } def main(args: Array[String]): Unit = { println("Koren od 2 je " + sqrt(2)) } }