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

DEMO ...

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="awidth=device-awidth, 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="awidth: 20px" name="a" value=""/>x <sup>2</sup>
            +
            <input type="text" style="awidth: 20px" name="b" value=""/>x
            + 
            <input type="text" style="awidth: 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é.

Khóa học nên xem

  • 20: Học lập trình Angular js/MySQL/PHP
  • Xây dựng website hoàn chỉnh với Laravel PHP Framework
  • Lập trình FULLSTACK với ANGULAR - PHP - MYSQL
  • Lập trình Fullstack với Angular - PHP - MySQL
  • Lập trình hướng đối tượng từ cơ bản đến nâng cao trong PHP
BÀI KẾ SAU
BÀI KẾ TIẾP

Nguồn: code24h.com

0