package ex1 object Main { def main(args: Array[String]) { val num: Double = 18.7 * 18.7 println("Exercice 1") println(java.lang.Math.sqrt(num)) println(sqrt2(num)) println("Exercice 2") println(java.lang.Math.cbrt(num)) println(cbrt(num)) println("Exercice 3") for (lin <- 1 to 10) { for (col <- 1 to lin) print(pascal(col, lin) + " ") println() } println("Exercice 4") println(balance("(if (zero? x) max (/ 1 x))".toList)) println(balance("Je lui ai dit (que ce n'est pas (encore) fini).\n(Mais il faisait la sourde oreille)".toList)) println(balance(":-)".toList)) println(balance("())(".toList)) } /* Fonctions du cours */ def abs(x: Double): Double = if (x >= 0) x else -x def square(x: Double): Double = x * x def isGoodEnough(guess: Double, x: Double): Boolean = abs(square(guess) - x) < 0.001 def improve(guess: Double, x: Double): Double = (guess + x / guess) / 2 def sqrt1(x: Double): Double = { def sqrtIter(guess: Double, x: Double): Double = if (isGoodEnough(guess, x)) guess else sqrtIter(improve(guess, x), x) sqrtIter(1.0, x) } /* Exercice 1 */ def sqrt2(x: Double): Double = { 0.0 // TODO } /* Exercice 2 */ def cbrt(x: Double): Double = { 0.0 // TODO } /* Exercice 3 */ def pascal(col: Int, lin: Int): Int = { 0 // TODO } /** * Exercice 4 * * Il y a trois methodes sur List[Char] qui sont utiles pour cet exercise * - chars.isEmpty: Boolean // true si la liste est vide * - chars.head: Char // le premier élément * - chars.tail: List[Char] // la liste sans le premier élément */ def balance(chars: List[Char]): Boolean = { false // TODO } }