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



Bài tập C#: Giải phương trình bậc hai

Giải phương trình bậc hai là bài tập khá quen thuộc khi bạn mới học lập trình. Đây là một trong các bài toán điển hình về các lệnh rẽ nhánh trong C, đó là các lệnh IF-ELSE. Tương ứng với mỗi trường hợp, bạn sẽ có một nhánh khác nhau.

Chương trình C#

Dưới đây là chương trình C# để giải bài tập giải phương trình bậc hai trong C#. Mình khai báo ba hệ số a, b, c là số nguyên cho đơn giản, tuy nhiên để mang tính tổng quát hơn bạn cũng có thể sử dụng kiểu dữ liệu float cùng với phương thức Convert.ToSingle().

using System;namespace VietJackCsharp
{
    class TestCsharp
    {
        public static void Main()
        {            int a, b, c;            double d, x1, x2;
            Console.Write("\n");
            Console.Write("Giai phuong trinh bac hai trong C#:\n");
            Console.Write("----------------------------------------");
            Console.Write("\n\n");            Console.Write("Nhap gia tri cua a: ");
            a = Convert.ToInt32(Console.ReadLine());
            Console.Write("\nNhap gia tri cua b: ");
            b = Convert.ToInt32(Console.ReadLine());
            Console.Write("\nNhap gia tri cua c: ");
            c = Convert.ToInt32(Console.ReadLine());            d = b * b - 4 * a * c;
            if (d == 0)
            {
                Console.Write("Phuong trinh co mot nghiem duy nhat.\n");
                x1 = -b / (2.0 * a);
                x2 = x1;
                Console.Write("Nghiem duy nhat cua phuong trinh la = {0}\n", x1);
            }
            else if (d > 0)
            {
                Console.Write("Phuong trinh co hai nghiem thuc phan biet\n");                x1 = (-b + Math.Sqrt(d)) / (2 * a);
                x2 = (-b - Math.Sqrt(d)) / (2 * a);                Console.Write("Nghiem thu nhat: x1 = {0}\n", x1);
                Console.Write("Nghiem thu nhat: x2 = {0}\n", x2);
            }
            else
                Console.Write("Phuong trinh vo nghiem (hay khong co nghiem thuc nao)\n\n");               Console.ReadKey();
        } 
    }
}

Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn.

Kết quả chương trình C#

Biên dịch và chạy chương trình C# trên sẽ cho kết quả:

Giải phương trình bậc hai trong C#
bai-tap-lenh-if-else-switch-trong-csharp.jsp