İkinci dereceden bir denklemin köklerini bulmak için izlenecek algoritmaya bu adresten ulaşabilirsiniz. İkinci dereceden denklemin köklerini bulmak için diskriminant değerini bilmek gerekir. diskriminant değerinin sıfıra eşit, sıfırdan büyük ve sıfırdan küçük olması durumuna göre elde edilecek değerler değişmektedir.
şeklindeki 2. dereceden bir denklemin köklerini bulmak için gerekli olan algoritmayı ve akış diyagramını aşağıdadır.
Tanım:
denklemi ve a ≠ 0 olmak koşulu ile,
Bu tek bilinmeyenli ikinci derecede denklemin diskriminantı şöyle tanımlanmaktadır.
Diskriminant’ı bilmek bu ikinci dereceden tek bilinmeyenli denklemin çözümünü sağlar.
a) Δ > 0 yani Δ(delta) pozitif ise, denklemin farklı iki gerçel kökü vardır. x1 ve x2olarak ifade edilen bu iki kök şu formül kullanılarak bulunur.
b) Δ = 0 yani Δ sıfıra eşit ise, denklemin, değerleri birbirleriyle çakışan, yani birbirine eşit, iki gerçel kökü vardır.
c) Δ < 0 yani Δ negatif ise, denklemin gerçel kökü yoktur yani denklemin çözümü bulunamaz.
Java Kodu:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
import java.util.Scanner; public class JavaOrnekleri { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("(ax²+bx+c) ikinci dereceden bir denklemdir.\n Denklemdeki sabitleri aşağıdaki gibi sırayla girin"); System.out.print("a değerini giriniz :"); double a = sc.nextInt(); System.out.print("b değerini giriniz :"); double b = sc.nextInt(); System.out.print("c değerini giriniz :"); double c = sc.nextInt(); //diskriminant (delta) 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); } } } |
Çıktı: