Viết Chương Trình Giải Phương Trình Bậc 2 trong Pascal

Phương trình bậc 2 là một dạng toán cơ bản được học từ bậc phổ thông. Trong thời đại công nghệ số, việc sử dụng ngôn ngữ lập trình để giải quyết các bài toán toán học trở nên phổ biến. Bài viết này sẽ hướng dẫn bạn cách Viết Chương Trình Giải Phương Trình Bậc 2 Trong Pascal một cách chi tiết và dễ hiểu.

Hiểu Về Phương Trình Bậc 2

Trước khi bắt đầu viết chương trình, chúng ta cần nắm vững kiến thức cơ bản về phương trình bậc 2. Phương trình bậc 2 có dạng tổng quát là: ax² + bx + c = 0, trong đó a, b, c là các hệ số và a ≠ 0.

Để giải phương trình bậc 2, ta sử dụng công thức tính delta: Δ = b² – 4ac.

Dựa vào giá trị của delta, ta có thể xác định số nghiệm của phương trình:

  • Δ < 0: Phương trình vô nghiệm.
  • Δ = 0: Phương trình có nghiệm kép x₁ = x₂ = -b/(2a).
  • Δ > 0: Phương trình có hai nghiệm phân biệt:
    • x₁ = (-b + √Δ) / (2a)
    • x₂ = (-b – √Δ) / (2a)

Các Bước Viết Chương Trình Giải Phương Trình Bậc 2 trong Pascal

Để viết chương trình giải phương trình bậc 2 trong Pascal, ta có thể thực hiện theo các bước sau:

Bước 1: Khai báo thư viện và biến:

Program GiaiPTBac2;
Uses crt;
Var a, b, c, delta: real;
    x1, x2: real;

Trong đó:

  • Program GiaiPTBac2;: khai báo tên chương trình là GiaiPTBac2.
  • Uses crt;: khai báo sử dụng thư viện crt cho phép sử dụng các lệnh như clrscr (xóa màn hình), readln (nhập dữ liệu), writeln (xuất dữ liệu).
  • Var a, b, c, delta: real;: khai báo biến a, b, c là các hệ số của phương trình và biến delta để lưu giá trị delta, kiểu dữ liệu real cho phép lưu trữ số thực.
  • x1, x2: real;: khai báo biến x1, x2 để lưu trữ nghiệm của phương trình, kiểu dữ liệu real.

Bước 2: Nhập dữ liệu:

Begin
    Clrscr;
    Write('Nhap he so a: '); Readln(a);
    Write('Nhap he so b: '); Readln(b);
    Write('Nhap he so c: '); Readln(c);

Đoạn mã này sẽ hiển thị dòng chữ “Nhap he so a: ” ra màn hình và chờ người dùng nhập giá trị cho biến a. Tương tự cho biến bc.

Bước 3: Xử lý:

    If a = 0 then
        Begin
            Writeln('Khong phai phuong trinh bac 2');
        End
    Else
        Begin
            delta := b*b - 4*a*c;
            If delta < 0 then
                Begin
                    Writeln('Phuong trinh vo nghiem');
                End
            Else if delta = 0 then
                Begin
                    x1 := -b/(2*a);
                    Writeln('Phuong trinh co nghiem kep x1 = x2 = ', x1:0:2);
                End
            Else
                Begin
                    x1 := (-b + sqrt(delta))/(2*a);
                    x2 := (-b - sqrt(delta))/(2*a);
                    Writeln('Phuong trinh co 2 nghiem phan biet:');
                    Writeln('x1 = ', x1:0:2);
                    Writeln('x2 = ', x2:0:2);
                End;
        End;

Trong phần này, chương trình sẽ kiểm tra điều kiện của hệ số a và delta để đưa ra kết quả tương ứng:

  • If a = 0 then: Kiểm tra xem phương trình có phải là phương trình bậc 2 hay không. Nếu a = 0, in ra màn hình thông báo “Khong phai phuong trinh bac 2”.
  • Else: Nếu a ≠ 0, chương trình sẽ tính giá trị delta và kiểm tra:
    • If delta < 0 then: In ra màn hình thông báo “Phuong trinh vo nghiem”.
    • Else if delta = 0 then: Tính nghiệm kép x1 và in ra màn hình.
    • Else: Tính hai nghiệm phân biệt x1, x2 và in ra màn hình.

Bước 4: Kết thúc chương trình:

    Readln;
End.

Lệnh Readln; giữ cho màn hình kết quả hiển thị cho đến khi người dùng nhấn phím Enter. Cuối cùng, End. kết thúc chương trình.

Ví dụ Minh Họa

Giả sử ta cần giải phương trình bậc 2: x² – 3x + 2 = 0

Ta có a = 1, b = -3, c = 2.

Chạy chương trình với input là các giá trị a, b, c. Chương trình sẽ in ra màn hình kết quả:

Phuong trinh co 2 nghiem phan biet:
x1 = 2.00
x2 = 1.00

Kết Luận

Viết chương trình giải phương trình bậc 2 trong Pascal khá đơn giản. Hy vọng bài viết này đã giúp bạn hiểu rõ hơn về cách viết chương trình và có thể tự tin giải quyết các bài toán toán học bằng ngôn ngữ lập trình.

Để tìm hiểu thêm về các bài toán khác như giải phương trình có tham số m, bạn có thể tham khảo các tài liệu lập trình Pascal.