Advertisement
kikosiak

Untitled

Dec 9th, 2019
311
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 1.05 KB | None | 0 0
  1. import scala.math._
  2. import util.control.Breaks._
  3.  
  4. object Bisekcja extends App {
  5.  
  6. def rownanie(x:Double):Double = sqrt(log(x+2))
  7.  
  8. def oblicz(a:Double,b:Double): Unit ={
  9.   var x1:Double = a
  10.   var x2:Double = b
  11.   var x:Double = 0
  12.   var y:Double = 0
  13.   var y1:Double = 0
  14.  
  15.   breakable {
  16.     while (true) {
  17.       println("x1 "+x1+" x2 "+x2)
  18.         x = (x1 + x2) / 2
  19.         y = rownanie(x)
  20.         y1 = rownanie(x1)
  21.         if (y.abs < 0.01) {
  22.           println(x)
  23.           break
  24.         }
  25.         if (y * y1 > 0)
  26.           x1 = x
  27.         else
  28.           x2 = x
  29.     }
  30.   }
  31. }
  32.   oblicz(-1.0,4.5)
  33. }
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42. -----------wynik-----------
  43. x1 -1.0 x2 4.5
  44. x1 -1.0 x2 1.75
  45. x1 -1.0 x2 0.375
  46. x1 -1.0 x2 -0.3125
  47. x1 -1.0 x2 -0.65625
  48. x1 -1.0 x2 -0.828125
  49. x1 -1.0 x2 -0.9140625
  50. x1 -1.0 x2 -0.95703125
  51. x1 -1.0 x2 -0.978515625
  52. x1 -1.0 x2 -0.9892578125
  53. x1 -1.0 x2 -0.99462890625
  54. x1 -1.0 x2 -0.997314453125
  55. x1 -1.0 x2 -0.9986572265625
  56. x1 -1.0 x2 -0.99932861328125
  57. x1 -1.0 x2 -0.999664306640625
  58. x1 -1.0 x2 -0.9998321533203125
  59. -0.9999160766601562
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement