Bài 18. Giải Phương Trình Bậc Hai Với Chương Trình Java | Tự Học Java Căn Bản

Published on
Thuộc danh mục: Học Java Căn Bản|Đăng bởi: Lê Thanh Giang||5 min read
Facebook share iconLinkedIn share iconTwitter share iconPinterest share iconTumblr share icon
Bài 18. Giải Phương Trình Bậc Hai Bằng Chương Trình Java | Tự Học Java Căn Bản

Phương Trình Bậc Hai Là Gì?

Phương trình bậc hai là một trong những dạng phương trình toán học cơ bản mà bạn thường gặp. Với phương trình có dạng:

ax^2 + bx + c = 0

Trong đó, a, b, và c là các hằng số, và x là ẩn số. Mục tiêu là tìm giá trị của x thỏa mãn phương trình này.

Khi giải phương trình bậc hai, ta sử dụng công thức nghiệm của phương trình bậc hai:

x = (-b ± √(b^2 - 4ac)) / 2a

Trong đó:

  • b^2 - 4ac gọi là delta, hay còn gọi là biệt thức của phương trình bậc hai.
  • Dựa vào giá trị của delta, ta sẽ xác định số nghiệm của phương trình.

Các Trường Hợp Của Phương Trình Bậc Hai

  1. Nếu delta > 0: Phương trình có hai nghiệm phân biệt.
  2. Nếu delta = 0: Phương trình có một nghiệm kép.
  3. Nếu delta < 0: Phương trình vô nghiệm trong tập hợp số thực.

Viết Chương Trình Giải Phương Trình Bậc Hai Với Java

Trong bài học này, chúng ta sẽ viết một chương trình Java để giải phương trình bậc hai. Chương trình này sẽ yêu cầu người dùng nhập vào các giá trị của a, b, và c, sau đó tính toán và hiển thị nghiệm (nếu có). Cụ thể các bước là:

  • Bước 1: Khai Báo Biến và Nhập Dữ Liệu: Chúng ta sẽ cần ba biến a, b, và c để lưu trữ các hệ số của phương trình. Đồng thời, cần một biến để lưu trữ giá trị delta (biệt thức).
  • Bước 2: Tính Toán delta và Nghiệm: Sử dụng công thức trên để tính toán giá trị delta. Sau đó, dựa vào giá trị của delta, ta xác định số nghiệm và tính toán nghiệm của phương trình.
  • Bước 3: Hiển Thị Kết Quả: Sau khi tính toán, chúng ta sẽ in kết quả ra màn hình, hiển thị nghiệm của phương trình.

Từ các bước trên, ta tiến hành viết code cho chương trình như sau:

import java.util.Scanner;

public class GiaiPhuongTrinhBacHai {

    public static void main(String[] args) {
        // Khởi tạo đối tượng Scanner để nhận đầu vào từ người dùng
        Scanner scanner = new Scanner(System.in);

        // Nhập các hệ số của phương trình bậc hai
        System.out.print("Nhập hệ số a: ");
        double a = scanner.nextDouble();

        System.out.print("Nhập hệ số b: ");
        double b = scanner.nextDouble();

        System.out.print("Nhập hệ số c: ");
        double c = scanner.nextDouble();

        // Tính toán delta
        double delta = b * b - 4 * a * c;

        // Xử lý các trường hợp dựa trên giá trị của delta
        if (a == 0) {
            System.out.println("Đây không phải là phương trình bậc hai.");
        } else if (delta > 0) {
            // Nếu delta > 0, phương trình có hai nghiệm phân biệt
            double x1 = (-b + Math.sqrt(delta)) / (2 * a);
            double x2 = (-b - Math.sqrt(delta)) / (2 * a);
            System.out.println("Phương trình có hai nghiệm phân biệt:");
            System.out.println("Nghiệm x1 = " + x1);
            System.out.println("Nghiệm x2 = " + x2);
        } else if (delta == 0) {
            // Nếu delta = 0, phương trình có một nghiệm kép
            double x = -b / (2 * a);
            System.out.println("Phương trình có một nghiệm kép: x = " + x);
        } else {
            // Nếu delta < 0, phương trình vô nghiệm trong tập hợp số thực
            System.out.println("Phương trình vô nghiệm trong tập hợp số thực.");
        }

        // Đóng đối tượng scanner
        scanner.close();
    }
}

Giải Thích Code

  1. Nhập dữ liệu: Chúng ta sử dụng Scanner để nhận đầu vào từ người dùng cho các hệ số a, b, và c.
  2. Tính toán delta: Biến delta được tính bằng công thức b^2 - 4ac.
  3. Xử lý các trường hợp:
    • Nếu a = 0, phương trình không phải là phương trình bậc hai.
    • Nếu delta > 0, chương trình tính hai nghiệm phân biệt.
    • Nếu delta = 0, chương trình tính nghiệm kép.
    • Nếu delta < 0, chương trình thông báo phương trình vô nghiệm.

Chạy Chương Trình Và Kiểm Tra Kết Quả

Ví dụ 1: Phương Trình Có Hai Nghiệm Phân Biệt

Nhập vào:

  • a = 1
  • b = -5
  • c = 6

Chương trình sẽ tính được delta = 1 và in ra:

Phương trình có hai nghiệm phân biệt:
Nghiệm x1 = 3.0
Nghiệm x2 = 2.0

Ví dụ 2: Phương Trình Có Nghiệm Kép

Nhập vào:

  • a = 1
  • b = -4
  • c = 4

Chương trình sẽ tính được delta = 0 và in ra:

Phương trình có một nghiệm kép: x = 2.0

Ví dụ 3: Phương Trình Vô Nghiệm

Nhập vào:

  • a = 1
  • b = 2
  • c = 5

Chương trình sẽ tính được delta = -16 và in ra:

Phương trình vô nghiệm trong tập hợp số thực.

Kết Luận

Giải phương trình bậc hai trong Java là một bài tập cơ bản nhưng quan trọng, giúp bạn hiểu rõ hơn về cách sử dụng cấu trúc điều kiện (if-else) và công thức toán học trong lập trình. Chương trình trên không chỉ giải quyết bài toán toán học mà còn rèn luyện kỹ năng lập trình Java căn bản.

Nếu bạn muốn thử nghiệm thêm, có thể mở rộng chương trình này để hỗ trợ giải phương trình bậc hai với các hệ số nhập từ file, hoặc thêm giao diện đồ họa người dùng (GUI) để làm cho chương trình thân thiện hơn với người dùng.

Bài tiếp theo: Bài 19. Câu lệnh switch ... case trong Java

Bài viết mới nhất

Bài viết liên quan

Newsletter border

Đăng ký để nhận tin từ RiverLee