BÀI TẬP C#
Hoán đổi hai biến trong C# Dãy số Fibonacci trong C# Kiểm tra số nguyên tố trong C# Kiểm tra số đối xứng trong C# Đảo ngược một số trong C# Kiểm tra số Armstrong trong C# Tính giai thừa của một số C# Tổng các chữ số của một số C# Đổi thập phân sang nhị phân C# Đổi nhị phân sang thập phân C# Đếm số lần xuất hiện ký tự C# Xóa ký tự trùng lặp trong C# Tìm các chuỗi con trong C# Xóa phần tử trùng khỏi mảng C# Tính chu vi / diện tích hình chữ nhật Tính chu vi / diện tích hình tròn C# Tính chu vi / diện tích hình tam giác Đếm số chữ số của một số C# Tính tổng các số chẵn từ 1 đến N Tính tổng các số lẻ từ 1 đến N In ra hình tam giác ký tự * C# Sắp xếp nổi bọt trong C# Sắp xếp trộn trong C# Cách cộng hai số trong C# Kiểm tra số chẵn hay số lẻ C# Cách kiểm tra năm nhuận trong C# Tìm phần nguyên và phần dư C# Cách xóa khoảng trắng trong C# Cách viết hoa ký tự đầu tiên trong C# Cách chuyển chữ thường thành chữ in hoa và ngược lại trong C# Cách tính trung bình cộng các phần tử trong mảng C# Cách đảo ngược các phần tử trong mảng C# Cách kiểm tra số hoàn hảo trong C# Cách kiểm tra số chính phương trong C# Cách tìm bội chung nhỏ nhất trong C# Cách tìm ước số của một số nguyên trong C# Cách làm tròn số trong C# Cách tính căn bậc hai trong C# Tạo các số ngẫu nhiên trong C# Cách tìm số nhỏ nhất và lớn nhất trong C# Cách kiểm tra sự tồn tại của giá trị x trong mảng C# Cách tìm số lớn nhất trong mảng C# Cách chuyển đổi giờ phút giây trong C# Cách nối hai mảng trong C# Giải phương trình bậc nhất ax + b = 0 trong C# Hướng dẫn giải phương trình bậc hai trong C#
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT
Thông báo trang web đã đổi chủ: Chúng tôi sẽ sàn lọc nội dung, loại bỏ các bài viết vi phạm.

Hướng dẫn giải phương trình bậc hai trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn cách giải phương trình bậc hai trong C#. Đây là bài tập thường gặp khi học bất kì ngôn ngữ lập trình nào, bởi nó giúp các bạn rèn luyện tư duy logic và áp dụng các kiến thức căn bản trong lập trình.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Như chung ta đã được học ở toán cơ sở, phương trình bậc hai có dạng như sau:

ax2 + bx + c = 0, trong đó a, b, c là các tham số đã biết và x là nghiệm của phương trình.

Bây giờ chúng ta sẽ bắt đầu biết chương trình để giải phương trình bậc hai có dạng như trên, bắt đầu thôi nào !!!!

Giải phương trình bậc hai trong C#

Hướng dẫn:

Bài viết này được đăng tại [free tuts .net]

Bước 1: Để giải được phương trình bậc hai, đầu tiên chúng ta cần biết được các tham số a, b, c. Ta có thể tự gán sẵn hoặc yêu cầu người dùng nhập giá trị cho các tham số này.

  • Nếu a = 0 thì phương trình trở về phương trình bậc nhất, khi đó ta sẽ giải phương trình dưới dạng bậc nhất bx + c = 0.
  • Nếu a != 0 thì ta tiếp tục thực hiện bước 2.

Bước 2: Tính Delta theo công thức:

Delta = b2 - 4ac, trong đó a, b, c là các tham số đã biết

Bước 3: Xét điều kiện cho Delta.

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

Ví dụ: Dưới dây là chương trình giải phương trình bậc hai mà mình đã viết sẵn, trong đó có giải thích chi tiết, các bạn có thể tham khảo nhé.

using System;

namespace BaiTapCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            //khai báo hai biến a, b vầ c là va tham số mà người dùng nhập vào
            int a, b, c;
            //khai báo biến x1, x2 là nghiệm của phương trình và biến delta
            double x1, x2, delta;
            //yêu cầu người dùng nhập vào ba số a, b, c
            Console.Write("\n Nhap vao so a: ");
            a = Convert.ToInt32(Console.ReadLine());
            Console.Write("\n Nhap vao so b: ");
            b = Convert.ToInt32(Console.ReadLine());
            Console.Write("\n Nhap vao so c: ");
            c = Convert.ToInt32(Console.ReadLine());
            //hiển thị phương trình bậc hai mà người dùng vừa nhập dưới dạng ax^2 + bx + c = 0
            Console.WriteLine("\n Chuong trinh ban vua nhap la {0}x^2 + {1}x + {2} = 0.", a, b, c);
            //nếu a = 0 thì phương trình bậc hai trở thành phương trình bậc nhất
            if (a == 0)
            {
                //ta giải phương trình bậc nhất bx + c = 0
                if (b == 0)
                {
                    //nếu b = 0 và c = 0 thì phương trình vô số nghiệm
                    if (c == 0)
                    {
                        Console.WriteLine("\n Phuong trinh co vo so nghiem.");
                    }
                    //nếu b = 0 và c != 0 thì phương trình vô nghiệm
                    else
                    {
                        Console.WriteLine("\n Phuong trinh vo nghiem.");
                    }
                }
                else
                {
                    x1 = (double)-c / b;
                    //Sử dụng phương thứ Math.Round() để làm tròn kết quả lên 2 số thập phân
                    Console.WriteLine("\n Phuong trinh co nghiem duy nhat x = {0}", Math.Round(x1, 2));
                }
            }
            //nếu a != 0 thì ta bắt đầu giải phương trình bậc hai
            else
            {
                //tính delta
                delta = Math.Pow(b, 2) - 4 * a * c;
                //kiểm tra nếu delta < 0 thì phương trình vô nghiệm
                if (delta < 0)
                {
                    Console.WriteLine("\n Phuong trinh vo nghiem.");
                }
                //nếu delta = 0 thì phương trình có hai nghiệm kép
                else if (delta == 0)
                {
                    x1 = x2 = -b / (2 * a);
                    Console.WriteLine("\n Phuong trinh co nghiem kep x1 = x2 = {0}", x1);
                }
                //nếu delta > 0 thì phuong trình có hai nghiệm phân biệt
                else
                {
                    x1 = (-b + Math.Sqrt(delta)) / (2 * a);
                    x2 = (-b - Math.Sqrt(delta)) / (2 * a);
                    Console.WriteLine("\n Phuong trinh hai nghiem phan biet:\n X1 = {0}\n X2 = {1}", x1, x2);
                }
            }
            
            Console.WriteLine("\n\n-----Chuong trinh nay duoc dang tai Freetuts.net---");
        }
    }
}

Kết quả 1: Phương trình có hai nghiệm phân biệt

bai46 01 png

Kết quả 2: Phương trình có hai nghiệm kép

bai46 02 png

Kết quả 3: Phương trình vô nghiệm

bai46 03 png

Kết quả 4: Phương trình có nghiệm duy nhất

bai46 04 png

Như vậy là chúng ta đã thực hiện xong chương trình giải phương trình bậc hai trong C#. Đây là dạng bài tập cơ bản giúp các bạn làm quen với ngôn ngữ lập trình C#, vì vậy hãy luyện tập thật nhiều nhé. Chúc các bạn thành công !!!

Cùng chuyên mục:

Adapter Design Pattern trong C# - Cách triển khai và ví dụ

Adapter Design Pattern trong C# - Cách triển khai và ví dụ

Singleton Design Pattern trong C# - Cách triển khai và ví dụ

Singleton Design Pattern trong C# - Cách triển khai và ví dụ

Prototype Design Pattern trong C# - Cách triển khai và ví dụ

Prototype Design Pattern trong C# - Cách triển khai và ví dụ

Builder Design Pattern trong C# - Cách triển khai và ví dụ

Builder Design Pattern trong C# - Cách triển khai và ví dụ

Tự viết ứng dụng quản lý xe ra vào C# Winforms và Firebase

Tự viết ứng dụng quản lý xe ra vào C# Winforms và Firebase

Trong bài viết này Freetuts chia sẽ cho các bạn một ứng dụng khá thú…

Factory Design Pattern trong C# - Cách triển khai và ví dụ

Factory Design Pattern trong C# - Cách triển khai và ví dụ

Chúng ta sẽ tìm hiểu về Factory Design Pattern trong C# là gì? Cách triển…

Giải phương trình bậc nhất ax + b = 0 trong C#

Giải phương trình bậc nhất ax + b = 0 trong C#

Cách nối hai mảng trong C# bằng hai cách khác nhau

Cách nối hai mảng trong C# bằng hai cách khác nhau

Hướng dẫn chuyển đổi giờ phút giây trong C#

Hướng dẫn chuyển đổi giờ phút giây trong C#

Cách tìm số lớn nhất trong mảng C# cực dễ

Cách tìm số lớn nhất trong mảng C# cực dễ

Trong bài viết này mình sẽ hướng dẫn các bạn cách ..

Cách kiểm tra sự tồn tại của giá trị x trong mảng C#

Cách kiểm tra sự tồn tại của giá trị x trong mảng C#

Mình sẽ thực hiện một chương trình kiểm tra giá x có tồn ...

Cách tìm số nhỏ nhất và lớn nhất trong C#

Cách tìm số nhỏ nhất và lớn nhất trong C#

Mình sẽ thực hiện hai chương trình để tìm số nhỏ nhất và số lớn…

Cách tạo các số ngẫu nhiên (Random) trong C#

Cách tạo các số ngẫu nhiên (Random) trong C#

Cách tính căn bậc hai trong C# cực dễ

Cách tính căn bậc hai trong C# cực dễ

Trong bài viết này mình sẽ hướng dẫn các bạn cách tính căn bậc hai…

Cách làm tròn số trong C# bằng hàm Math.Round

Cách làm tròn số trong C# bằng hàm Math.Round

Mình sẽ thực hiện làm tròn số theo nhiều cách khác nhau để các bạn…

Cách tìm ước số của một số nguyên trong C#

Cách tìm ước số của một số nguyên trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn cách tìm ...

Cách tìm bội chung nhỏ nhất trong C#

Cách tìm bội chung nhỏ nhất trong C#

Cách kiểm tra số chính phương trong C#

Cách kiểm tra số chính phương trong C#

Trước đi vào viết chương trình, các bạn cùng ...

Cách kiểm tra số hoàn hảo trong C#

Cách kiểm tra số hoàn hảo trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn cách kiểm ...

Cách đảo ngược các phần tử trong mảng C#

Cách đảo ngược các phần tử trong mảng C#

Mình sẽ thực hiện một chương trình nhận các giá trị của các phần ...

Top