Đề bài
Viết chương trình giải phương trình bậc 2 trong C#. Phương trình bậc 2 có dạng:
Lời giải
Lời giải của chúng tôi sử dụng phương thức Math.Sqrt() để tính căn bậc 2 của một số trong C#. Sử dụng phương thức Console.ReadLine() để đọc số thực từ bàn phím và gán cho biến a.
using System; namespace KienThucLapTrinhCsharp { class PTBac2 { /** * giai phuong trinh bac 2: ax2 + bx + c = 0 * * @param a: he so bac 2 * @param b: he so bac 1 * @param c: so hang tu do */ static void giaiPTBac2(float a, float b, float c) { // kiem tra cac he so if (a == 0) { if (b == 0) { Console.Write("Phuong trinh vo nghiem!"); } else { Console.Write("Phuong trinh co mot nghiem: x = {0}", (-c / b)); } return; } // tinh delta float delta = b * b - 4 * a * c; float x1; float x2; // tinh nghiem if (delta > 0) { x1 = (float)((-b + Math.Sqrt(delta)) / (2 * a)); x2 = (float)((-b - Math.Sqrt(delta)) / (2 * a)); Console.Write("Phuong trinh co 2 nghiem la: x1 = {0} va x2 = {1}", x1, x2); } else if (delta == 0) { x1 = (-b / (2 * a)); Console.Write("Phong trinh co nghiem kep: x1 = x2 = {0}", x1); } else { Console.Write("Phuong trinh vo nghiem!"); } } /** * Ham main */ static void Main(string[] args) { float a, b, c; Console.Write("Nhap he so bac 2, a = "); String valA = Console.ReadLine(); a = Convert.ToInt32(valA); Console.Write("Nhap he so bac 1, b = "); String valB = Console.ReadLine(); b = Convert.ToInt32(valB); Console.Write("Nhap he so bac 0, c = "); String valC = Console.ReadLine(); c = Convert.ToInt32(valC); giaiPTBac2(a, b, c); } } }
Kết quả:
Nhap he so bac 2, a = 2 Nhap he so bac 1, b = 3 Nhap he so bac 0, c = 1 Phuong trinh co 2 nghiem la: x1 = -0.5 va x2 = -1