Bài 02: Giải phương trình bậc hai một ẩn bằng PHP

DEMO

Trước tiên chúng ta tìm hiểu sơ lược về phương trình bậc hai và cách giải đã nhé.

# Cách giải phương trình bậc hai?

Phương trình bậc hai là phương trình có dạng ax2 + bx + c = 0, trong đó:

  • a # 0
  • a, b, c là các hằng số
  • x là ẩn số phải đi tìm

Để giải phương tình bậc hai thì ta thực hiện các bước như sau:

Bước 1: Tìm Delta

Bước 2: Nếu Delta

  • Delta < 0 => phương trình vô nghiệm
  • Delta = 0 => phương trình có nghiệp kép x1 = x2 = -b/2a
  • Delta > 0 => phương trình có hai nghiệm phân biệt, x1 = (-b + sqrt(Delta)) / (2a), x2 = (-b - sqrt(Delta)) / (2a)

Ok bây giờ ta thực hiện các bước giải này trong lập trình nhé.

# Tạo form HTML giải phương trình bậc hai

Bạn tạo file index.php và copy nội dung sau vào:

<!DOCTYPE html>
<html>
    <head>
        <title>Giải phương trình bậc hai</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <?php 
            $result = '';
            if (isset($_POST['calculate']))
            {
                
            }
        ?>
        <h1>Giải phương trình bậc hai</h1>
        <form method="post" action="">
            <input type="text" style="width: 20px" name="a" value=""/>x <sup>2</sup>
            +
            <input type="text" style="width: 20px" name="b" value=""/>x
            + 
            <input type="text" style="width: 20px" name="c" value=""/>
            = 0
            <br/><br/>
            <input type="submit" name="calculate" value="Tính" />
        </form>
        <?php echo $result; ?>
    </body>
</html>

Tương tự như bài trước, trong bài này mình cũng chia ra hai vị trí code PHP như hinh sau:

Chạy lên kết quả như hình sau:

Bây giờ ta code PHP giải phương trình.

# Giải phương trình bậc hai bằng PHP

Bạn thay đổi đoạn code PHP giải phương trình như sau:

$result = '';
if (isset($_POST['calculate']))
{
    // Bước 1: Lấy tham số
    $a = isset($_POST['a']) ? $_POST['a'] : '';
    $b = isset($_POST['b']) ? $_POST['b'] : '';
    $c = isset($_POST['c']) ? $_POST['c'] : '';

    // Bước 2: Validate và tính toán
    $delta = ($b*$b) - (4*$a*$c);

    if ($delta < 0){
        $result = 'Phương trình vô nghiệp';
    }
    else if ($delta == 0){
        $result = 'Phương trình nghiệp kép x1 = x2 = ' . (-$b/2*$a);
    }
    else {
        $result = 'Phương trình có hai nghiệp phân biệt, x1 = ' . ((-$b + sqrt($delta))/2*$a);
        $result .= ',x2 = ' . ((-$b - sqrt($delta))/2*$a);
    }
}

Bây giờ bạn chạy lên để xem thành quả nhé :)

# Lời kết

Ok vậy là chúng ta đã hoàn thành bài tập giải phương trình bậc hai một ẩn số bằng PHP, đây là bài tập cũng tương đối đơn giản nên mình nghĩ nó không khó đối với bạn. Nếu có vướng mắc gì thì hãy comment để chúng ta cùng xem lại bài toán nhé.

Tài liệu chỉ mang tính chất tham khảo, mình không cam kết các nội dung trên website, vì vậy không được sử dụng để in ấn hay kinh doanh.
Hãy để lại link bài viết gốc khi chia sẻ bài viết này, mình sẽ report DMCA với những website vi phạm nội dung bản quyền mà mình đã đưa ra.

Nguồn: freetuts.net

Profile photo of adminTheHalfHeart

TheHalfHeart

Có sở thích viết tuts nên đã từng tham gia viết ở một số diễn đàn, đến năm 2014 mới có điều kiện sáng lập ra freetuts.net. Sinh năm 90 và có 1 vợ 2 con, thích ca hát và lập trình.

ĐĂNG BÌNH LUẬN: Đăng câu hỏi trên Facebook để được hỗ trợ nhanh nhất.