28 Kasım 2015 Cumartesi

Java İkinci Derece Denklemin Kökünü Bulma

    Bu yazımızda ikinci derece denklemlerin kökünü bulan program yazacağız.
    Matematikten de bildiğiniz gibi ikinici derece denklemler ax2 + bx + c şeklinde yazılır.Bu denklemi diskriminant yardımı ile çözeceğiz. Diskriminant formülümüz b2 - 4ac idi.

    Diskriminantımız sıfırdan büyük ise denklemin iki gerçek kökü vardır.
    Diskriminantımız sıfırdan küçük  ise gerçek kök yoktur, karmaşık kök vardır.
    Diskriminantımız sıfıra eşit ise tek bir gerçek kök denir, kimi zaman buna daburut da denir.

    Eğer tek gerçek kök var ise kökümüz = -b / 2a ya eşittir.
    Eğer gerçek kök yok karmaşık kök var ise köklerimiz = -b (+ veya - ) (kök içinde diskriminant) / 2a dır.

    Matematiksel olarak formullerimizi oluşturduk artık bunu koda dökmek kaldı.
 
  Scanner sc = new Scanner(System.in);

  System.out.println("(ax²+bx+c) olmak üzere a, b ve c sıralanacak şekilde sayıları ekrana giriniz.");
  System.out.println("a sayısını giriniz.");
  double a = sc.nextInt();

  System.out.println("b sayısını giriniz.");
  double b = sc.nextInt();

  System.out.println("c sayısını giriniz.");
  double c = sc.nextInt();

  double delta = (b * b) - (4 * a * c);

  if (delta > 0) {
   double x1 = ((-1 * b) - Math.sqrt(delta)) / (2 * a);
   double x2 = ((-1 * b) + Math.sqrt(delta)) / (2 * a);
   System.out.println("x1=  " + x1 + "  x2=  " + x2);
  }

  if (delta < 0) {
   System.out.println("Denklemin Gerçel Kökü Yoktur.");
  }

  if (delta == 0) {
   double x = (-1 * b) / (2 * a);
   System.out.println("Çakışık kökü var x1= x2=  " + x);
  }

Kodlara ulaşmak için github adresine gidin